I joined Buildkite 4 months ago. I get to work with the people I admired working with, on a developer-oriented product I personally interested.
- My vocabularies now added some new Aussie-flavored words
- Organization is flat and founders are hands on
- Humans are great humans; Great casual video chats.
- New cultures. Learning from many people across different expertise.
- Home office set up (sponsored by Buildkite 🤩)0
- Seeing People take parental leave and long holiday
Besides these, allow me to share some things I learned in one paragraph or two for the past 4 months. Feel free to skip things you’re not interested in.
We are currently a distributed team of 26 with everyone work remotely in Oakland, Seattle, Vancouver, Perth, Sydney, Hobart, Adelaide, Melbourne, Wellington, Berlin, and Tokyo.
Majority of folks are in Australia. We have people from Europe and west-coast America. Both parts of the world have 3+ hours overlap with Australia. We currently do not have timezone issues. Meetings are recorded for people who cannot attend. Most of things and decisions happen asynchronously in writing.
38 yet Flexible
We do not really have set hours or tracking how many hours you work. But thanks to Australia, legal workweek is 38 hours (yay!). It is only 2h less than the usual 40. It is really flexible to accommodate everyone’s priorities. Many coworkers have kids. Having kids while working 38h is still really difficult. Buildkite is really flexible allows everyone to take care of their family and still have a sustainable career.
Everyone works sensible hours. No one is putting extra work or anything. I’m not feeling the need to put in long hours to prove myself. We have two people since joined moved from 4 days a week to 5 days a week because work is not soul crashing like it used to be.
Work-life finally balanced.
We also have contractors. Some people chose to have a 3-day workweek or 4-day workweek. It is totally fine here and I don‘t feel contractors have any difference compares to full-time employees. In some places you can sense those differences.
I don’t need to spend money then expenses later during onboarding. This is great and very important1. I received a welcome box with all the things you expected, but this small photo book with everyone’s photos dedicated to me stands out. In this difficult time, this human touch was much appreciated.
For getting familiar with the codebase, I’m thankful to our tribe chief Keith (CTO) that ran a Code Safari for me. And other engineers for drawing and chatting with me on how Buildkite works and trust me to do things.
My buddy Eleanor is an excellent mentor. Help and guide me with so many things ️ (Are you reading this, hello ) I’ve video chatted with everyone in the company. People walked me through what they do.
We also have a "Continuous Onboarding" system which everyone can get familiar with different parts of our product, have chances to talk and listen to customers, make repetitive operations easier, and do hacks that make customers life easier.
Celebrating effort and achievement and all the good stuff. Celebrate people who do awesome work around you is important. Great work got recognized through our internal shout outs and wonderful writings. I am not good at receiving, but learning to say: Thank you!
I always believe in "If I do good work, I’ll get recognized eventually" and I think it is possible at Buildkite. Because I have seen many people thrive at Buildkite. 4 promotions in 4 months I joined.
No Shallow Benefits
I learned all benefits are there for a purpose. We do not have any benefit that keeps you working more. Company is not optimized to get more out of you. Company is here to help us stay in the long run. Work hard, but sustainably. Benefits are there to help us live a healthier life.
Since joined Buildkite, I have slept more. I feel less stretched at work. From 4-5h sleep to 6.5h+ sleep. I am doing weekly yoga with lovely coworkers (warrior 2). Got introduced to Oats milk. Growing love for home plants. Buildkite constantly asks me to look after myself. We have generous self-care budget
Writings trumps Chats
This is the first time I am using Basecamp for work. It is much better than Slack. Slack traumatized me and I think I finally starting to recover. Basecamp encourages more writings2. Everything on Basecamp is commentable and gets a full editor. Basecamp also has reasonable notification settings that reduce my stress greatly.
But we do have meetings.
Meetings are 70% fun, 30% business .
Product design catchup where I can participate and learn how things get designed. Weekly catchup is where all the fun is, 10% business. Weekly Engineering meetings we discuss how could we improve engineering-y things, then go improve those things or come up with solutions, collectively.
The virtual all-hands meeting for our Buildkite Anniversary was...phenomenal. It had llama farm tour 🦙, magic show3, and movie-quality videos in a company’s meeting! Have you heard of these 3 words when describing company all-hands?
Live cross to a llama farm was very legit pic.twitter.com/UqvHZtHwSN— Tim Lucas (@toolmantim) May 21, 2020
Technical meetings with people who were here longer than me does not feel confrontational that I need to present them with solutions. Instead we collectively discuss the problem and arriving at possible solutions. Is to find a way to help Customer. No blames if you don’t know anything. Everyone tries to help someone else to get that shipped to Customer.
Although meetings are enjoyable, we do not have too many meetings. Monday usually is a no meetings day!
But remote is lonely.
Facetime mitigates Lonely Remote
We have many facetime opportunities. We pair regularly. I think it may not be most productive, but facetime does let me feel less lonely and encouraging knowledge transfer. In this difficult time, facetime is great!
That being said I feel...
People write all sorts of things by check-in and messages. I get to know more about people, know deeper about someone, compared to I used to go to the office. You are not forced to share, but you can read them. My favorites are people talking about their favored YouTube channels, music they like, Glacier report, how to make paper planes fly far, and...Astrophotography.
Last night I got this much better shot of the moon by attaching my DSLR to my new telescope. Still reckon it can be sharper with a bit of tweaking but it’s a massive improvement #Astrophotography #stargazing pic.twitter.com/vOxtuMjHN5— Grant Colegate (@blaknite_) May 10, 2020
I felt I cook decent food. How wrong could I possibly be! There is a long-running check-in thread of people posting amazing food they made. As a person who loves food, I think I end up in the right place. And personally I firmly believe:
People who can cook great food, they will never be bad people!
Put cheese on it. pic.twitter.com/asevwxgPWy— Tim Lucas (@toolmantim) April 16, 2020
Once setup (1h), rarely has any issue. It is not dockerized development environment, but it is manageable. I use overmind to run everything like Nginx, puma, Sidekiq, etc.
Our app is a proud Monolith with organized pieces. Run the whole suite locally is 35 minutes. Test suite runs in 10 minutes on Buildkite with parallelizations. Deploy is very safe and stable. Running a single test’s feedback loop is snappy. Most of the codebase is manageable, easy to change, and organized. The codebase is full of playful ASC-II art. If you encounter a dragon in the codebase, you know it is a file requires more attention:
We work on shaped projects in six-week cycles with two-week cool-down. Pull Request must have reviews to ship. Default branch is always deployable. Everyone can deploy. The product engineering team is small, things move quickly.
Code Review is great. No one is nitpicking. People genuinely try to help other people to help customers, so get things shipped is our common goal. As a result of this, out of 131 Pull Requests I‘ve opened, 118 merged (90.1%), 13 closed (9.9%) so far
Building Buildkite by Buildkite
Employees get a free Buildkite account for life. I have since been using it to run my personal projects. The code I write directly impacts Buildkite. Building X by X is a pattern leads to great software.
We are building and using Buildkite. Building the platform while using the platform has many byproducts like documents are up-to-date, many things would be fixed because we are also using it.
There were many incidents after I joined (coincident…?). During the incidents, I joined all the war room, to see how to handle it. Not because I forced to. People are not pointing fingers during the incident. Everyone was trying to help each other to get this sorted out. Even still making jokes while thing is on fire!
Everyone on Support
We all do support in turns for a week. You really only need to focus on support for that week. Doing support can help to find recurring problems for customers. It is a learning engine! I had first Customer Support rotation in my 2nd month. It is my first time doing support, so was not easy. Really built up my empathy towards customers and remind me I still don’t know almost anything. Reinforce what’s important for any company, your customers.
Learning and Growing
I learned a lot reading internal messages, Pull Requests and look at how people are doing things. I also attended a training for 5 afternoons on PostgreSQL. People were all supportive during my time in training. Either writing more things down for me to pick up later or help cover my support tickets.
I am currently the worst musician. Learning every day, happily. Yet Buildkite is still small, I feel the people who is currently thriving are very close to me and I have so much to learn from them and I could be one of them one day.
No Competitions, No Politics
There are no competitions and politics unlike other workplaces I have worked for. No one is chasing promotions. The ideas are being challenged, not the people. Healthy debates about things, not about the people. It is not zero-sum. It is more like if someone is winning, then we all win.
Managers and 1:1s
I feel Manager at Buildkite is
gem install active_support, that they work with you and support you. Removes the roadblocks for you on the way ahead. No micromanagement. I had 1:1 every week. My manager listens to me patiently. Understanding, sympathizing, and encouraging me, unblock me when I’m blocked. Even at our size, during managers transfer (because my first manager is now on baby leave), we have a proper transitioned meeting of 1:1:1.
I think we only missed 1:1 less than 3 times, because my manager needs to take care of kids or takes vacations. One on one are quality conversations and does not feel stressed at all.
I have massive self-doubt. I think my problem is something called Super-Impostor syndrome no one has heard before. I always try to hide it and keep it to myself. But that’s wrong and I finally learned to be vulnerable about how I’m doing. It is always not easy to share for me. After showing vulnerabilities. I feel safer. The relationship gets better. Not struggling alone.
Feedbacks In, Actions out
The company constantly asks for feedback. Many company does that. But often no actions come out. And those employers who pretend to care for you and do nothing is even worse than who never says they care. But at Buildkite, we provide feedback and we see concrete actions coming to address our situations.
I once been told: Don’t do things that is easy for the company. Do things for the people.
Together in the time of COVID
Company has given 14 more days for anyone who needs extra time to cope with the situations. Work hours are really flexible to help with school closed and no child care. Additional budget to get equipment needed to work better from home.
The entire company feels like a tribe, not a family, with a very good vibe. People are constantly showing vulnerabilities and support each other. I haven’t seen anyone got mad in 4 months. Especially in these difficult times, really feeling we are in this together.
Finally I want to talk about 3 feelings.
I feel safe
As a new workplace, I feel I belong here. As a learner, I feel I am learning. As a contributor, I feel I am contributing. I made a mistake once that took down production. I did not get blame. I could go do something first without thinking about consequences. During serious incident I can ask questions. Seeing people especially CEO shows vulnerability also makes me feel safe.
I feel trusted
I feel muchly trusted. For material things, after 2 interviews, so many things company bought for me with no question asked. But material things every company with money can do. What increases trust more is transparency.
I can read almost everything in Basecamp.
I can see all of our metrics and revenue charts.
I can speak up for things without consequences.
I feel valued
My first day was a meeting with 2 people telling me how they already knew so much about me. They walk me through all the things at Buildkite. It is very comparable to real-world onboarding camp.
I was prepared to be a sort of freelancer that will likely be a contractor of Buildkite based in Japan and figured out health care, pension, and taxations by myself. But Buildkite has hired a professional global expansion company that removes all the overhead just for me.
After joined, I found this message that my lovely colleague Cath was preparing how to pronounce my name and other people were practicing too
My Favourite Moments
- People are laughing at jokes in my 1 month at Buildkite presentation
- Somehow the present box delivered 10 minutes before the meeting announced the present!
- I took Monday off and many other follows <3
- Tim did a lengthy post and video!! Teaches me how to take great pictures because I asked him casually
- Keith did magic tricks over company all hands meeting
- When we do a demo at HashiConf, there was a problem behind the scene. CEO pointed out internally, a team member offered a solution, then someone fixed it behind the scene. It is a streamlined case that echoes many things I said in this post.
- An admired coworker in high regard approved PR with nice words and emoji (he does not use it very common)
- Our support lead and coworker said kindest words I’ve never heard in other workplaces.
So all in all. I love it, so much!
Buildkite puts people first. I feel lucky I am in this wonderful company and surrounding by wonderful mates. People are really really kind and supportive. Team is in very happy vibes. They treat me so well. Everyone treats everyone so well. I feel respected. I think this is the first time I’ve been treated this well. Now I feel I can actually acknowledge my feelings and have people support me.
Buildkite is still relatively small. We are doing interesting things and relatively sustainable. It is easy to get to know people. I feel I can do so much more with the product. I feel I can actually make significant progress.
I only explored a bit of the Buildkite, a lot of them still covered by fog. I am looking forward to telling better jokes, stucking on difficult problems, hearing new puns, combating a dragon, attending our online offsite week, reading other people’s writings, experiencing people’s culture, cooking things together online (in real life later), saving an incident, making a big change, owning a big part of something, and continuing to explore everything else in the fog.
That was more words than I anticipated. Thanks for reading all the way to the end. For Buildkiters who are also reading this, thank you very much for being you and amazing human!
If the above sounds good to you, we do have some rare openings at the moment. We are currently looking for designers and marketing friends.
Do you want to know more about anything? Happy to answer all of your questions if you’re thinking to apply, send me an email: