What it’s like to be a developer at Eugene…this week.
I’ve been reading through back issues of increment lately and came across their ‘what it’s like to be a developer at…’ story, and thought I’d do one for Eugene —with one caveat — at Eugene we’re constantly evolving and growing so this is what it’s like to be a developer at Eugene…this week.
What developer tools do you use?
Eugene has been primarily remote for a year now and we use a lot of tools to help collaboration.
- For communication we use Slack, Zoom & Jamm.
- For code & project work we use Github and Jira.
- For collaborating with the rest of the organisation we use Notion, Linc.sh and Loom.
What do you program in?
We use Typescript and React for our front end web. Our backend services are also written in Typescript. On iOS we use Swift and SwiftUI.
What’s your development process?
As a small team we run pretty lean on processes in this area. We have a cross functional product team including design, front end web, iOS, API and Genetic Counselling domain expertise. We have fortnightly catch ups with external teams to gather ideas and fully understand the context we work in.
Our graphQL APIs give our client side devs freedom to work with our data in whatever way meets their needs. In most cases, additions to the APIs are non-breaking changes so our devs implement features independently.
When we release new features in our internal app (genie) we create a Loom video for all our users to watch.
How do you do code reviews?
We don’t have enough developers to run code reviews in the traditional sense, having an API developer review every line of react code is not an efficient use of time. What we do is feature reviews, where we walk through a complicated feature together to check our thinking. This is one of the areas I expect will change over the course of this year.
How do you test your code?
We have various automated test suites depending on the system. We can spin up a version of our production environment in the cloud relatively easily to manually test new features before they roll out.
How do you deploy your code?
We use GitHub actions to automate deployment on of our web app. APIs use the serverless framework for easy deployment. If we’re doing something that might break things we use blue-green deployment but we try to big complex changes and deploy small, easily testable small changes frequently.
What’s a day at Eugene like?
We start the day with our product team standup to talk about what we did yesterday, what we’re doing today and any blockers. This is our main point of collaboration for the day, then it’s usually heads down in execution time.
Some days are more meeting heavy than others. We have a reading club session each fortnight where the company comes together to discuss a topic (with some prior reading). We also do all hands, retros and come together to write a weekly status update to share our progress with the rest of the company.
What makes Eugene a special place to work?
Our work is very meaningful, we support our Genetic Counsellors in the life changing work they do. Every feature makes a difference and we get to see that. Inside our team we’re very open and listen to everyone’s perspective. When we make decisions everyone knows what we’re doing next and why.