We re looking for a Staff Software Engineer (Android) to join Procore s Product & Technology Team. Procore software solutions aim to improve the lives of everyone in construction and the people within Product & Technology are the driving force behind our innovative, top-rated global platform. We re a customer-centric group that encompasses engineering, product, product design and data, security and business systems.
As an engineer with Procore Maps team, you would partner with US based team to design, develop, test and launch new features within v1 product (Procore Maps). You will work to support location aware (geo-spatial) experiences within Procore SAAS products.
Your work will positively impact the entire spectrum of construction operations from tracking progress by location, communicating logistics, to managing resources within a map-based experience. You will improve the life of construction workers and contractors by enabling complex workflows and processes into simple and intuitive location-based experiences on mobile and web interfaces. We will provide you with tools and onboarding resources to achieve extraordinary results. We are looking for someone to join our team immediately.
What you ll do:
Hands-on development and coding of architecture and systems that meet the test of time for a variety of wireless devices
Designing scalable and robust architectural solutions for Android applications that align with industry best practices and standards.
Providing technical leadership to cross-functional teams of developers, guiding them in the implementation of mobile solutions and ensuring adherence to architectural guidelines.
Evaluating emerging mobile technologies, tools, and frameworks to recommend adoption where applicable. Ability to develop POCs hands-on and rapid prototyping to bring new tech to life.
Identifying and addressing performance bottlenecks and ensuring optimal mobile application performance across a variety of devices and platforms.
Implementing and enforcing security best practices to safeguard user data, privacy and application integrity.
Collaborating closely with product managers, UI/UX designers, and other stakeholders to translate business requirements into technical solutions.
Creating and maintaining architectural documentation, including design specifications and system diagrams.
What we re looking for:
Must have
6+ years experience in object-oriented programming fundamentals.
3+ years industry experience in building Android applications using Kotlin and Java.
3+ years industry experience developing and maintaining automated tests.
Deep understanding of Android s architectural components (Room, LiveData, Jetpack, etc.) and the MVC architecture, with additional experience in MVVM being a plus
Understanding of multi-threading, concurrent programming, memory management and performance optimization
Experience in designing and delivering Android apps that work in both online & offline mode
Ability to operate independently and solve technical issues with minimal guidance.
Ability to debug technical problems and push root cause fixes to improve system reliability.
Nice to have
Experience with Coroutines and Flows frameworks, and building an SDK
Experience with SQLite and GIS / Map (i.e. Mapbox) technologies will be huge plus
Familiarity with Artifactory, CircleCI, NewRelic, Github will be helpful.
Self-starter who can document things and communicate with remote team to seek clarity, solve problems and deliver results.
Experience working with REST APIs using JSON, and an ability to dig into the back-end code base (if needed).