This job might no longer be available.
New York City, NY
1 year ago
We are looking for a staff engineer to join our team and help us create, maintain, and scale our backend stack.
Working at Dots
At Dots we are broad. Our games are beautifully executed from a graphic design, game design, and technological perspective. Our aim is to create experiences that do the little things extremely well. This results in a minimalist experience that has all the things you need and love, but none of the things you don’t. At Dots this approach is present in all verticals, and engineering is no exception. This is particularly true of any backend engineering position.
Your responsibilities as a staff engineer on the backend team will touch many parts of the business, from creation of game services to iteration on our custom continuous integrations system, to optimization of our experimentation system, to the creation of tools that aid all other parts of the company. We love to create tools and services that delight our players AND our colleagues alike. We do this by having a solid roadmap of features, products, and tools that have the largest impact, implementing the minimal “lovable” offering, and iterating on that offering as need and usage increases. By approaching our workload in this way, we pay attention to what matters most, and are able to create real, discernible impact immediately.
Below are some of the things on the roadmap. As a part of the backend engineering team, you will be responsible for creation and maintenance of these systems, and more! If this sounds interesting to you, we’d love to have a chat and see if you are the right fit.
- Game Services - Each of our games contain a dedicated set of service end points. These services are used for feature development.
- Individual game services that live autonomously from one another. The stack is chosen based on the needs of the game.
- Back Office - sometimes product specific, and sometimes spanning products, the goal of this suite of tools is to support live operations, and give everyone in the office ( but primarily designers / product managers ) the ability to affect change in the products in real time. Examples:
- Game "live ops" ( events, promos, etc )
- Two Dots administration
- Customer support
- Experimentation framework administration
- Purchase validation and reporting
- Proprietary OTA CI Build Delivery Tool
- Platform Development - The creation and iteration on / of a suite of product services that offer Dots product-agnostic capabilities.
- Experimentation ( A / B Testing )
- Notifications ( in-app / push )
- Analytics ( ingestion / aggregation / segmentation )
- Automation / Engineering Tools - We want to keep our team as small and as agile as possible. To this end, the more we automate / continuously monitor our products and code, the more efficient we are. Below are a few of the automation initiatives we have on the roadmap.
- Business Intelligence Team platform
- Constant OTA delivery of development builds. Dramatically increases the speed at which the product is collaborated on and QA-ed
- Automated submission delivery to the relevant stores ( Apple, Google )
- Continuous Deployment to various backend services.
- Integrated test coverage for all services and clients
A Staff Engineer at Dots has the following criteria
- Excellent capabilities as a programmer
- Can write frameworks and establish patterns for other engineers.
- Proficiency in at least one statically typed and one dynamically typed language. Our backend stack is currently Golang, Rails, Python, and Node.js, but we are decidedly non-dogmatic about what the language or framework is.
- A thought leader on tests
- Provides thorough and timely code feedback
- Contributes very high quality code
- The ability to have in depth technical discussions on trade-offs
- Has the ability to lead / initiates architectural changes
- Easy to understand implementation of architecture
- Self starter and a leader
- Thought leader in all aspects of engineering
- Consistently able to make projects less complex / easier to reason about.
- Contributes holistic improvements / solutions for the company, org, product, etc
- Individual contributor with deep applicable knowledge spanning the entire technical org
- Leads the design on large projects with feedback from other engineers, but can operate independently.
- Communicates problems with requirements early and provides useful suggestions for alternate approaches.
- Guides debates to help reach a consensus, and then drives that consensus through to completion
- Facilitates engineering conversations across the org
- The ability to break down and concisely explain complex systems, architectures, and ideas.
- A passion for great mobile games!
- Helps define engineering culture and responsibilities
- At least 10 years of work experience.
- Experience with AWS (or another cloud vendor), and CDNs (we use Fastly and Cloudfront)
- Full stack experience
- Extra bonus points for full stack mobile experience, or the desire to get your hands dirty with client side mobile development.
- Super extra bonus points for experience working in the gaming industry.
- The qualifications to work in the United States.