We’re very excited to announce our new partnership with Codeship, which will give Firehose students free access to its service.
Codeship is a hosted Continuous Integration and Delivery service that helps development teams at companies like Product Hunt, CNN, and InVision ship their apps with confidence. All Firehose students in our full program will get the opportunity to gain real-world experience with a key tool used by teams all over the world.
“We are excited to partner with Firehose to provide their students with our hosted continuous integration and delivery service free of charge.”
– Mo Plassnig, Codeship CEO
Let’s get into how exactly Codeship helps dev teams and why it’s important for bootcamp students to know how to use it.
Why are continuous integration and delivery important?
Developers get really excited about this stuff, and for good reason. Continuous integration and continuous delivery save time in development, reduce the number of problems in a codebase, and help developers build features faster.
So, what exactly do we mean by that?
Let’s start by zooming out and talking about what is important in the world of web development.
Most web developers agree that it’s a good idea to build features using a process known as TDD (Test Driven Development).
Test-Driven Development is a workflow process where developers write automated software tests to ensure their feature works as expected. Developers are encouraged to always write these software tests, which will break if someone breaks their feature.
There’s a reason why it’s a good idea to write tests for features you build.
In the real world, web applications are often extremely complex. A team of developers writes the features. If you’re one of those developers, you might not even know about some of the features that exist on the application you’re working on. This means that there’s a decent chance that you might unknowingly undo a feature that a different developer added.
Automated software tests fix this.
If one developer accidently reverts a feature built by a different developer (or one they wrote themselves long ago and forgot about), the automated test suite will fail and alert the developer they’ve made a change that broke someone else’s code.
Software tests like this are awesome for a variety of reasons:
- First, you can have peace of mind that your changes aren’t breaking someone else’s code.
- Second, you’re preventing other people from undoing the work you’ve worked hard to do.
Given that, it’s not surprising that most developers think these software tests are good.
However, all good things in software development have trade-offs. Software tests are no different. It’s important to have a comprehensive test suite. But it’s common for the test suite to take a while, even 10-20 minutes. It can be super annoying to need to wait 10 or 20 minutes just to know whether or not you broke the app.
So, while it’s super important to execute these tests, it also can be super time-consuming.
Enter continuous integration (or “CI”).
CI creates a workflow in which your tests run automatically whenever you write code.
Gamechanger. If you ever make code changes that break your project’s test suite, you’ll get notified through multiple channels (both on GitHub and via email).
This is super cool. It prevents you from shipping code that breaks your app.
This leads to happier users, product managers, and QA teams. When these people are happy, developers are happy too.
The term “continuous delivery” refers to the practice of always ensuring that code passes the test suite and is ready to be launched.
Pretty much everybody agrees that automated tests, continuous integration, and continuous delivery are awesome tools that empower developers to build bug-free apps as quickly as possible.
Firehose + Codeship
Since CI tools like Codeship are so widely used in the real world, we’re super excited to make them more accessible to our students so that they can continue to get the experience they need to transition smoothly onto professional development teams.
The capstone team project in our curriculum is designed to bring students from coding effectively on their own to understanding how to be a high-impact developer on a team in the real world. After completing the core curriculum and demonstrating mastery of algorithms and key concepts, students are teamed up to develop an advanced web application together following an agile workflow and using tools like Codeship.
Our partnership with Codeship is part of our objective to give students the best opportunity possible to gain experience working with professional tools in a real-world setting and carry that into their endeavors beyond Firehose.
Learn more about our Online Software Engineering Program here and visit codeship.com/features to find out which Codeship product is the best fit for you. Choose between Codeship Basic (simple out of the box CI) and Codeship Pro (fully customizable CI/CD with native Docker support), which both come with 100 builds/month and unlimited projects and users.