What's new
Carbonite

South Africa's Top Online Tech Classifieds!
Register a free account today to become a member! (No Under 18's)
Home of C.U.D.

DevOps Study advice

Serenath

Epic Member
Rating - 100%
34   0   0
Joined
Sep 3, 2013
Messages
320
Reaction score
75
Points
3,335
Location
Cape Town, WC
Hi everyone

As the title states, need some career / study advice please.

Worked in Tech Support for a few years now, and want to take the next steps towards furthering my career and pursue DevOps eventually.

Although still doing some research on what exactly is needed for DevOps (maybe some peeps currently working as can shed some light on this), thought id start with applying for a testing position at my current company, as i read testing (more precisely automation testing) is high in demand.

I did the ISTQB Foundation Cert exam last year, but unfortunately failed with two marks, and have the option to re-write it before end of March, otherwise i have to wait a whole year to write again. (Part of the Terms and conditions found on there website.)

This is basically a theory only course and exam, and does not really give you any hands on or practical exercise for the job at hand.

I am fairly certain i have a good chance getting the junior testing position regardless of having the Cert., although it would increase my chances nonetheless.

I was thinking try and apply for the job, if i land it,...work in it for a year and gain some valuable experience and then give the exam another go and then for the duration of this year try and pursue the Amazon Cloud Foundation Cert and / or maybe do a few Udemy short courses maybe (Microsoft Power Shell, Bash, PHP, JavaScript, NodeJS, Python) assisting in the climb for DevOps.

Any advice / guidance will greatly be appreciated.

Thanks in advance
 
Short version: Niche it. Don't overcomplicate. Overcomplicating leads to confusion and misdirection.
 
Last edited:
I would say to start small and work your way through different courses. I work as a Cloud Engineer and am also very interested in DevOps as a career path.

Some starting points I would suggest are:

Learning Material:
Microsoft Learn is pretty decent. You can follow the AZ-400 course which teaches you all the DevOps related practices and has you go through example scenarios

I can also recommend Techworld with Nana on Youtube. Her channel is focused on various DevOps technologies and practices and she explains things really well.

Certification:
Microsoft has TechDays where they give you free cert vouchers for some of their main ones (AZ-104, AZ-400 etc) - These are proper sought after certifications. I've used this to great advantage even though I get access to vouchers through my workplace.

Infrastructure:
If don't have money to buy hardware I would say give the Oracle Cloud Free Tier a shot. This gives you 2 micro instances and some ARM compute for nada. I wouldnt worry too much about learning the Oracle Cloud Platform itself unless you're interested in it.

I have a backup repository, Azure DevOps agent and 2x K3s nodes running for nix.

If you do want to go for bare metal kit I would just setup a cheapy whitebox PC with sufficient resources, Hell I run 2x whitebox PC's with like 2nd gen i5 and i3 processors and a couple of SSD's and have multiple VM's running (DC's, Cert Authority, K3s nodes, Veeam Backup, File Server) - works a treat

Software:
The hot tickets right now seem to be:
- Terraform
- Kubernetes / Docker
- Cloud
- Git (Github, Gitlab, TeamCity etc)
-CI/CD (Github Actions, Jenkins, Azure DevOps)

You can use the Oracle Cloud Free Tier and/or whitebox kit to practice and hone your skills on the above.

