Overview
Staff iOS Engineer on Procore's Product & Technology Team, focused on performance, reliability and scalability of the iOS app within the Core Excellence Platform Team.
What you'll do
- Enable teams to deliver complex projects at speed with a high-quality bar.
- Contribute to the iOS app with a focus on performance frameworks and regression testing, including memory usage, database performance, rendering, battery and network.
- Investigate performance issues, identify hotspots and areas of improvement, and identify benchmarks to maintain and regression test against.
- Collaborate closely with other mobile developers to develop solutions that address their needs and pain points.
- Mentor and share knowledge within the wider mobile engineering organization.
- Help set standards for teams, providing technical and procedural advice and decision-making.
- Directly take on tasks of substantial complexity and scope.
- Develop teammates through code reviews, mentorship, pairing and training opportunities.
- Have a significant impact beyond your team on projects affecting scalability, performance and new value delivery.
- Identify large technological issues and opportunities in your area of responsibility and organize teams to solve them.
- Escalate issues when necessary and be accountable for the long-term health of systems and the codebase.
- Directly engage in proof-of-concept and speculative work where technical exploration is the fastest path to clarity or impact.
- Contribute to and review technical documentation and decisions relevant to your business concern.
- Articulate the 'why' behind current work priorities and understand when to accrue and when to pay down technical debt.
- Actively promote a culture of psychological safety within your team.
What you'll need
- 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 in an Object Oriented Programming and/or Functional Programming role.
- Experience doing performance profiling and analysis using Xcode 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 architectural components (CoreData, UIKit, SwiftUI, etc.) and the MVC architecture.
- 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 within and adjacent to the team.
- Experience leading large initiatives with the ability to course correct as needed.
- Ability to consistently evaluate current technical approaches to remain best-in-class.
Nice to have
- Experience with MVVM architecture.
Details
- Location: Bangalore, India office.
Read the full description and apply on the company’s own careers page.