We're looking for an iOS Engineering Manager to join our team. As an iOS Engineering Manager you'll manage a small team of iOS and Android engineers working on consumer facing products for Surfline. You'll have strong technical project management skills. You're able to manage complex native app initiatives from start to finish. You'll spend some time writing code, engaging in some technical deliverables such as bug fixes and small features, without blocking or slowing down the progress of your team. More than writing code, you'll identify process bottlenecks and roadblocks to success for your team and clear those roadblocks. You'll be the platform owner for the iOS and Android apps across Surfline. That means you'll set the technical direction for this stack, cultivate an automated testing culture, manage technical debt, reduce crash rate and improve performance of Surfline's native apps (there are six). We're looking for someone with a mastery of the iOS platform and an understanding of the Android platform. The ideal candidate will be extremely proactive with a strong bias towards action and a clear, concise communicator. You will work with Product, UX, and Engineering teams to hatch progressive, bullet-proof, game-changing products.
Our culture is one where we pursue achievement with humility and never lose touch with our roots. All candidates must keep our core values of being passionate, humble, human, focused and growth-minded at the forefront of their minds. This position will report to Surfline’s Senior Director of Product & Engineering and work out of our beachfront headquarters in Huntington Beach, CA.
What You'll Do:
- Manage a small team of primarily iOS Engineers with some Android experience
- Build experiences for mobile and wearable platforms using Swift, Objective-C, Java and Kotlin.
- Own native apps at Surfline:
- Set architecture vision
- Define how code is shared across multiple apps
- Cultivate automated testing culture
- Ensure we’re spending time architecting for the future where we need to and not unnecessarily building the Taj Mahal
- Identify areas of technical debt and do the cost/benefit analysis for resolving this debt
- Identify bottlenecks in the process and roadblocks to success for your team and clear those roadblocks
- Ensure the team is writing efficient, clean, readable, fast, testable, documented, code and systems
- Squash critical bugs and solve performance issues
- Deliver major app releases without hiccup
- Be the last stop for critical native bugs (iOS and Android)
- Come up w/ solid technical solutions to ambiguous technical problems affecting multiple products
- Smoothly and successfully execute cross-platform initiatives, set milestones for a team, and proactively ensure all core goals are hit, even if plans need to be changed to do so
- Accurately estimate large projects involving challenges including major external dependencies, intra-team collaboration, or exceptionally difficult technical requirements
- Central to the product development, mission, and success – way beyond checking off development tasks
- Work side by side with Product Managers to deliver products to our users
- Lead discussions and present on technical topics in internal tech talks
- Present technical concepts to a less-technical audience in company meetings and demos
What We're Looking For:
- A BS/MS in Computer Science or related degree
- 2 years managing business critical consumer apps
- 4-5 years experience building iOS
- Production experience building Android apps.
- Deep knowledge in the iOS SDKs, you'll know when to use GDC vs NSOperationQueue and be able to explain how iBeacons work to a Product Designer.
- Strong understanding of native app CI/CD.
- Experience in a test driven culture.
- Passion for building products on the iOS and Android platforms.
You May Also Have:
- Understanding of web technologies like Microservices, Docker, React, Redux and Webpack.