This senior software engineering role is based at 1375 Crossman Avenue, Sunnyvale, CA 94089.
The work covers the full cycle of a software component, from requirements and design through build, testing and maintenance.
Responsibilities
Compare customer and business expectations with the existing product and solutions to find gaps, updates and changes, per iteration when working in agile.
Sort requirements into their applicable types.
Spot likely solution risks during requirements gathering, tell the relevant stakeholders, and propose corrective steps.
Help write user stories for components, applications and complex features in agile work.
Help design solutions so that processes and applications work together across the modules of a product, weighing trade-offs against business requirements.
Turn high-level designs into detailed designs with mock screens, pseudocode and functional logic for specific modules or components.
Build lean code for whole components or applications that meets business, technical and non-functional needs, with a focus on maintainability, high availability and scalability.
Help choose suitable languages, development standards and tools for coding and configuration.
Learn the basics of new languages and frameworks on your own initiative for future work.
Write scripts that automate repetitive and routine work in CI/CD, testing and other processes where applicable.
Add telemetry features on your own as needed.
Make sure security policy requirements are applied to components and applications during development and configuration.
Map customer requirements to test objectives, then design test cases for each component or module.
Run test cases against the code to find errors and defects across the whole component, using suitable testing tools for each type of test.
Track and analyze defects in components and modules, and run regression tests after each code change to confirm fixes.
Review defects from past projects and solutions to prevent similar ones.
Find and resolve performance and availability bottlenecks in applications.
Carry out complex maintenance on applications without direct supervision.
Track and analyze metrics to evaluate application performance.
Carry out corrective, adaptive and perfective maintenance, plus re-engineering work.
Analyze application logs, maintenance records and performance data, and report your findings.
Assess change requests to decide which are valid and feasible.
Keep the project on track 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 software engineering or related experience.
Or a Bachelor's degree or equivalent in one of the same fields, plus 3 years of software engineering or related experience.
Experience designing and building REST API web services in Java.
Experience coding in object-oriented languages, including Java.
Experience testing and troubleshooting web servers, including Tomcat.
Experience writing test cases with JUnit.
Experience writing SQL database queries.
Experience working in agile methodology across analysis, design, implementation, maintenance and support.
Experience writing bash scripts to automate jobs.
Experience designing and querying NoSQL databases.
Experience using system monitoring and metrics tools.
Experience analyzing application performance with open source tools, including JMeter.
Any amount of professional experience with these skills is accepted.
Conditions
The salary range is $150,080 per year to $234,000 per year.
Additional pay includes annual or quarterly performance incentives.
The company is an equal opportunity employer.
The company keeps a drug-free workplace with zero tolerance for illegal drug and alcohol use on the job.
Benefits
Competitive pay with performance-based incentive awards.
Health coverage for medical, vision and dental.
Financial benefits including a 401(k), a stock purchase plan and company-paid life insurance.
Paid time off including PTO with sick leave, parental leave, family care leave, bereavement leave, jury duty and voting time.
Short-term and long-term disability cover.
Education assistance with 100% company-paid college degrees.
Company discounts, military service pay and adoption expense reimbursement.
Eligibility for some benefits depends on job classification and length of employment, and benefits and plan terms may change. Details are available from the company.