Also put your code (Terraform, Kubernetes manifest's, Ansible playbooks etc) on Github/Gitlab/TeamCity. This is great thing to put in your CV as it shows the prospective employer that you may not have the certs and experience, you sure as hell have the drive and tenacity to learn and grow.

Good luck!
 
Well you’re the first person I’ve seen in a while asking for advice rather than “advise” so you’re already +1 to most in my books.

I’m not 100% familiar with what DevOps guys actually do, but my advice for getting into any Dev related role is to learn the principles of dev as a priority over learning multiple languages.
Once you’re comfortable with troubleshooting dev issues, how to deploy stuff and how to write a very basic program, learning new languages on the fly becomes a fun challenge.
 
Well you’re the first person I’ve seen in a while asking for advice rather than “advise” so you’re already +1 to most in my books.

I’m not 100% familiar with what DevOps guys actually do, but my advice for getting into any Dev related role is to learn the principles of dev as a priority over learning multiple languages.
Once you’re comfortable with troubleshooting dev issues, how to deploy stuff and how to write a very basic program, learning new languages on the fly becomes a fun challenge.
DevOps is the combination of cultural philosophies, practices, and tools that increases an organization's ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes.

It's a method of developing and maintaining services and applications at a rapid pace. Hence the consensus is to not overcomplicate matters, but focus on the task at hand. There's no need for knowledge of 100 languages or subject matters, rather knowledge of the tools and tasks being used for the specific environment is required.
 
Basically:
Ansible and Linux skills.
Github, Github Actions and similar.
Python and YAML.
Then onto the cloud providers. The first few Amazon certs are about $150, mostly theory on architecture and get to sysops and developer.
Any cloud infrastructure you can get is nice to have.
 
Howdy.
I'm too lazy to read what's been said so if I'm repeating what's already been said - oh well.

The textbook definition of DevOps mentions stuff about people, processes and culture and other fluffy words without actually explaining what the heck it is.

Very simply, DevOps is the merger between software development and the operational aspects of building and deploying applications and solutions.

As an example, it wouldn't be uncommon to work in a team of 10 - 15 developers in an enterprise/corporate environment; with all developers contributing to a finite set of applications. These applications would need to be developed on locally (on the developers PC) before being deployed into a number of environments for various stages of testing before finally making it to Production.

Consider two or more devs working on the same application at the same time. Each developer works on their own copy of the code making their required changes. This code needs to be deployed to a DEV environment for some basic sanity and integration testing before moving to a UAT environment for the Testing/QA team perform their own testing. Next, the application may be deployed to a PreProd/Staging environment before finally moving into the Production realm.

Sounds simple. But how do we make sure that when Dev B deploys to the env that they don't overwrite the changes made by Dev A?
Also, what if Dev A's changes needed some environmental update or perhaps a database script that needed to be executed? Dev B doesn't know about this.

But now wait; what about security? The devs don't have access to any environment beyond DEV. So how does the update get to QA and Prod?

As luck would have it; there's a bug in Prod that needs to be addressed by Dev C asap! Dev A and B have already completed their code changes and the application is in PreProd. How the heck do we get Dev C's changes to into Dev A & B's release?

The idea behind DevOps is to put processes and tooling in place that manages all of the aspects of the software development lifecycle. We need ways to manage the codebase (source code repositories), ways to build the applications (continuous integration), ways to manage the versions, ways to deploy the versions across multiple environments (continuous deployment). This is the essence of what DevOps must achieve.

Of course, that's just a basic view. It gets more fun when you start thinking about containerization, serverless applications and the fact that you can spin up and tear down entire environments using a darn text file!

If you're still reading, thanks cos I'm still typing.

You need to understand the actions at play and figure out how to get them to work in an orderly manner. Then you gotta introduce tooling that supports the desired processes and put together SOPs that govern how everything is done. Generally a lot of the thinking work has already been done within the Dev teams and what's required is the support and maintenance of the toolsets.

Toolsets also need to evolve over time to take that into account.

Depending on the environment you're in, testing can sometimes be a dead-end job. Many companies and CIO's particularly like to bang on the " AI and automation " drum but get very shy when they see the costs involved.

So know what's on offer before you get into anything.

A lot of times, if you're sharp, you can use your current role to implement tools and ideas that no one else within the company has thought to do.

As an example, have you looked into tools like Ansible or Puppet to see how they could be used in your domain for managing the state of various workstations? This could be a very easy way to start learning on the job in your current role and working towards something else.

When DevOps is done right it is almost invisible to the mind in that everything "just works".

Stopping my post here before I end of losing track.

Ask more questions. I like typing while half-watching Netflix and a third catching up on "news" on YouTube.
 
Hi there,

It's great to hear you're interested in advancing your career towards DevOps. Based on my experience as a technical team lead in data engineering, I have a few insights that might help you on your journey.

Firstly, AWS certifications are indeed valuable. Specifically, I recommend starting with the AWS Cloud Practitioner, then moving to the AWS Developer Associate, and finally the AWS DevOps Professional certifications. I managed to complete these in about two months using Stephan's course on Udemy. While exam dumps, such as those on Exam Topics, can be helpful, remember they should supplement your study, not replace it.

However, it's important to remember that certifications, while they might get you an interview, don't substitute for hands-on experience. They provide foundational knowledge, but the real learning comes from applying this knowledge. To gain practical experience, consider working on personal projects, contributing to open-source software, or using online lab environments. Platforms like GitHub or cloud-based labs can be particularly useful.

In DevOps, technical skills are crucial, so focus on Python, Terraform, Kubernetes/Docker, and understanding AWS best practices and services. However, don’t overlook soft skills like teamwork, communication, and problem-solving, which are equally important in a collaborative field like DevOps.

Also, since you're transitioning from tech support to testing, leverage this move. Skills in testing, particularly automation testing, are highly relevant in DevOps. Use this opportunity to build a bridge towards your ultimate goal.

I'd also suggest staying current with industry trends through webinars, blogs, and forums. DevOps is a constantly evolving field, and continuous learning is key.

Lastly, networking can play a significant role in your career development. Engage with the tech community through meetups and professional groups. If you're interested in a company that nurtures talent from junior to senior levels in DevOps, feel free to reach out, as I can provide some recommendations.

Remember, the balance between certification and actual hands-on experience is crucial. While certifications will open doors, your practical skills will carry you through them. Best of luck on your DevOps journey!
 
Hey man!

It's really cool too see people still interested in devOps.

Now onto my response
I was a devOps engineer, then a devops/ backend engineer, and now I am a tech lead

So my 2c in this is always understand the underlying tech stacks, for example in my opinion, cloud is cloud, you need to understand cloud engineering limitations as well as the provider and not just the provider. They love to lock you into their eco-systems, but understanding the difference between a network layer and the application layer to the service layer is an invaluable skill to have. Also just a random note, nothign in cloud is free, nothing....

My experience with DevOps is that they are the goto guys when something goes wrong, because they understand the undercarriage as much as the pretty UI as well as the Back end code and how to decipher the logs and draw a picuture in their minds with logs (network + application logging)

Getting ceritified helps you get a foot in the door, but expierence gets you a lot futher, like a lot lot.

To me there has never been a real follow this path to get to devOps, it's alwasy been how deep are you willing to dive down the rabbit hole.

Microsoft Power Shell, Bash are great skills, in devOps you spend 2 weeks on creating the script to save you 10mins a day to not do those task, you also script your fingers blue on some release pipelines because the 'ArChIteCHS KNEwS BaTTIr' and they don't follow standards

understanding code is also a massive advantage, not a requirement but putting a dev down because he does not know that you know his app is defintly not scalable due to choice y sure is fun. Jokes aside, knowing that best practices in code and how to connect to a cloud providers services is an absolute life saver in some cases when you need to argue to get costs down or on how you structure the newtork layer between services
Languages I reccommend is C#, Java, Go and RUST if you are brave enought

The other thing is, while starting don't be afraid to ask questions, you will see things in your pc that you didn't know exists and you would not have thought to google it, or know how to google it

Lastly, DevOps is a high stress environment, as you are responsible for cost, and will need to at some point in your career take charge and tell them what to do, or if something is going down in Prod and no one knows, it's your head

but it is fun, and can be hell on earth, but you learn amazing things

and a word to the wise, Do Not fall into the release manger role, it can happen without you noticing, bulding a pipeline is fun, making sure there is 99.99 uptime is amazing, designing your own patterns is awesome, watching them go through, not so much
 

Users who are viewing this thread

Latest posts

Back
Top Bottom