Intermediate Backend Software Development Engineer (C/Java)
Wex
About the Team/Role:
Are you a technical artisan who thrives in collaborative environments and gets excited about solving the right problems, the right way? Do you believe in breaking down silos and fostering a culture of shared responsibility? Then this role is for you!
In today's software development landscape, collaboration, E2E accountability, problem solving and streamlined workflows are key to achieving efficiency and delivering high-quality solutions that solve customer problems and generate business outcomes. We believe in the power of integrated engineering, where development, quality, and agility skills blend together throughout the solution delivery pipeline. In this role, you'll be a champion for this approach, fostering a culture of shared ownership and breaking down silos to ensure a smooth and efficient flow of innovation to customers.
How you’ll make an impact:
Collaborate with stakeholders throughout the SDLC to translate requirements into high-quality, reliable, cost-effective, and maintainable solutions that solve customer problems and generate business outcomes.
Design, develop, and implement high quality software components with a focus on Continuous Delivery principles and practices.
Champion integrated engineering practices within the organization, fostering collaboration and shared ownership between development, operations, and security teams.
Deliver technical and administrative support for live applications, promoting automation and proactive monitoring and self-recoverability, rapid incident response, and continuous improvement.
Analyze existing systems and processes to identify bottlenecks and opportunities for improvements to flow.
Own the configuration management of software items and their dependencies, utilizing Infrastructure as Code (IaC) tools.
Collaborate on developing and implementing a measurement strategy for tracking key performance indicators (KPIs) related to software delivery and performance.
Core Skills:
Programming/Software Development [SFIA 8 Code: PROG]: This skill remains the foundation. Proficiency in programming languages and development methodologies is essential for designing, developing, and implementing software components in an integrated engineering environment. A strong focus on continuous delivery practices is crucial.
Testing [SFIA 8 Code: TEST]: Quality assurance is paramount. The ability to design, execute, and analyze various types of tests to ensure deployments meet established acceptance criteria remains essential.
Requirements Management [SFIA 8 Code: REQM]: Understanding requirements throughout the software delivery lifecycle is critical. This ensures alignment with business needs, avoids rework, and fosters collaboration with stakeholders.
Software Design [SFIA 8 Code: SWDN]: While automation might play a larger role in integrated engineering, a combined understanding of software development practices and design principles is still valuable. This ensures creating maintainable, scalable, and secure applications.
Measurement [SFIA 8 Code: MEAS]: Data-driven decision making is crucial. The ability to define and establish measurement frameworks, along with KPIs related to software delivery and performance, helps identify areas for improvement.
Additional Valuable Skills:
Configuration Management [SFIA 8 Code: CFMG]: Managing configurations with IaC tools is essential for consistent and repeatable deployments. However, the specific emphasis on configuration management might be slightly lower since integrated engineering often emphasizes infrastructure automation.
Application Support [SFIA 8 Code: ASUP]: While IT Service Support (SERV) covers some aspects of application support, this skill can be relevant if the role has a stronger focus on troubleshooting and supporting specific applications.
Systems Integration [SFIA 8 Code: SINT]: While integration activities might be streamlined, understanding system integration principles can be valuable, especially if the role involves integrating various software components.
Release and Deployment Management [SFIA 8 Code: RELM]: Effectively managing software releases and deployments is crucial. However, in an integrated engineering environment, automation tools and streamlined processes might reduce the manual effort involved compared to traditional release cycles.
Methods and Tools [SFIA 8 Code: METL]: The right tools automate tasks, improve decision-making, and ensure consistent practices. This is crucial for efficiency, data-driven development, and staying current in a rapidly evolving field.
Experience you'll bring:
Bachelor's degree in Computer Science, Software Engineering, or a related field (or equivalent experience).
Proven experience in backend software engineering and delivery (Java/C).
Strong understanding of continuous delivery principles and practices.
Experience with deployment pipelines and automation tools (e.g., Jenkins, GitLab CI/CD, etc.).
Experience with Cloud Computing platforms (particularly AWS).
Proficiency in multiple programming languages and technologies (specify relevant languages based on your needs).
Experience with configuration management tools (e.g., Ansible, Puppet, Chef, etc.).
Strong problem-solving and analytical skills.
Excellent communication and collaboration skills.
Ability to work independently and as part of a cross-functional team.