Interface Developer

June 29, 2022

Salary Schedule



  • Bachelor’s degree in Computer Science, Engineering, Mathematics, or a related field.
  • Experience in professional software development with at least one modern language (e.g. JavaScript/TypeScript, Java, Go) and associated framework (e.g. NodeJS, React).
  • An understanding of design for scalability, performance and reliability.
  • Experience contributing to the architecture and design of new and existing systems.
  • Ability to communicate clearly with peers and technical/non-technical stakeholders.
  • Knowledge of application security principles and how they impact the development and deployment of applications.
  • Proficiency in the design and analysis of algorithms, data structures and asynchronous design patterns.
  • Proficiency in modern agile software development practices and tools (e.g. Atlassian Stack, Git).
  • A demonstratable passion for software engineering.

Knowledge, Skills and Abilities

  • Work backwards from customer needs to produce straightforward solutions that deliver business outcomes.
  • Work with the development team to design, develop, test, deploy and support extensible software solutions that are simple, reliable, secure, scalable.
  • Write robust, high-quality code, delivered in small iterations that’s easily maintainable.
  • Communicate clearly, both written and verbally, within the team and external groups.
  • Support knowledge-sharing within the team.
  • Drive and implement best practices in modern software engineering.

Reports To:

Chief Technology Officer



Performance Responsibilities

  • Develops software solutions by studying information needs, conferring with users and teammates, studying systems flow, data usage, and work processes; investigating problem areas; and following the software development lifecycle.
  • Determines operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions.
  • Maintain and extend current code to add product functionality
  • Helps to develop and implement technical architecture to support long term product needs
  • Communicates with clients about the business processes of their projects and can transform business processes into programming code
  • Comprehends the full scope of a project and make the best suggestions and methods to develop, test, implement, and maintain a project
  • Independently solves various problems and rectify complicated problems through the application of design patterns
  • Creates, writes and executes complicated tests against code base
  • Propose several different ways of implementing solutions with their pros and cons, so the management team can revise the options and pick the one that closely corresponds to the needs of the project.
  • Provides project estimates to management for planning purposes and understands how these impact decisions that are made
  • Effectively prioritizes individual work with an understanding of how this impacts the larger project and team
  • Prepares processes and frameworks that allow the team to scale
  • Follows and helps maintain an effective SDLC process
  • Updates job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment, and by participating in educational opportunities, reading professional publications, maintaining personal networks, and participating in professional organizations

Physical Requirements


Terms of Employment

See Compensation Letter.


Performance of this job will be evaluated in accordance with provisions of Future Energy’s policy on evaluation of personnel.