Stream provides an API driven platform for building enterprise-grade feeds and chat, and powers millions of users around the world. We are seeking a full-time iOS Developer to join our rapidly expanding team in Amsterdam to build the next generation of software for our customer base.
Your work
Tasks will include building and maintaining open-source libraries to integrate with Stream's APIs while working on the iOS operating system. Most of your day will be working on software design, research, and coding, and the majority of your work will be open-source. Your work will be used by hundreds of our customers and consumed by millions of their users.
Challenges
- Distributed databases: we built our own data store for feeds and for chat
- Real-time messaging
- High performance: our API responses are in the 10ms range
- High scalability: we use sharding, master-master, and master-slave to ensure scalability
- High availability: our entire infrastructure is designed and operated to survive entire data center crashes
- Multi-region: we deploy our service on 4 different continents
Requirements:
- Proficiency in Swift and the iOS development ecosystem, with one year of production experience
- Computer Science fundamentals in object-oriented design and data structures, as well as process-oriented problem-solving skills
- Proficiency in iOS frameworks: Foundation, UIKit, CoreGraphics, URLSession
- Deep understanding of how to design and interact with RESTful APIs
- Experience with different architectures (MVC/MVVM/VIPER/RIBs)
- Understanding of RxSwift (RxCocoa)
- Ability to design by code and with Storyboards
Nice to Have:
- Experience with unit and integration testing, debugging, and performance tuning
- One or more apps available in the Apple App Store
- Experience with Fastlane, git, and CI/CD best practices
- Own open-source project (or be an active contributor in others open source projects)
- Experience with React Native / Android
Perks:
- Competitive salary (listed salary indications are applicable to employment in the Netherlands)
- Equity in Stream
- Office location in the heart of Amsterdam
- Travel opportunities to our Boulder, Colorado office
- Healthy team lunches
- A team of exceptional engineers
- Support to attend and/or present at industry-related conferences and meetups
- Encouragement to work on OSS projects
About Stream
Stream has a casual social culture and offers a competitive salary and excellent benefits. When it comes to software engineering, ownership and quality are key: our goal is to deliver stable software that concentrates on solving only the right problems. Our talented team is diverse, highly technical, and collaborative, which makes Stream a great place to learn and improve your skills.
Our Tech Stack
We use an extensive collection of technologies to offer highly optimized and available features to our customers. Over the years, we have experimented with different programming languages, frameworks, databases, and libraries. Here's a short list of the technology that we currently use. Don't worry if you are not a master in them all or if you don't see your favorite tool or language – you will have the chance to expose yourself to most and to convince us to expand the list:
- Go, gRPC, Python, NodeJS
- Django, Celery
- Cassandra, PostgreSQL, RabbitMQ
- AWS, Puppet, CloudFormation, Vagrant
- Redis, Memcached
- RocksDB
- Raft
- Grafana, Graphite, ELK, Jaeger
The Hiring Process
1. First contact: We’ll tell you more about the company, the work that we do, and why we think Stream is a great place to work. This step of the process is an excellent opportunity for you to ask us questions. We will also have basic technical and practical questions for you to ensure we have a good match.
2. Tech interview: We’ll put you in the same room with our CTO and another team member for in-depth technical conversations. We are going to challenge your practical abilities in areas like problem-solving, web applications, database design, and software design in general.
3. Meet the team: If it looks like a good fit from both sides, we’ll bring you in to meet the rest of the Stream team.
4. The offer: You are only a signature away from your first day at Stream!
Want to join an excellent team and build great products used by millions of users? If what we do sounds interesting, email me on merel@getstream.io or head over to
angel.co/company/stream!