The company is hiring a Software Engineer III to build iOS and Android mobile applications, from coding and configuration through testing and maintenance.
The role covers the full lifecycle of mobile software, working with stakeholders, technical teams and customers.
Responsibilities
Stay current on technology and share expert guidance and best practices so colleagues can apply them to customer and business needs.
Learn the business, stakeholder and technical requirements, and help analyze existing solutions against each need, per iteration on agile work.
Build and maintain a requirement traceability matrix that links business requirements, functional requirements, designs and test cases.
Help write user stories for components, modules and simpler requirements, such as those driven by scalability, on agile projects.
Build relationships with key stakeholders, pin down business needs, set up and run the needed processes, track progress and results, and seize improvement opportunities while adjusting to shifting priorities, organizational changes and new duties.
Write lean code for full components or applications that meets business, technical and non-functional requirements, with low maintenance effort, high availability and high scalability.
Help choose programming languages such as JavaScript, Python and C, development standards, and tools such as Monday.com, Linx and Embold for coding and configuration.
Proactively learn the basics of new languages and frameworks that will be useful for future work.
Write scripts that automate repetitive and routine work in CI/CD, testing or other processes where suitable.
Build telemetry features as needed, working independently.
Apply security policy requirements to components and applications during development and configuration.
Turn customer requirements into 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 to confirm fixes in every code change.
Review defects from earlier projects and solutions to prevent similar ones from recurring.
Find and resolve performance and availability bottlenecks in applications.
Track metrics to monitor and assess application performance, and carry out corrective, adaptive and perfective maintenance and re-engineering.
Analyze application logs, maintenance records and performance data, and report your findings.
Assess change requests and 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, or a bachelor's degree or equivalent in one of those areas plus 2 years of experience in software engineering or a related area.
Experience with object-oriented languages and concepts, including Swift, Objective-C and Kotlin, for building iOS and Android apps.
Knowledge of design patterns and architecture for scalable, maintainable and robust software.
Knowledge of client-server and mobile systems architecture, including MVC, MVVM and patterns common to iOS and Android development.
Experience with native frameworks UIKit, Foundation, CoreGraphics and AndroidX for complex, efficient and interactive interfaces.
Knowledge of Agile (Scrum) methods and the Software Development Lifecycle (SDLC).
Experience with RESTful APIs, using JSON and HTTP, to connect mobile apps to backend services.
Knowledge of UI/UX standards, namely Human Interface Guidelines for iOS and Material Design for Android, for intuitive, user-friendly interfaces.
Experience with performance optimization, memory tuning and multithreading using Grand Central Dispatch and Coroutines.
Experience with Git for repositories, branching, merging and collaborative development.
Knowledge of accessibility standards and of security best practices for mobile apps.
Experience building and running CI/CD pipelines that automate testing, integration and deployment.
Experience writing unit and integration tests and scripts to ensure code quality and functionality.
Experience troubleshooting issues and fixing bugs to keep applications stable.
Any amount of experience with the skills above is accepted.
Conditions
Based at 1375 Crossman Avenue, Sunnyvale, CA 94089.
Salary range is $117,000/year to $234,000/year.
Some benefits depend on job classification and length of employment, and may be subject to change and to plan or program terms. Details are on the company's benefits site.
The company maintains a drug-free workplace with zero tolerance for illegal drug and alcohol use on the job, applying to all employees.
The company is an equal opportunity employer.
Benefits
Competitive pay plus performance-based incentive awards.
Annual or quarterly performance incentives in addition to base pay.
Medical, vision and dental health coverage.
401(k), stock purchase and company-paid life insurance.
PTO including sick leave, parental leave, family care leave, bereavement, 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, adoption expense reimbursement and more.