On behalf of our Vancouver-based client, Affinity is seeking a Senior/Lead Android Developer
to join the product development team on a contract basis.
Identify requirements for system capabilities and drive them from business case development through technical design (or maintainance and bug reporting) all the way into production on the Android platform.
Demonstrated experience / projects
- Demonstrate ownership and accountability through the design and development of features aligning the team's roadmap with the business goals. Work with internal and external stakeholders to understand the impact of technical dependencies.
- Collaborate and coordinate with other development teams to efficiently seek alignment on technical issues. Help set the team's immediate priorities. Produce well-factored and well-tested code that meets or improves upon the state of the world.
- Create and complete tickets independently when business requirements are well-understood, collaborate with engineering and product management to specify work with loosely-specified requirements.
- Drive technical design and architecture discussions within the team and with collaborators, with a keen understanding of all the technical dependencies of the platform as well as development and processes tools.
- Make constructive and substantive code and design review suggestions. Respond constructively to and learn from feedback, setting an example for others to follow
- Help guide the team's development, deployment, and operational practices, incorporating feedback from other members and keeping everyone in the loop
- Work effectively with QA throughout the development lifecycle and engage with them to ensure that new development is practical to QA. Assist QA in developing automated test suites and exploratory test procedures, and other developers in testing tickets.
- Participate in both maintenance and new feature development
Technical / Hard Skills
- Routinely guides large business-level features from specification and design through development and into production and long-term operations
People Management experience (if applicable)
- Technical expert on the Android platform
- Writing clean, well-factored code
- Automated testing, including external dependencies
- Version control, CI/CD, monitoring
- Can quickly become productive in an unfamiliar platform, given appropriate historical guidance
- Experience working with legacy code and improving it in-place or with a greenfield replacement
- A deep understanding of the production environment for the team's services and their collaborators
Years of Experience
- Able to generalize expertise to coach developers in novel domains
- Invested in improving and adapting team standards and processes to changing circumstances
- Typically 5 - 7 or more years of industry experience
- Involved in the inception, design, development, and operation of a standalone service or significant subcomponent
APPROACH AND ABILITIES
- Background in relevant theory to confidently architect and implement mobile applications.
- Collaborates effectively and proactively with teammates and colleagues/stakeholders within the
- Asks good questions to clarify business cases and collaboration/cross-service requirements
- Asks for help when needed, sees knowledge gaps coming. Willingly helps others proactively and when asked
- Suggests improvements to the team and the broader development organization
Level of Ownership (of tasks, projects, portfolios, and/or strategy)
- Documents, can justify, and publicizes decisions made when working on development and architectural tasks. Consistently learns from mistakes, peer feedback, and industry sources
- Works independently or leading a small group on team-level tasks, offers feedback on cross-cutting concerns
- Understands the team's short-term priorities, and those of collaborating teams, well enough to guide their own work and assist others
- Recognizes when a work stream is getting off-track and works with developers and managers to triage and address issues
SUCCESS IN THIS ROLE
What does success look like in the role?
- Can provide guidance to teammates or collaborators on edge cases and specialized concepts in the team's domain, and on core concepts in adjacent domains
- Drives design and development of large-scale features and new microservice-level software, creates and delegates tasks as appropriate
- A successful senior/lead developer specifies, designs, shepherds through development, and deploys significant subsystems or new systems of limited scope. They make regular contributions to the team's processes, roadmap, and architecture, and help improve the operational reliability of the team's systems both alone and in conjunction with collaborating systems.
Affinity is a full service Information Technology agency that takes a unique approach to recruiting. We believe recruiting is about creating long term relationships that foster a mutually beneficial partnership - an affinity. Bringing a new style of recruiting founded on four core principles – Transparency – Flexibility – Efficiency – Agility.
For more information on Affinity, please visit www.affinity-group.ca