Senior-level software engineering role focused on Android mobile applications, based in Sunnyvale, CA.
The work covers requirements, design, coding, testing, and maintenance of software components and applications.
Responsibilities
Compare customer and business expectations with the current product and its solutions to find gaps, updates, and changes, doing this per iteration when working in agile.
Sort requirements into their applicable types.
Spot solution risks and problems during requirements gathering, alert the right stakeholders, and propose corrective steps.
Help write user stories for software components, applications, or 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 requirements.
Help turn high-level designs into detailed designs with mock screens, pseudocode, and functional logic for modules and components.
Write and configure lean code for a whole component or application, making sure it meets business, technical, and non-functional needs, with low maintenance, high availability, and high scalability.
Help choose languages, development standards, and tools for coding and configuration.
Learn the fundamentals of new coding languages and frameworks that may be useful later.
Write scripts that automate repetitive and routine tasks in CI/CD, testing, and other processes.
Build telemetry features on your own as needed.
Make sure security policy requirements are applied in code and configuration.
Translate customer requirements into test objectives.
Design test cases for components and modules, run them, and find errors and defects across the whole component.
Run different types of testing with suitable tools based on what needs testing.
Track and analyze defects in components and modules, and run regression tests after every code change to fix them in all instances.
Review defects from past engineering work to prevent similar ones from recurring.
Find and resolve performance and availability bottlenecks in applications.
Handle complex maintenance tasks on applications independently.
Track relevant metrics to monitor and assess application performance.
Carry out corrective, adaptive, and perfective maintenance, along with re-engineering.
Analyze application logs, maintenance data, and performance data, and report your findings.
Assess change requests to determine which are valid and feasible.
Requirements
A bachelor's degree or equivalent in computer science, computer engineering, computer information systems, software engineering, or a related field, plus 3 years of experience in software engineering or a related area; or a master's degree or equivalent in one of those fields, plus 1 year of experience in software engineering or a related area.
No minimum number of years is set for the skills listed below.
Experience designing and building Android applications with the Android SDK, Android Studio, and Gradle.
Experience coding in Kotlin and Java.
Experience testing and troubleshooting mobile apps with ADB, Charles Proxy, and Flipper.
Experience working with MVP and MVVM architectures.
Experience implementing Adobe analytics tools and services.
Experience managing and automating test builds and deployments in CI/CD systems such as Jenkins.
Experience writing and reviewing unit and UI tests with Mockito, MockK, Robolectric, and Espresso for Java and Kotlin.
Experience applying design patterns to keep code quality and efficiency high.
Experience using source control with Git and GitHub.
Experience working in Agile development with JIRA.
Experience integrating RESTful APIs into Android mobile applications.
Conditions
The role is located at 1375 Crossman Avenue, Sunnyvale, CA 94089.
Base salary ranges from $187,075/year to $234,000/year.
The company is an equal opportunity employer and keeps a drug-free workplace with zero tolerance for illegal drugs and alcohol on the job.
Eligibility for some benefits depends on your job classification and length of employment, and benefits may change or follow specific plan or program terms. Details are available from the company.
Benefits
Competitive pay with performance-based incentive awards, paid annually or quarterly.
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 leave, jury duty, and voting time.
Short-term and long-term disability coverage.
Education assistance covering 100% of college degrees, paid by the company.
Company discounts, military service pay, adoption expense reimbursement, and more.