Software Engineer 2
Procore Technologies
As an Android Engineer, you’ll partner intimately with our customer base, translating their fundamental needs into technological SaaS solutions. We’ll provide you with the tools and resources needed to achieve extraordinary results that render a significant impact extending beyond the boundaries of traditional engineering roles.
This position will report to our Software Engineering Manager and will be based in our Bangalore office.
What you’ll do:
- Leverage your technical proficiency in your technical area, acting as a representative of your team, and work independently across the scope of your team
- Meet standards of development for your teams, providing technical and procedural advice, and decision-making
- Self-direct your work and task selection. Anticipate functional limitations of systems they’re developing
- Handle the full lifecycle of development within your team, including operational support and incident resolution
- Challenge tasks that seem unclear or would benefit from further direction
- Use a customer-centric approach to collaborate on architectural design decisions
- Have a significant impact that extends beyond the boundaries of your team, on projects affecting scalability, performance, and new value delivery
- Bachelor’s Degree in Computer Science, Engineering, or a related field, or equivalent work experience
- 2+ years of Engineering Experience (1+ years of experience building native Android applications using Kotlin and Java)
- Broad and deep understanding of Android’s architectural components (Room, LiveData, Jetpack, Compose, etc.) and the MVVM architecture
- Experience with Coroutines and Flows is a plus
- Experience building apps with offline capabilities is a plus
- Experience working with RESTful APIs
- Understanding of multi-threading, concurrent programming, and performance optimization
- Proven ability to develop and ship high-quality software products that are performant and reliable
- Proven working knowledge of good software engineering techniques, methodologies, and best practices
- Strong communication skills and the ability to work closely with others both within and adjacent to the existing team
- Ability to consistently evaluate current technical approaches to continue to be industry best-of-class