The "cloud" is a common computing buzzword with multiple uses, Many of us take advantage of cloud computing — whether that's for basic storage or complex pay-as-you-go computing power, but what does it take to build and develop for cloud systems?
Photo by Yentafern (Shutterstock)<
To learn a little more about the work that goes into building and maintaining such systems, we spoke with an experienced engineer who works for cloud hosting company Atlantic.Net.
Tell us a little about yourself and your experience.
My name is Jonathan Zuilkowski and I am a Senior Cloud Dev. Ops. Engineer at Atlantic.Net, a cloud hosting company. I have been working on virtualized and cloud environments for a number of years. I originally got familiar with virtual servers on Linux around 1997, in the financial industry. While this was not necessarily cloud architecture, the tools and methods were similar. In 2009, I began working on a large scale internal cloud that hosted a scientific data analysis platform. From there, I went on to build an internal cloud in support of processing GPS (Global Positioning System) data before joining Atlantic.Net in 2013, to perform cloud architecture and development.
What is cloud hosting and what is it typically used for?
Cloud hosting is gradually replacing the old data centre hosting model where a company would buy or rent servers, and rent power, network throughput, and physical space in a data centre. Cloud servers compress this into a virtual server running on a host. Customers no longer have to be concerned with hardware failure or hardware becoming obsolete. Also, it can take anywhere from one day to a week or more to provision a hardware server. We can provision a virtual cloud server in under 30 seconds, with no overhead of shipping, racking, arranging network and power, etc. The time to market with cloud servers has shrunk to seconds as little as a few minutes vs weeks of planning and physical onsite work. All of this can now be accomplished over the network from anywhere in the world.
What drove you to choose your career path?
The enjoyment I get from systems management and automation coding drove me to choose this career path. I have previously held positions including network administrator and dedicated developer, but I prefer the variety that comes with systems management.
What kind of education and experience did you need?
People tend to disagree with me on this, but I believe educational background to be mostly inconsequential beyond basic skills [in this industry]. Possessing a 25 year old degree in Computer Science will not help you if you have not kept current with technology. I would like to see the industry shift toward aptitude rather than educational pedigree. A person that is good at problem solving, and can quickly absorb new technology is far more valuable and will be more successful than a particular formal course of study, in the long run. The experience required is a wide area of systems knowledge, particularly in operating systems subsystems, and how to manipulate them in interesting ways. Read, study, practise — the information is all out there for free.
What kinds of things do you do beyond what people see? What do you actually spend the majority of your time doing?
I spend the majority of my time split between finding new, more efficient ways to deliver our product and automating our support systems so that they require little operator intervention.
What misconceptions do people often have about your job?
The same old chestnut that we all deal with — that it enables me to fix any problem with any electronic device.
What sort of tools are you actually using day to day? People might imagine you staring at a terminal window all day, for example, but what sort of software do you use while you work?
For my development, I code in Python and I primarily use JetBrains PyCharm. It's a fantastic IDE that covers everything I need to do. We also use Git for version control, and Atlassian Jira for project management and change control. We try to keep it very simple so that the tools do not become a hindrance. To be honest, I do in fact rely heavily on a terminal as well.
What are your average work hours?
Usually 9-12 hours a day, although there has been an 18 hour day here or there, as needed.
What personal tips and shortcuts have made your job easier?
Knowing where to find the information you need when you need it is far better than trying to memorise everything. Knowing how to prioritise is also extremely important.
What do you do differently from your coworkers or peers in the same profession? What do they do instead?
I believe there is a tendency in the industry to pigeonhole yourself into a rigid way of looking at problems, solutions, and technology in general. What is considered abhorrent today, might as well become standard practice tomorrow. What is common today will eventually become obsolete. Try to keep a fresh, open mind while looking at your IT landscape and avoid holding on to a method, system or brand for dear life. There are problems and technological solutions — try to keep it simple and avoid dogma.
What's the worst part of the job and how do you deal with it?
You will inevitably be forced to deal with prior decisions you've made that you wish you hadn't. I choose to use these as a feedback loop for designing the future and avoiding potential pain.
What's the most enjoyable part of the job?
Innovating cost effective, more efficient systems. These directly improve customer experience and are a joy to maintain. The most enjoyable part of the job however, is the team I work with. Having a compatible team is, to me, the most important quality of a company.
Do you have any advice for people who need to enlist your services?
Compile relevant facts. Until a problem or goal is defined, you cannot offer a solution.
What kind of money can one expect to make at your job?
This varies considerably based on experience and skill set.
How do you move up in your field?
Innovation. Keep up to date on current technology and always ask yourself "what's missing?" There is always opportunity to grow and create. Don't be afraid to borrow older ideas, or ideas from unrelated fields. Be a contributor and a creator.
What advice would you give to those aspiring to join your profession?
Spend time learning the ins and outs of the various flavours of Linux. Spend more time researching the direction it will be taking. Read about the goals and milestones of the various distributions. Use your imagination and don't be afraid to suggest outlandish ideas, they often spawn good discussion. All that we do today would have been considered madness 100 years ago.
Career Spotlight is an interview series on Lifehacker that focuses on regular people and the jobs you might not hear much about — from doctors to plumbers to aerospace engineers and everything in between.