A Software Engineer II- Android Developer is proficient with the most-often used features of the programming language its core library commonly used 3rd party libraries and commonly used code management and build tooling.
Initially a Software Engineer II is expected to be able to develop a medium set of defined inter-related modules articulate why the code and application they are working on are designed the way they are and be able to provide some instructive feedback to newer developers through code reviews and in-person Q&A. As they progress they should be able to implement smaller subsystems independently begin to design small portions of the systems and begin to understand the design principles and practices that cut across all the applications.
The goals of a Software Engineer II-Android Developer are:
- Develop an understanding of why some libraries frameworks and tooling are designed the way they are: what tradeoffs were made why might the developer have done that Through this work develop an understanding of the practical use of design patterns.
- Begin to understand some of the externalities associated with running an application: performance security operations monitoring etc.
- Be able to troubleshoot application infrastructure and environment issues.
Or more succinctly the Software Engineer II- Android Developer is gaining the ability to determine why things are done in a particular way and apply that knowledge to new situations.
Development - 90%
- Produces estimates for their assigned tasks given well defined business requirements
- Produces quality code that meets internal and industry standards
- Promotes reusability within the application they are developing
- Writes performant code according to industry standards and project/organizational KPIs
- Understands business concepts in their area of focus
- Writes clear documentation to ensure code is understandable to provide wider focus and understanding into design decisions
- Provides input into designs for assigned tasks
- Translates designs into code for their assigned tasks
- Understands build/deployment processes and can support moving their code and any other changes (ex: database) through these phases.
- Creates build/deployment artifacts as needed
- Supports production systems through troubleshooting/triaging issues and providing on-call support where needed
Mentoring - 10%
- Participates in PR reviews with others on their team
- Provides feedback by answering questions from newer developers
Qualifications :
- 5 years overall development experience using an object oriented language
- Proficient in Kotlin
- Demonstrable proficiency with Android Studio
- Demonstrable experience with Java and Jetpack Compose
- Demonstrable experience consuming Restful JSON web services
- Demonstrable experience with Agile development and unit testing.
- Demonstrable experience with push notifications location services.
- Experience with various architecture patterns like MVC MVVM VIPER or similar
- Experience with accessibility frameworks
- Experience with analytics frameworks such as Firebase Adobe or similar
- Experience builds tools like Gradle and Fastlane
- Knowledge of submitting and publishing applications through app store
General Qualifications
- Basic understanding of design methods/patterns such as DRY SOLID ReST
- Excellent team player with good communication skills with both non-technical & technical co-workers
- Highly motivated and driven by a desire to solve difficult problems and learn new technology
- Proficient in writing quality unit tests
- Proficient with build and debug tools
- Experience with profiling tools
- Experience with continuous integration systems like Jenkins/GitHub and version control systems like Git
- Experience with development of internationalized software (multi-lingual multi-currency geographic and locale awareness)
- Experience with agile practices and tools preferred (Jira or similar)
- Experience with database concepts (queries data models)
- Understanding of development in a distributed system is preferred
- Understanding of basic networking concepts like http protocol and its usage is preferred
Additional Information :
Benefits:
Paid Holidays and Vacation
Medical Dental & Vision benefits that start on the first day of employment
No-cost mental health support for employee and dependents
Childcare tuition discounts
No-cost fitness nutrition and wellness programs
Fertility benefits
Adoption assistance
401k matching contributions
15% off the purchase price of stock
Company bonus
Remote Work :
No
Employment Type :
Full-time
A Software Engineer II- Android Developer is proficient with the most-often used features of the programming language its core library commonly used 3rd party libraries and commonly used code management and build tooling.Initially a Software Engineer II is expected to be able to develop a medium set...
A Software Engineer II- Android Developer is proficient with the most-often used features of the programming language its core library commonly used 3rd party libraries and commonly used code management and build tooling.
Initially a Software Engineer II is expected to be able to develop a medium set of defined inter-related modules articulate why the code and application they are working on are designed the way they are and be able to provide some instructive feedback to newer developers through code reviews and in-person Q&A. As they progress they should be able to implement smaller subsystems independently begin to design small portions of the systems and begin to understand the design principles and practices that cut across all the applications.
The goals of a Software Engineer II-Android Developer are:
- Develop an understanding of why some libraries frameworks and tooling are designed the way they are: what tradeoffs were made why might the developer have done that Through this work develop an understanding of the practical use of design patterns.
- Begin to understand some of the externalities associated with running an application: performance security operations monitoring etc.
- Be able to troubleshoot application infrastructure and environment issues.
Or more succinctly the Software Engineer II- Android Developer is gaining the ability to determine why things are done in a particular way and apply that knowledge to new situations.
Development - 90%
- Produces estimates for their assigned tasks given well defined business requirements
- Produces quality code that meets internal and industry standards
- Promotes reusability within the application they are developing
- Writes performant code according to industry standards and project/organizational KPIs
- Understands business concepts in their area of focus
- Writes clear documentation to ensure code is understandable to provide wider focus and understanding into design decisions
- Provides input into designs for assigned tasks
- Translates designs into code for their assigned tasks
- Understands build/deployment processes and can support moving their code and any other changes (ex: database) through these phases.
- Creates build/deployment artifacts as needed
- Supports production systems through troubleshooting/triaging issues and providing on-call support where needed
Mentoring - 10%
- Participates in PR reviews with others on their team
- Provides feedback by answering questions from newer developers
Qualifications :
- 5 years overall development experience using an object oriented language
- Proficient in Kotlin
- Demonstrable proficiency with Android Studio
- Demonstrable experience with Java and Jetpack Compose
- Demonstrable experience consuming Restful JSON web services
- Demonstrable experience with Agile development and unit testing.
- Demonstrable experience with push notifications location services.
- Experience with various architecture patterns like MVC MVVM VIPER or similar
- Experience with accessibility frameworks
- Experience with analytics frameworks such as Firebase Adobe or similar
- Experience builds tools like Gradle and Fastlane
- Knowledge of submitting and publishing applications through app store
General Qualifications
- Basic understanding of design methods/patterns such as DRY SOLID ReST
- Excellent team player with good communication skills with both non-technical & technical co-workers
- Highly motivated and driven by a desire to solve difficult problems and learn new technology
- Proficient in writing quality unit tests
- Proficient with build and debug tools
- Experience with profiling tools
- Experience with continuous integration systems like Jenkins/GitHub and version control systems like Git
- Experience with development of internationalized software (multi-lingual multi-currency geographic and locale awareness)
- Experience with agile practices and tools preferred (Jira or similar)
- Experience with database concepts (queries data models)
- Understanding of development in a distributed system is preferred
- Understanding of basic networking concepts like http protocol and its usage is preferred
Additional Information :
Benefits:
Paid Holidays and Vacation
Medical Dental & Vision benefits that start on the first day of employment
No-cost mental health support for employee and dependents
Childcare tuition discounts
No-cost fitness nutrition and wellness programs
Fertility benefits
Adoption assistance
401k matching contributions
15% off the purchase price of stock
Company bonus
Remote Work :
No
Employment Type :
Full-time
View more
View less