What is Cloud Development? In a nutshell, it is software development, but focused on the cloud. Let me show you.
When Netflix started in 1997, they only offered DVD rentals by mail. While they had no late fees and a growing catalog, it wasn't until 2007 when they launched their cloud streaming subscription service, that their business really took off. With cloud development Netflix changed the world, offering a cloud streaming service where almost 200 million people use Netflix every month.
So back to the job at hand or role at hand. Cloud development specifically is developing applications that take advantage of cloud platforms. If you buy a house, then you need to pick up all the furniture and items to make it a home. It's up to you to put it all together in a way you seem fit. But you don't have to worry about building a wall, securing the foundation, creating a window or glazing the roof tile. You can jump right in and furnish the house.
Cloud computing works in the same way. You don't have to worry about infrastructure such as power or physical hardware. You pick out the services you need to create the application that solves the problem you are facing. And to do this, a common approach is to use a cloud vendor, such as Microsoft Azure, Google Cloud Platform, or Amazon Web Services. Just to name some of the popular ones. It is immensely powerful and you get started really fast.
In no particular order the skills needed include:
You will be applying logic in every project of every day. This is sometimes math based, sometimes business logic, sometimes system logic of how things fit together.
You need to understand how data is received, processed and stored. This could be data about customers, data about processes, business data, or any other kind of data.
As the name suggests a cloud developer needs to understand how the cloud works. Various cloud platforms have strengths and weaknesses, and you need to understand these for the one you choose for your project.
Any kind of cloud development requires programming skills. In fact, it is so important. I want to explain that in more details.
I've been developer for a better part of 20 years, and working specifically with cloud development for the past 10. And along that path, I have come across what I call The Fine Print. The bits of information I wish I knew before I started.
The fine print
First of all, the coding. I got into programming because I love coding the building, the fitting together of different parts. Coding is only a part of it. The paperwork meetings and the planning takes a large chunk of time, but it is necessary to create great cloud applications and understand what the business nuances are.
Second accept that your code is obsolete. The moment you are done, sometimes even sooner technology and ideas change too fast, that you will forever be improving and rewriting what you're finished. Now, this isn't a bad thing, but you are never done in the sense of building a house, restoring a car or painting a wall.
Third, be open to change. This business changes incredibly fast. And the amazing new cloud service you use yesterday will be retired, replaced or changed tomorrow. But that also makes it incredibly exciting.
Fourth, there are as many opinions about how cloud development is done. As there are cloud developers, everyone has their own approach and preferred way to do things you will face compromises difference of opinion, and often a very healthy discussion on which approach will serve the product better.
Making a real difference
Let's end in the real world again, back where we started. And I want to use an example close to home.
Sam Kroonenburg, the CEO and Co-Founder of A Cloud Guru.
In 2015, I started A Cloud Guru with my brother, Ryan. We wanted to teach the world to cloud with a really slick engaging learning platform, not a corporate stuffy training portal.
I had four kids and a mortgage, and I had no time to build it. I gave up, actually gave up my family vacation and locked myself away for four weeks to build it. The question was how? Because in 2015, you'd usually spend four weeks just setting up the bones of a project, the servers, the database.
So I decided to build on the cloud instead, because the clouds full of rich that are always running, they're ready to go and then manage for you. And that lets you focus on building. What's truly unique about your product. So I built the first version of the school in those four weeks. I launched it. And since then we've helped literally millions of people learn about cloud platform.
Our low hosting costs have scaled really beautifully with the success of the business, thanks to cloud. And honestly building the clouds just fun because the cloud gets better every single day. So that means that systems you use get new bells and whistles all the time that you can plug in to make your product even better for your customers. The cloud's incredibly powerful. It's an awesome way to get ideas and products to market really quickly, and then scale with demand as it takes off. It's awesome fun. I wouldn't build any other way.
So, you want to be a Cloud Developer, but what's next? I find that the best way to learn any technology is to build something. It could be an image compression service on the cloud, an add-on to an existing application, a Nicolas Cage meme generator, or another world essential service.