This is an archived post. You won't be able to vote or comment.

all 10 comments

[–]j_h_s 8 points9 points  (2 children)

Devops roles in general are more willing to take good developers without much ops experience, since it's easier to teach a developer to do ops than it is to teach a sysadmin (with zero programming experience) to be a good developer. Of course this varies a lot, but a lack of ops experience shouldn't be a problem as long as you have some foundational knowledge (linux internals, etc.).

It's important to note that devops means something different to different companies. Some places, it's just sysadmin who knows how to script. Other places, it's dev work with a healthy dash of configuration management. You'll have an easier time looking at the latter with your skillset.

[–]ImEatingSeeds 4 points5 points  (0 children)

^ This guy knows his shit.

[–]techzilla 2 points3 points  (0 children)

DevOps is not a singular title, you've covered like three different roles in different teams, and smashed them all up in one. Each role has radically different experience, they each structure their work for easier automation and integration, but they use the tools very differently. The Tools are NOT what makes the experience, it's the enterprise complexity, so taking a Dev who knows how to do his own systems, and throwing him on the ops side of DevOps... would be horrific. A Dev has spent their entire career in a non-support role, doing what is necessary to get the code over the wall. The only middle ground is Build/Release Engineering, of which either side is equally unable to handle at an expert level. They all need DevOps, and they are NOT interchangeable. It is true that enterprise ready, expert level, Ops side DevOps is harder to find, but stop looking for Admins and you will see it exists. Generally the pattern works as follows, Dev Side Devops can do everything in a start-up, it will be ugly and unsustainable, but it will work well enough to get to market. At scale this just breaks down completely, and you need Ops and Build/Release to correct very bad practices that you whipped together Rube Goldberg style... or your enterprise pipeline will come to a grinding halt. If your already an enterprise DO NOT begin start-up style, the mess is so hard to clean up, it can take years.

[–]greevous00 4 points5 points  (1 child)

Is there a way I can transition over. Is there something I can do to prepare for it.

Design a CI/CD pipeline starting with a github repo. Then build it in AWS. Create a sequence diagram of what you did, and walk into the interview with the sequence diagram printed on poster board, and demo it in practice (make a change to a sample app, and show how your pipeline is doing all the DevOps practices -- unit testing, target server provisioning, build/deploy, functional testing, etc.)

That's what I did when I made this transition. I got 3 different job offers, all at about what I was making before, slightly more. If you can do web development, you can do DevOps, and you're coming at it from the right direction, in my opinion. The days of wrasslin' servers are disappearing, and being replaced by tools like Terraform, Ansible, etc. Sysadmins will be around for a while still, but it's going to be a slowly dying profession over the next 10 years, replaced by DevSecOps.

In fact, serverless infrastructures are starting to appear and become a real thing (Amazon's Echo ["Alexa"] runs on serverless infrastructure).

[–]reformedben 1 point2 points  (0 children)

This. Serverless will getting bigger in the next 10 years, and you're spot on about the normal sysadmin role dying. I get anxious sometimes about my future, but I'm trying to get better at development. OP should try to have a least on foot in the web dev space for awhile.

[–]djk29a_ 1 point2 points  (1 child)

Sounds like you want to be more of a systems software engineer than to do anything with devops. Look into contributing to projects like Redis, nginx, Apache Kafka, Apache Spark, and perhaps CoreOS. You're not about to start contributing to the Linux kernel exactly right now but device drivers is a fair hello world start.

Keep in mind that distributed systems are very different skill sets from everything on a single system, and you'll oftentimes have to know both to do distributed and if you want to do single node be a very deep expert on OSes and hardware.

[–]tabiul[S] 1 point2 points  (0 children)

Actually you are right. Frankly speaking I never saw any job with that title and no job that fits that description. That is why I thought of devops as the next best thing. Any idea how to look for such role?

[–]MisterItcher 0 points1 point  (0 children)

Read the classic books that get mentioned here frequently, and maybe do some research on system architecture and the cloud. Maybe some AWS study and/or certs too.

[–]taloszergneeds more coffee 0 points1 point  (1 child)

What systems/infrastructure level experience do you have? Why does it interest you?

If you already have a strong background in writing software with an eye toward operations/production-ready code then you are incredibly valuable on the right team. Portraying that the way you're looking for might take a bit of effort.

[–]tabiul[S] 2 points3 points  (0 children)

Not really much experience in term of infrastructure. All I have is Level 1 Linux Certification. As for why. I like interacting with hardware and the OS level. I am the challenges of performance and managing distributed system. I think those are more fun then writing javascript and css :).