This afternoon we launched the JuniorDev Refactor: Build & Deploy workshop. I'M SO EXCITED!!!
I've been working with LJ and Luke (who run JuniorDev.io) for a couple of months now on the idea. We've been planning out content and practical components while drinking Nutella milkshakes. It's been rad 😀
Apart from milkshake sessions, I'm pumped because through my years of consulting with Readify, continuous integration and delivery have consistently been one of the quickest, highest value wins we can get for a client. Killing off manual FTP-based installations, and replacing them with automated, tested deployment pipelines creates massive productivity gains, dramatically reduces risk and enables a much more agile approach to software development.
How? The more easily and often you can deploy, the quicker you can get feedback; the quicker you can get feedback, the quicker you can make your product more valuable - and providing value is what we're all about! Not to mention never having to do "deployment weekend/week/month" again. Who likes being at work at 2am on Sunday morning? Not me!!!
Here's some of the projects which were the most fun, because of the dramatic value CI/CD approaches were able to provide:
- A client in the services industry
- Transitioned them to zero-downtime deployment using staging slots & feature flags
- Moved them from doing once-per-month deployments, to sometimes multiple per day!
- Built the ability for them to spin up new environments from scratch in under an hour, a dramatic improvement on a single person working at it for the better part of a month
- A client in the travel industry
- Upgraded them from SVN to Git
- Introduced automated deployment & configuration management
- Killed off manual deployment
- A client in the energy industry
- Parallelised a massive suite of automated functional tests, cutting build/deploy times down from multiple hours to under an hour (still not optimal, but better!)
- A client in the financial services industry
- Automated the build, package and deploy of an iOS native app (before hosted iOS builds were a thing)
- Automated release of the app via TestFlight
YES!!! This is the kind of stuff that all devs should take as the minimum requirement for a cohesive team environment, and it astounds me every time I see people still doing manual deployment. That's why I'm so excited about running this workshop. Sharing the love with our up-and-coming Junior Devs - it doesn't get much better than that :)
Over the next couple of months I'll be doing a series of posts on topics surrounding the workshop, including things like Continuous Integration, Automated Testing, Deployment Automation, Configuration Management & Continuous Delivery. But for now, share the workshop link with a Junior Dev near you, and let's kill off manual deployment together!