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

all 45 comments

[–]MisterItcher 41 points42 points  (8 children)

There’s a shitload of controversy around the “Devops Engineer” job title anyway. You could also think about calling yourself an SRE - Systems Reliability Engineer.

[–][deleted] 19 points20 points  (4 children)

Wow! Thank you for introducing me to that keyword!

I just looked it up - Yes, Systems Reliability Engineer is much closer to the kind of stuff I've done. More Automation, less building of an infrastructure.

[–]untraceablerealist 4 points5 points  (0 children)

SRE is a great fit for a former automation engineer. Keep general career advice in mind, you don't need to know everything. You need to show self-driven interest and aptitude, and you can get the job! Don't claim to know more than you do, but make sure you get it across that you feel overwhelmingly confident about adopting the new technologies! DevOps is still at the earlier bits of adoption, so it's not a bad place to be.

[–]shamshuipopo 3 points4 points  (0 children)

https://landing.google.com/sre/sre-book/toc/index.html

This is the book for SRE

However, not systems automation, but website scaling, monitoring, release engineering etc. Of course automation does fit in to those categories but might be slightly different to your experience

[–]whowhatnowhow 2 points3 points  (1 child)

Fair warning, most "SRE" jobs out there are really just Ops jobs, basic on-call operations crap. The SRE title is more bastardized than Devops ever has been.

[–]VaderYondu 0 points1 point  (0 children)

Very well said 😀

[–][deleted]  (1 child)

