The company builds and runs software products, and this role sits on a team that works on them through each stage of the work.
You will work in an agile setting, where requirements are refined in iterations.
Responsibilities
Compare what customers and the business expect with what the current product and solutions already do, and note the gaps, updates and changes needed, per iteration where agile is used.
Sort requirements into their applicable types.
Spot likely risks and problems while gathering requirements, tell the right stakeholders, and propose fixes.
Help write user stories for components, applications and complex features.
Help design solutions so that processes and applications work together across the modules of a product.
Weigh trade-offs when designing a component against business needs.
Help turn high-level designs into detailed designs, covering mock screens, pseudocode and the functional logic of each module.
Build and configure lean code for whole components and applications, checking that they meet business, technical and non-functional needs, including maintainability, high availability and scalability.
Help choose languages, development standards and tools for coding and configuration.
Learn on your own the basics of coding languages and frameworks that will be useful later.
Write scripts that automate repetitive and routine work in CI/CD, testing or other processes where it applies.
Add telemetry features as needed, working independently.
Make sure security policy is applied to components and applications while the code is written and configured.
Map customer requirements to test objectives, then design and write test cases for each component or module.
Run test cases to find errors and defects across the whole component, and run other kinds of tests with suitable tools.
Track and analyse defects in components and modules, and run regression tests so every code change fixes its defects everywhere it applies.
Review defects from earlier projects and solutions to prevent similar ones.
Find and fix performance and availability bottlenecks in applications.
Carry out complex maintenance on applications independently.
Track and analyse metrics to assess application performance, and carry out corrective, adaptive and perfective maintenance and re-engineering.
Analyse application logs, maintenance data and performance data, and report your findings.
Assess change requests and decide which are valid and feasible.
Keep the project on schedule against approved milestones.
Requirements
Either a Master's degree or equivalent in a related field such as Computer Science, Computer Engineering, Computer Information Systems, Software Engineering, Information Technology, Electronic Engineering or Electrical Engineering, plus 1 year of software engineering or related experience.
Or a Bachelor's degree or equivalent in one of those same fields, plus 3 years of software engineering or related experience.
Experience programming in Java, Spring and JavaScript, including object-oriented programming.
Experience building RESTful microservices with Spring and Spring Boot, and with distributed messaging brokers such as Kafka.
Experience using Docker and Kubernetes to build, deploy and manage cloud applications.
Experience designing, building and managing APIs for microservices.
Experience writing documentation, technical manuals and API flow diagrams in Confluence.
Experience using Google Cloud Platform to build, deploy and manage microservices.
Experience running CRUD operations on Oracle, MySQL, NoSQL and Spanner databases.
Experience using Splunk and MMS dashboards to troubleshoot and fix development and production issues.
Experience managing repositories for applications with Git.
The employer will accept any amount of experience with these skills.
Conditions
Salary ranges from $150,080 to $234,000 per year.
Pay may include annual or quarterly performance incentives.
The company is an Equal Opportunity Employer.
The company is committed to a drug-free workplace, with a zero tolerance policy on illegal drugs and alcohol at work.
Eligibility for some benefits depends on job classification and length of employment, and benefits may be governed by specific plan or program terms that can change. Details are on the company's site.
Benefits
Competitive pay, performance-based incentive awards, and health coverage including medical, vision and dental.
Financial benefits include a 401(k), stock purchase and company-paid life insurance.
Paid time off includes PTO with sick leave, parental leave, family care leave, bereavement leave, jury duty and voting time.
Other benefits include short-term and long-term disability, education assistance with 100% company-paid college degrees, company discounts, military service pay and adoption expense reimbursement.