Job Description
We’re looking for a iOS Staff Engineer 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.
We are dedicated to creating exceptional mobile applications that provide outstanding user experiences. Our Core Excellence Platform Team plays a crucial role in ensuring our applications are high-performance, reliable, and scalable. We are looking for a talented and passionate Staff iOS Engineer to join our team and help us achieve our vision of mobile development excellence.
As a Staff iOS Engineer, you’ll partner intimately with our engineering team, translating their fundamental needs into technological 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. Apply today!
This position will be based in our Bangalore India office .
What you’ll do
- Enable our teams to deliver complex projects at speed with high-quality bar.
- Contribute to our iOS app with a focus on performance frameworks and regression testing, including memory usage, database performance, rendering, battery, network.
- Investigate performance issues, identify hotspots/areas of improvement, identify benchmarks that should be maintained and regression tested against.
- Collaborate closely with other mobile developers to understand and develop solutions that address our needs and pain points.
- Mentor and knowledge share within the wider mobile engineering org.
- Help set the standards for your teams, providing technical and procedural advice, and decision-making
- Directly take on tasks of substantial complexity and scope.
- Develop fellow teammates by conducting code reviews, providing mentorship, pairing, and training opportunities
- Have a significant impact that extends beyond the boundaries of your team, on projects affecting scalability, performance, and new value delivery
- Identify large technological issues and opportunities in your area of responsibility, and organize your teams to solve these issues
- Escalates issues when necessary and accountable for the long-term health of their systems and codebase
- Able to directly engage in proof-of-concept and other speculative work where direct technical exploration is the most rapid path to clarity, discovery, or impact.
- Contributes to and reviews technical documentation and decisions relevant to their business concern
- Can articulate the 'why' behind current work priorities across their business concern and understand when to accrue and when to pay down technical debt
- Actively promotes a culture of psychological safety within their team by engaging earnestly and openly, accepting challenges, and modeling appropriate behavior.
What we're looking for
- Bachelor’s Degree in Computer Science, Engineering, related field, or equivalent work experience
- 8+ years of Engineering Experience (5+ years of experience building iOS applications using Swift and Objective-C and 3 years spent in an Object Oriented Program and/or Functional Programming role)
- Experience doing performance profiling and analysis using Xcode studio profiling tools.
- Experience building frameworks and tools for native iOS performance tracking and analysis.
- Experience building regression suites and synthetic performance regression testing.
- Excellent communication skills, working across teams to build common solutions.
- Broad and deep understanding of iOS’s architectural components (CoreData, UIKit, SwiftUI, etc.) and the MVC architecture, experience with MVVM is a plus
- Experience working with RESTful APIs using JSON
- Understanding of multi-threading, concurrent programming, memory management, and/or performance optimization
- Experience working with offline available application experiences
- Proven working knowledge of software engineering techniques, methodologies, and practices
- Exceptional communication skills and the ability to work closely with others both within and adjacent to the existing team
- Experience leading large initiatives with the ability to course correct as needed
- Ability to consistently evaluate current technical approaches to continue to be industry best-of-class