AEC Solutions is looking for a Principal iOS Developer to help us build the future faster. Our users are building some of the most amazing construction projects in the world, and our platform is their central information point. The Photos team is building a best-in-class Tool for managing Media (Photos and Videos) for the construction industry. The end users are general contractors, sub-contractors, architects, and consultants that need to be able to take their work with them wherever they are on the construction site or in the office. The Photos product is one of the most used tools inside AEC Solutions that connects millions of data points every month. Our stacks are diverse, so you will get exposure to many technologies including Swift, Kotlin, Kotlin Native, and more.
Responsibilities
Building near real-time collaboration and mark-up for construction drawings
Enhancing our shared library that is used across our mobile platforms (iOS + Android) written in Kotlin Native
Building slick and responsive UI that can handle millions of user generated data points (like photos and annotations)
Building tools to streamline communication and collaboration on the construction site
Tackling synchronization and consistency that allows our users to work and edit offline
Replacing Excel workflows with simple, powerful tools
Minimum Qualifications
5+ yrs of experience developing publicly available iOS apps using Swift and/or Objective-C
Worked in a team that released Apps to the AppStore using automated tooling (XCode Tool Chain, Jenkins, DevOps)
Understanding of computer science fundamentals, data structures, and algorithms to ensure consistency to software engineering best practices including object-oriented and functional programming
Understanding of consuming RESTful web services, preferably using Apple-provided protocols
Experience with MVI or Redux-like architectures on mobile
Experience maintaining a CI/CD build & release pipelines with Fastlane
Preferred Qualifications
Experience with at least one server side framework (Rails, Django, Flask, etc.) and/or any other native client experience (Android, .NET)
Have the passion and dedication to write highly scalable, reliable code and love solving tricky problems
Team player — you love to teach others about cool new tricks you learned and absorb tips and tricks from developers; love solving problems as a team across platforms
Interest and experience in refactoring and improving legacy code and systems