One of the best parts of spinning up a new programming team is setting the processes up from scratch. That means fixing your past failures and, more importantly, playing with the shiny new toys.
The first thing we fixed at Dwellers, was setting up a continuous integration service on the very first day. I've never worked with an environment that makes sure all my tests are passing and pushes things into staging before. I tried a few years ago, but it was a bitch to set up and never worked.
Sure I run tests all the time, and have no problem deploying to a server - especially Heroku where you just do a
git push heroku. But it's tedious and the less things you have to think about, the more brain cycles are free to solve actual problems.
Initially I suggested using TravisCI but they still don't support private repositories. Luckily we found CircleCI. It focuses exclusively on private Github repositories. Perfect.
The more I look, the more I'm impressed by everything CircleCI does. It made pushing code even more fun.
When you push to your branch it runs tests on that branch alone and tells you how you did. There's also a history of the past few pushes in the dashboard so you can see what your track record's like.
Click on a specific push, will show you the run steps in real time. It's really fun to watch. But I should get over the novelty and stop yak shaving all the time.
If all the tests pass and you pushed to
master, the code is automatically deployed to staging so the business guys can have fun clicking around. And seeing your code live, even just on a server nobody outside the office will see, only a few minutes after pushing to Github, is super rewarding.
CircleCI can also notify you about the tests in a number of ways like sending you an email or being chatty on HipChat/IRC ... but that's not very interesting.
My favourite feature is that Github seems to support CircleCI. Somehow. I haven't installed any plugins or anything, just connected my Github account to CircleCI, which is how you login and get access to any project you have access to on Github, and something new appeared.
Those little icons in the branches list. That's new. I don't know how it got there, but it's dynamically updated with the status of every particular branch from CircleCI.
If you're still waiting for TravisCI to support private repos, give CircleCI a shot. It's really awesome.
Learned something new?
Read more Software Engineering Lessons from Production
I write articles with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.
Subscribe below 👇
Software Engineering Lessons from Production
Join Swizec's Newsletter and get insightful emails 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"
Senior Mindset Book
Get promoted, earn a bigger salary, work for top companiesLearn more
Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.
Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.
Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help 👉 swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.
Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers 👉 ServerlessHandbook.dev
Want to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz React components your whole team can understand with React for Data Visualization
Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog
By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️