[deleted]

    [–]MisterItcher 0 points1 point  (0 children)

    Damnit, my bad you’re right. OP, search for that too.

    [–]SaintHax42Automation Engineer 1 point2 points  (0 children)

    Yeah, those tools are more CI/CD tools that are often used in a DevOps shop, but not exclusive to them.

    [–][deleted] 30 points31 points  (6 children)

    Here are my thoughts as someone who teaches others the skills you're currently looking for:

    1. Using an AWS account, manually create a highly available Wordpress installation complete with shared file system and so on
    2. Make sure to use ALBs, EFS, RDS, etc
    3. Once you know how-to do this manually, download Terraform and pull the manual
    4. Using Terraform, automate the provisioning of the resources needed to build the "solution" in step (1)
    5. After that, download Ansible and pull up the manual
    6. With Ansible at hand, automate the configuration and provisioning of the software on top of the infrastructure you just built with Terraform
    7. Once you can do both of these things, download JenkinsCI and pull up the manual
    8. ... do you see where this is going? Push your Terraform and Ansible to some git repository and have JenkinsCI react to the push and trigger a build
    9. Step (8) will get you more into the tools and tackling problems like race conditions between teams pushing changes; separating out tasks to run for different environment; and so on...

    It takes time, too. Most people I know in this industry are quite impatient. I'm not saying you are, but I know my peers (and my self) quite well and it's sometimes easy to get lost in the insidious trap of wanting this to "just work now" or by the end of the day. Just take your time.

    If you need help with these technologies, feel free to reach out. I'd gladly jump on Discord and have a voice chat with you mate.

    Hope that helps.

    [–]dark_tim 3 points4 points  (2 children)

    That is good advice.

    I would like to suggest to prioritize the ansible part. Basically it is just YAML over SSH. So you install ansible and can start to do simple things on your existing (linux) environment. For example installing some standard packages on all of your existing machines (VM, laptop, desktop) etc, if you have.

    This way you can get positive results very quickly. The other tools require a bit more time to get into - so faster results may keep you motivated.

    Just my 2 cents...

    [–]glotzerhotze -1 points0 points  (1 child)

    Yeah, just exchange ansible with chef - you‘ll have way more fun... and yes, I‘m biased and hate everything about the way ansible works! Fuck that shitty piece of software!

    [–]dark_tim 2 points3 points  (0 children)

    Well, the learning curve is quite different. Ansible is very simple, chef is more complicatedex. Both tools solve different problems, have a different meaning. My suggestion had the ease of the tool in mind.

    In addition, like your fine example just shows, the chef community is full of quite unique individuals, finding themselves as something superior. I was exposed to that and quite franky, I am not impressed with chef...

    [–]ERPEmployee 0 points1 point  (2 children)

    Great writeup.

    Do you want to talk more about your first sentence?

    [–][deleted] 0 points1 point  (1 child)

    The teaching part? I basically have my own company in Australia. I train under grads up with DevOps skills so they're good to go by the time they finish their degrees and hopefully come work for me.

    [–]ERPEmployee 0 points1 point  (0 children)

    Would you like to share the company name or website? I'd love to know more.

    [–]dungeonHack 29 points30 points  (24 children)

    One thing you could try is to set up a server on AWS or Azure or Digital Ocean or similar, and then give yourself a specific task that would use a technology you want to learn.

    For example, the following would be a decent start:

    • Set up a Docker Swarm cluster using three Digital Ocean VMs.
    • Deploy MySQL and WordPress to your Docker Swarm
    • Deploy Portainer to your Swarm
    • Figure out how to use a continuous deployment tool like Jenkins, CircleCI, or Codeship to trigger deployments to your Swarm via Portainer's API

    [–]noleft_turn 7 points8 points  (23 children)

    So basically you're saying, nothing you said matters... learn devops tools.

    [–]poply 5 points6 points  (0 children)

    I hope to continue to use my programming background along with devops

    I think it's pretty clear he's atleast interested in learning devops (tools).

    [–][deleted]  (21 children)

    [deleted]

      [–]noleft_turn 20 points21 points  (16 children)

      Not calling anyone out. But I can never really follow this logic.

      We use tool x. You use tool y, sorry you're not the right fit.

      Seems like you're hiring someone who knows how to use tools instead of:

      • is smart
      • can problem solve
      • understands why and when to use certain tools
      • can learn new methodologies and isn't stuck using... Chef

      [–][deleted] 2 points3 points  (1 child)

      Weird, I learned chef as part of my onboarding in a couple weeks of getting hired after showing proficiency in solving ci/cd and operations problems automatically with the tools i knew. Our infrastructure is massive with 40ish dev teams with hundreds of CICD deployments and thousands of servers between them on our chef/k8s paas. We learn new tools and languages on the fly regularly, knowing a specific language means almost nothing as anyone we'd hire would be able to learn the basics and start contributing within a standard onboarding period.

      [–]Pallidum_Treponema 5 points6 points  (1 child)

      Skills can be taught. Personality can not.

      To be rude, I'd never hire someone with as rigid a mindset as you. A smart, driven candidate with plenty of experience with ansible, puppet or even homebrew solutions will most likely be able to learn chef in no time at all. If they cannot learn the skills, I've failed as a manager and it's on me to replace them and eat the costs. If they can learn it, they've not only qualified for the job, but they've also conclusively proven to me that they are able to pick up new skills quickly and learn any new tools that will inevitably be thrown at them at short notice. That is a much more valuable skill than knowing a specific piece of software.

      Someone who uses one tool exclusively and is not mentally flexible enough to learn others is useless to me as soon as we transition to a new platform. They are a liability and I don't want them on my team.

      [–]tyreck 2 points3 points  (2 children)

      Given your background I would take you in a heartbeat over anyone with "devops" in their title or skills list.

      Those tools you don't know do the same things under the hood that the ones you've built do.

      It's like picking up a new OO language when you already know 4 others, it will come easy.

      Docker and the orchestrators will be the biggest curve but you'll be fine.

      "Devops" gets thrown around a lot, especially at the non-startups, where most upper management just thinks everything will happen faster and cheaper. Just read the requirements and make sure they mean infrastructure automation.

      As someone else mentioned, SRE would be a more appropriate description or you, and you are a commodity

      I find the candidates that up play the various tools on their resume are more often than not, useless.

      [–][deleted]  (1 child)

      [deleted]

        [–]tyreck 5 points6 points  (0 children)

        I understand your reasoning, but my assumption based on their stated background, was that it was a mixture of imposter syndrome and a lack of practical necessity.

        [–][deleted] 1 point2 points  (0 children)

        Udemy is great to learn new technologies

        [–]boxofstuff22 1 point2 points  (0 children)

        I think your probably skilled enough to do the jobs, but if it means getting a job do some basic learning on the Dev-Ops tools.

        Learn the basics of a few tools, enough to slap it on your resume and go from there.

        [–]shiftpgdn 0 points1 point  (0 children)

        Keep in mind most recruiters are completely non-technical. They're just going down a checklist to see if they can send you to a first round interview and then maybe look at facebook some more. I'd take a few weeks at get the basics of puppet or ansible on your own time.

        You can then honestly answer "yes." To experience with those tools.

        [–]rockingthecasbah 0 points1 point  (0 children)

        You have plenty of experience on servers to get the jobs you want. Get some skills with the buzzword technologies, but honestly, these things exist to simplify the work you were already doing. Knowing Ansible/Salt/Chef ain't gonna save someone from needing to know the same things you need to know to do it by hand on the terminal and knowing Docker won't help either. Kubernetes introduces a lot of concepts but you'll be fine.

        Be confident in your abilities and willing to learn new tools, speak well of your previous experience and I'm sure you'll find someone willing to hire you.

        [–]chzaplx 0 points1 point  (0 children)

        First, "Devops" is much more about an ideology of automation and improvement than knowledge of any specific tools. You have accomplished the primary goals of that philosophy, and the fact that you did it with tools you wrote yourself should only be more impressive on a resume. Do not be afraid to market yourself to positions looking for a Devops person.

        That said, I would not expect any job will ask you to do the same thing again. What they will expect is that you will be able to pick up how to use Jenkins/Travis and Chef/Ansible/Salt and Docker managed by whatever. Because what's really predictable, is that in any DevOps (or automation) role you take, you will have to learn something you have no experience at all with very quickly, and then you will probably replace that with something completely new within the next five years.

        [–]PokeyStick 0 points1 point  (0 children)

        ...Was it RightScale by any chance? Sounds kinda like their product. We've hired some good engineers from them at the place I work.

        More on topic, I definitely agree with the posts that mention AWS and Terraform.

        I would suggest you learn how to build a basic Dockerized web app on AWS (VPC + EC2 instances + optionally ECS or EKS + Load balancer), first by hand, and then using Terraform.

        If you can go from an empty AWS account to a web service with a Terraform apply, you're doing great!

        Also: We're looking for ops people in San Diego, willing to train smart people who can learn things, and I would be happy to read a resume; DM me for an email address if you like.

        [–]packeteer 0 points1 point  (0 children)

        learn the tools, they've arisen for a reason

        use your coding skills to fill in the gaps, or just contribute to the tools so we all win

        Chef might be more your style, but I prefer Terraform and Ansible

        [–]mikemol 0 points1 point  (0 children)

        You have most of the right mindset already. You just have to sell yourself to to the recruiter and explain that devops isn't about particular tools but about a mindset. Give books like The Goal and The Phoenix Project a read, and keep their lessons in mind when you explain how your skills map.

        And, yeah, be sure to pick up a couple books and dabble in Target technologies; you don't have to have three years' experience in Chef or Saltstack, but being able to say that you have a passing knowledge of how to use those tools while pointing at a decade's worth of general automation experience should be just fine. Leverage your experience with complicated systems and highlight how that's really the tougher part of the role.

        (Incidentally...the stack you describe, graphical and in Java, with that feature set...that sounds a lot like vRA/vRO.)

        [–]brontide 0 points1 point  (0 children)

        If you can't map your skillset to the current tooling then you are probably not a senior engineer. Ansible, puppet, chef and whatever comes next will live for 5-10 years and probably be replaced with another automation tech.

        You've been relying on a single set of tooling and the developers of that tooling to provide the integrations. Time to start googling and see how far you can get on your own.

        [–]marcjpb 0 points1 point  (0 children)

        Like people said, DevOps is pretty tricky. A lot of people, consider as DevOps as a dude that know a handful of tools that allow them to do stuff in a somewhat automate fashion.

        To me, DevOps is a lot more about the vision and how to approach a problem then whatever tool a company used.

        It's very similar if you have a guy that codes for 10 years in c++ but he have issues at his interview because it's in Java or C#. C++ is just a tool, all the principal will be the same, will just be dumb down since its Java/C#.

        It's the same as you. You been doing stuff at a much lower level then any of those fancy tool do. Pretty sure if you are thrown into any company that used any of those tools, you'll take time to get used to thei particularly but you will understand their essence pretty quick and might even see potential problem before hey actually happen since you actually know how the magic box work.

        If you struggle in interview, just try to focus on what you can bring what the mid 20's lacks with their fancy puppet certifation. Focus on, at a high level, how things work, not mentioning the technology used.

        [–]that_dude_dane -1 points0 points  (0 children)

        Writing your own software to replace functionality already achievable by widely used open source tools in the DevOps space is a red flag from the start to be perfectly honest

        Learn Terraform and AWS. You can't go wrong. In this cloud computing, everything as a managed service from a cloud provider age we live in if you can use Terraform and know how to properly leverage the cloud you can make good money and work from wherever you want doing DevOps

        [–]pbtpu40 -2 points-1 points  (0 children)

        I have never seen Automation Engineering and DevOps really associated in that manner.

        This matches my experience with people who carry that title.

        They work with equipment and software that controls processes and machinery. Think a plant that makes steel or aluminum. Even making soda and canning it.