The Software Developer is responsible for writing software according to design specifications, and leading development efforts with junior developers. They are also responsible for designing and coding features, automated tests, and scripts and will also design data models, database scripts and database migrations. This position will create continuous integration builds, and deployment pipelines as well as support production deployments, being on-call to handle unexpected release issues, potentially outside traditional business hours. The Software Developer will recommend technical solutions for business problems, contributing to system and service design. This position will present and contribute solutions to technical leadership. As the software developer you will work closely and learn from other developers, business and systems analysts, and build enterprise class software.
• Perform all responsibilities in accordance with BECU Competencies, compliance regulatory and Information Protection requirements.
• Develop prototypes, proofs of concept, and solutions by combining technical expertise with a solid understanding of basic software design concepts throughout the software development lifecycle.
• Determine best solution given requirements for software.
• Responsible for system analysis, coding, testing, debugging, and documentation.
• Responsible for identifying areas of improvement in existing code and implementing those improvements.
• Review and approve code written by junior developers, for style, consistency, and adherence to BECU standards. Collaborates with senior staff, providing expertise / input to those standards.
• Able to self-direct to automate and improve business processes and interactions with limited guidance.
• Participates in discussions with Architects and technical leaders to help define the team’s technology roadmap and vision.
• Perform additional duties as assigned.
• Bachelor’s degree in Computer Science or related discipline required, or equivalent work experience.
• Minimum two years of experience designing software and writing production code in a team environment required.
• Experience delivering highly scalable solutions in multiple programming languages and technical environments required.
• Experience with SOLID design principles, Object-Oriented Programming and Design, demonstrated through regular communication, usage, and presentation required.
• Experience with Continuous Integration and Continuous Delivery systems and tools such as Azure DevOps Services, GitHub Actions, Jenkins, or Teamcity required. Proficiency at building build / deployment pipelines in YAML preferred.
• Expertise in Test Driven Development concepts, methods, and tools. Demonstrated experience in unit testing required.
• Experience using git, including performing code reviews, pull requests, and following branching standards such as Git Flow or Trunk-Based Development required.
• Understanding of relational and non-relational data modeling and data analysis required.
• Experience remaining current with technologies utilized through work or continuing industry or education required.
• Experience using static code analysis tools to explain and correct secure coding flaws preferred.
• Proficient verbal and written skills to effectively communicate.
BECU is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, veteran status, disability, sexual orientation, gender identity, or any other protected status