Working at daily.dev
daily.dev is building a platform where developers can grow together. We are a fully remote company and we work on a non-linear working schedule; this means that you can schedule your day and align it to your personal life. And also every feature we ship is used by more 100k developers.
How engineering works at daily.dev
How are the teams structured?
We create standalone teams that can work independently of each other. Right now we have two teams in the development group; the web team and the platform team. The web team is in charge of building the web application, the extension, and doing API work. This team mainly focuses on getting the data from wherever they need inside the architecture to the application itself. The platform team is in charge of the deeper parts of the architecture like data engineering, algorithms, microservices, as well as cross-company services.
What tools do engineers use?
- Project management: Confluence
- Issue tracking: Jira
- Version control: GitHub
- Cloud provider: Google Cloud Platform
- Deployment: CircleCI and Pulumi
- Monitoring and logging: Google Cloud's operations suite
Can developers pick their own tools?
Yes, so long as it speeds up development and can help us create a better experience. This is one of the advantages of being a startup and having a small team - we can be flexible in adopting new tools.
In addition, all team members get $3,000 for setting up a work environment at home and we also donate $600 per year to an open source project of your choice.
How does the development process work? What's the process for working through bugs, features and tech debt?
We are in the middle of redefining our development process. This has previously been a straightforward Kanban approach where developers pick off a backlog. We’re moving to Product Manager directed development with all the prioritization in Jira and developing in two-week cycles. It’s somewhere between Scrum and Kanban.
How does code get reviewed, merged, and deployed?
When the developer creates a pull request, two reviewers review their code. Depending on the request, it can take a few days, but we try to work quickly. We collect all the feedback, ensure best practices, follow the style guide and then we do squash and merge.
What is the QA process?
We have unit tests and integration tests. It's enough to be certain that it works and that in the future we will not break it, but it's not 100% coverage at this stage. Every developer is in charge of testing their work.
What are some recent examples of interesting development challenges solved by internal teams as part of building the product?
We are working on a new browser extension feature which will show the daily.dev metadata in a sidebar alongside every page you visit - comments, bookmarks, even a tl;dr of the article. The challenge there was to not impact the performance of the page. We see ourselves as guests on the page, so we don't want to hijack and impact the behavior. We had to reduce the number of requests whenever a page loads and make sure everything stays out the way. This was a very interesting challenge.
How does on-call work?
We don't have an on-call policy yet. Luckily, the system is pretty stable at this point. We have alerts, but they’re routed to the CTO. This will be changing over time as we grow and services become more complex.
Hiring process at daily.dev
How does the application process work? What are the stages and what is the timeline?
We are not available for applications at all times, but once we open a position, we ask applicants for their background and other relevant details. Usually, we try to do the entire process as fast as we can.
The process starts with a personal interview, then technical interview (system design for platform team or React task for web engineers). Then we have an interview with the CEO. And that's it. We send the offer, and if everything goes well, we sign and start working together!
Console is the place developers go to find the best tools. Each week, our weekly newsletter picks out the most interesting tools and new releases. We keep track of everything - dev tools, devops, cloud, and APIs - so you don't have to.