We built DICE for fans. We’ve gone from being a tiny six-person company in London to a 90+ person (and growing) company that is now launching around the world.
DICE is obsessed with design and technology and is on a mission to be the world’s best platform to discover and buy tickets to amazing live experiences. The best artists all work closely with us to make sure their tickets go to their fans, not scalpers or touts.
We’re looking for user-centric iOS engineers with strong technical skills and potential. You’re a team player who can collaborate with people at various levels of technical ability, and understand the delicate balance between moving fast & iteration against building tested, resilient code.
Ultimately, you’re a product-focused individual who is passionate about the impact your work has on users that happens to be a mobile engineer!
We are happy to offer relocation assistance for this position!
DICE is written in Swift 5.0 and structured using the MVVM architecture (Model-View-ViewModel). We leverage protocols and extensions to abstract functionality shared between classes and structs. We use unit tests to check the VM and the business logic. The core functionality of the app (also native and written in Swift) is held on its own separate project, and dependencies managed through CocoaPods.
Our code base is hosted in GitHub which we use for creating pull requests, carrying out code reviews, and creating releases. This last one allows us to follow a GitHub flow as workflow, sending builds with individual functionality in parallel to our QA team and bundle them only after approved in a new release build that we submit to the AppStore every Friday.
Pipelines are automated using Fastlane. This saves us significant time making releases, running our unit and UI tests suit, building and uploading to TestFlight, while maintaining certificates, provisioning profiles and other recurring tasks.
We are always open to making changes and improvements to our workflow and code base for the benefit of the team and product.
As an iOS Engineer at DICE you’ll work in cross-functional, collaborative teams alongside Android Engineers, Backend Engineers, Product Managers, Product Designers, User Researchers, QA Testers and Growth Managers. You’ll also be working on projects with people outside on the Product team, including Creative, Fan Support, Accounts & Venues.
As we grow, we’re planning to transition into squads and disciplines, while keeping the teams flat. Each squad will have a dedicated goal and each discipline will keep horizontal relationships.
You and your team will be responsible for an overall company goal, rather than building a specific feature - you'll have a direct impact on both what we build, and how we build it. Currently, our iOS Engineers are working on fan experience, customer growth, revenue and internal operations.
As a Product team, we meet every two weeks to discuss hurdles we’re facing across the company and work together to overcome these. As a discipline regularly to discuss tools and techniques to update out codebase and improve processes, as well as put our heads together about best approaches when faced with a new technical challenge.