This post is over 30 days old. The position may no longer be available
Important! Please use this form to submit your application! https://airtable.com/shr3FRy8Z1pgIh7yj
Obvious is a digital product-strategy consultancy, based in Bangalore, India. We do deep work that moves business metrics for a range of household-name organisations in India and beyond. We're the first people that founders of technology unicorns get in touch with when they want to reimagine how they do mobile engineering, launch a completely new business for their billion dollar e-commerce company, scale their hyper-local logistics company or launch a service that builds a new category entirely.
Our Android Engineering:
We’re a small team that focuses on the big things, punching way above our weight. Our craft is important to us, and we hone it and utilise it in the context of our work. We invest in ourselves and care about each other — a great team is multiplicative and not additive!
To this end, we maintain a playbook of our lore and practices. We’re product engineers and not just software engineers. We understand that great software is only a small part of value-creation. We work with our designers, often in the same room, to rapidly iterate and validate our assumptions.
We believe in the DevOps movement, and imbibe the principles in all our work -- yes, even Android engineering! We review code with care and guidance, not as an afterthought, but every day as part of our workflow. We regularly share our work and learnings, and engage with the community.
What we expect:
- 4-8 years of Android development experience, and you’ve built apps in Kotlin.
- Worked on multiple apps across different verticals, or worked across different components of a large app.
- Understands the value of dependency injection, and has used Dagger.
- Bonus points if...
- Can write FRP-style code using RxJava, or has used coroutines.
- Familiar with modern unidirectional-data-flow architectures like MVI or Mobius.
- Experience with building production applications with other frameworks or platforms.
- Owns small-to-medium sized features, starting from technical design all the way through completion; makes steady progress without oversight.
- Helps with prioritisation and avoids bikeshedding, understands the role of assigned work in the larger context, and provides assistance to team members without being asked for it.
- Explains complex concepts to junior engineers, and mentors them via pairing and code reviews.
- Invests time in doing in-depth code reviews; identifies logical fallacies and inconsistencies, and discusses the cost-benefit analysis of decisions.
- Assists peers in understanding why things work or don’t work, and gives constructive feedback.
- Understands the importance of testing, benefits of test-driven development, and the testing pyramid.
- Writes code that is easy to test; knows when to write unit tests or integration tests.
- Proficient with the core set of git operations (branch, checkout, rebase, merge, cherry-pick, stash, revert).
- Understands how to setup new projects; works with existing build systems to add dependencies and make changes.
- Familiar with installing software using language or platform-specific package managers.
- Familiar with build automation, continuous integration and deployment; services like Bitrise / Jenkins / Fastlane / GoCD.
- Values a fair interview process, and helps with identifying and removing biases and prejudices.
- Conducts technical interviews and does pairing exercises; follows up with an unbiased report on the candidate.
- Respects the role and importance of design -- including consistency, conventions, and human interface guidelines.
- Familiar with the Material design language and controls; knows when to use which control, and knows how to implement them in code.
- Works with a designer to help them understand the limitations and capabilities of Android; guides the design towards something that feels native to the platform.
We're a people-first company, and our policies reflect that. For a full description of our current benefits, read the Benefits section of our Playbook. In addition to the things that are described in our playbook, we are also proud of:
- Our craft-first approach.
- Our strong focus on using empathy and collaboration as a means to find the right solutions.
- A diverse environment that supports people from under-represented groups to grow and thrive.
- Our ability to do all of this while maintaining balanced work hours!
Here's a short summary of the benefits that we offer:
- Paid time off - 25-30 days every year
- Paid parental leave of 3-6 months
- Healthcare: (medical and accidental insurance) even for your family
- An emotional well-being budget
- Support to speak at conferences/industry events
- A budget for continuing education
- Matching contributions to charity
Apply for this position
Login with Google or GitHub to see instructions on how to apply. Your identity will not be revealed to the employer.
It is NOT OK for recruiters, HR consultants, and other intermediaries to contact this employer