Why Every Developer Should Learn Cloud
In the 21st century, it is has become quite acceptable to teach kids how to code. Can anyone imagine how the world of programmers be when today’s kids will compete with older programmers?
Technology especially software is ever-changing. And the very definition of the word ever is getting a shorter timespan. Developers are expendable. Every 2–3 years, we have a newer framework, and every 5 years we have a new paradigm.
How can developers remain relevant in the industry, maintaining the love for the tech which keeps obliterating them?
The Answer Is Cloud:
The answer is to not marry a tool or platform but to grow oneself into a self-contained solution provider, from a mere programmer/developer.
Every developer must learn ways to:
- Accomplish more with less
- Connect disparate systems
- Learn the rules of security, privacy, and scalability while doing the same
Needless to say, the cloud is the tech that accomplishes all of the above 3 things in any software development project:
- Cloud helps developers separate the consumable data (on the server) from the data being consumed (on the devices). This is the expansion of the client-server paradigm, with the reduction in the cost of ownership of servers — the old way of accomplishing more with less.
- Just like plain-old servers, cloud tech also enables you to connect with disparate systems — be it for identity management or payment processing. But cloud achieves it in a much more scalable way. Public cloud solutions such as AWS, GCP, and Azure operate on the concept called machine images, which are pre-made stacks of necessary toolchains to connect with other systems with minimal development time.
- In the old-server paradigm, one must learn the fundamentals of security and privacy. How does one keep applications and data segregated from each other and from the internet? For enterprise products, finer-grained control is also required between departments and hierarchies. Public cloud solutions give both security and privacy as in-built features, at almost every layer of the OSI model — including network and application.
Startups have to embrace cloud to stay relevant:
Startups are cash-strapped. Mostly due to this reason, they are also the places that require the most senior developer talent.
Having in-house servers for a startup means
- it has to spend more on hardware
- scale more when the demands grow, and in a quite coarse and drastic manner (e.g. buy 3 servers against 1 when traffic is 3x. What to do with them when it drops?)
- hire dedicated hardware/DevOps professionals.
Public cloud solutions (AWS, GCP, Azure, DigitalOcean, etc.) solve the first two problems by offering fine-grained and highly scalable infrastructure — in terms of storage, database, and computation.
Cost-effectiveness is the killer criterion. All leading public clouds also provide startup credits to assist proof of concept development efforts. I received $1000 AWS startup credits twice for my upcoming mobile startup.
When a developer presents herself as a programmer + cloud dev, she solves the third problem. She becomes the sweet spot of hiring for startup companies. It means that the startup no longer has to scout for DevOps. It is OK to have less expertise and more experimentation since it saves them serious cash when they need it the most. An experienced developer having even basic cloud skills is a great deal.
You Get Paid To Learn It:
This isn’t a direct payout, but if you look at it closely, it is mostly true.
All leading public cloud providers have plenty of training material online, mostly videos. Public cloud infrastructure is mostly a declarative technology. You mostly write cloud formation YAML/JSON or terraform files. Again, popular samples are available freely. Please see some AWS resources I shared at the end of the article.
If you familiarize yourself with cloud formation parameters, you can master them in no time. With free tiers + startup credits, you can experiment seamlessly. You really do not have to join any classes.
Certification training helps you get certified faster. They are paid, but you don’t have to go for them if you don’t want to. There is plenty of material available on YouTube if one searches with certification exam titles.
Many cloud-focused organizations also sponsor such training, in which case the value is 2x: You learn it quickly, and you can also capitalize it for your long-term career. Certified cloud developers are highly in demand — they mostly command 100K USD+ in annual salaries.
Cloud is the only savior from obliteration:
If you want to stay relevant in the software industry, you must continually learn. When you learn more programming languages, it expands you in the horizontal direction. You only get more ways to accomplish the same thing.
When you learn cloud, you become capable of handling tasks of more than one person. Due to cloud proliferation, specialized DBA roles have almost vanished.
Learn it soon to advance your career, before it becomes a saturated market, or industry automation eats it up from inside.
AWS Resources:
- Cloud formation templates
- AWS Training Videos
- AWS Certification