Senior Developer

Role Overview

Our senior developers design, develop, test, and maintain high-quality software to meet business and customer needs. They will be expected to work on development initiatives that include:

  • Developing features and capabilities for end users, either external customers or internal employees.
  • Developing platforms such as data engineering, developer tooling, or machine learning.
  • Configuring and customizing vendor-provided packaged software.

Key Responsibilities

  • Write high-quality code that satisfies customer needs and strives for simplicity, clarity, and testability.
  • Promote a collaborative team environment and work closely with colleagues to achieve business objectives.
  • Collaborate with stakeholders (e.g. business stakeholders, product owners, project managers, and end users) to understand functional and non-functional requirements.
  • Investigate and propose solutions to development and design problems.
  • Participate in scope of work estimation and forecasting.
  • Adhere to architecture, design, implementation, and security standards and best practices.
  • Participate in code reviews or use collaborative programming techniques to promote high quality business outcomes.
  • Conduct analysis to determine integration needs, and design and plan integrations.
  • Implement unit and integration tests and conduct functional and performance testing where appropriate.
  • Develop reusable software building blocks to enable faster delivery.
  • Improve performance of existing software by diagnosing and resolving critical issues.
  • Prepare technical documentation, including software design evaluation plans, test results, and technical manuals.
  • Adhere to established development practices and processes.
  • Analyze and create new configuration for packaged software.
  • Review new releases of packaged software and identify new features that can be enabled for the business.
  • Coach and mentor junior software engineers.

Skills and Experience

  • Strong proficiency in Python with additional preference for candidates comfortable with C/C++, Go, PHP).
  • Experience with development platforms Git(Hub), Docker, OpenAPI, and Linux primarily.
  • Understanding of software development lifecycles.
  • Strong ability to understand context for code, the codebase, and its relation to business objectives.
  • Ability to work both independently and on a team.
  • Demonstrated ability to communicate complex technical information in a condensed manner to various stakeholders verbally and in writing.
  • Excellent problem solving and analytical skills.
  • Growth mindset and a willingness to learn new skills, technologies, and frameworks.

Where applicable:

  • Experience with agile development methodologies.
  • Experience with relational databases (e.g. MySQL).
  • Experience developing for multiple operating systems.
  • Experience in building APIs for both internal and external products.
  • Working knowledge of DevOps and CI/CD principles and practices.

Qualifications

  • Bachelor’s degree (or equivalent applied experience).
  • 8+ Years of experience as a software engineer
  • Background preferably in Cybersecurity software development
  • Leadership experience and ability to direct team workflows.

If you’re interested in fulfilling this role and working with the InQuest team, please apply here: