This Senior Software Engineer role covers the design, build, testing and maintenance of software components and applications for the company's existing product and solutions.
The work spans the full development cycle, from gathering requirements through to ongoing upkeep and performance tuning.
Responsibilities
Turn customer and business expectations into requirements, find gaps against the current product or solutions, and sort each requirement by type. For agile teams, do this for each iteration.
Spot risks early during requirements gathering, tell the relevant stakeholders, and recommend corrective steps.
Help write user stories for components, applications and complex features when the team works in agile.
Help design how processes and applications work together for specific product modules, weighing trade-offs against business needs.
Help turn high-level designs into detailed designs with mock screens, pseudocode and functional logic for specific modules.
Write and configure lean code for whole components or applications so they meet business, technical and non-functional needs, including low maintenance effort, high availability and scalability.
Help select languages, development standards and tools for coding and configuration.
Learn the basics of new languages and frameworks on your own initiative when they would help future work.
Write scripts that automate repetitive, routine tasks in CI/CD, testing and other processes where applicable.
Build telemetry features as needed, working independently.
Apply security policy requirements to components and applications during development and configuration.
Map customer requirements to test objectives, then design test cases for components and modules.
Run test cases to find errors and defects across the whole component, using suitable tools for each type of test.
Track and analyze defects in components and modules, and run regression tests after every code change to confirm fixes.
Review defects from past projects and solutions to prevent similar ones from recurring.
Find and resolve performance and availability bottlenecks in applications.
Handle complex maintenance work on applications independently.
Track and analyze performance metrics, then carry out corrective, adaptive and perfective maintenance and re-engineering.
Analyze application logs, maintenance data and performance data, and report your findings.
Assess change requests and identify the valid and feasible ones.
Keep the project on schedule against approved milestones and timelines.
Requirements
Either a Master's degree or equivalent in computer science, computer engineering, computer information systems, software engineering or a related area, plus 1 year of experience in software engineering or a related area.
Or a Bachelor's degree or equivalent in one of those same areas, plus 3 years of experience in software engineering or a related area.
Experience building scalable server-side applications in Python and Java.
Experience designing scalable system architectures and technical diagrams using object-oriented programming and software design principles.
Experience designing and implementing RESTful microservices in Python.
Experience integrating with relational databases such as PostgreSQL and MySQL, tuning them for performance, and writing optimized SQL for efficient data access.
Experience designing and building responsive user interfaces with ReactJS, HTML, CSS and JavaScript.
Experience with CI/CD tools, including Jenkins, to automate and speed up development and deployment.
Experience using AWS, Azure and GCP cloud services to build scalable applications and access cloud-hosted data.
Experience with automation testing tools such as Soap UI and the JUnit framework to improve code quality and reduce errors.
Any amount of experience with these skills is accepted.
Conditions
The salary range is $143,104/year to $216,000/year.
The role is based at 10900 NE 4th Street, Bellevue, WA 98004.
The company is an equal opportunity employer and prohibits illegal drugs and alcohol on the job.
Benefits
Competitive pay plus performance-based incentive awards, with additional compensation including annual or quarterly performance incentives.
Health coverage includes 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, jury duty and voting.
Other benefits include short-term and long-term disability, education assistance with 100% company-paid college degrees, company discounts, military service pay, adoption expense reimbursement and more.
Eligibility for some benefits depends on your job classification and length of employment, and benefits may change or follow specific plan or program terms.