Unconfigured Ad Widget

Collapse

devops career questions..

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Puckinhead
    Member
    • Feb 2009
    • 112

    devops career questions..

    Hello geeks,
    My question is regarding my sons options for a career in the developer/coding world. Age is 21 and not much real bare bones nitty gritty experience. Should I start him on any specific books, courses online training? Is a degree necessary? I thought python might be a good language to learn. Any other must that are important learn.

    Let me know if I need to provide any other details. Thanks in advance.
  • #2
    Robotron2k84
    Senior Member
    • Sep 2017
    • 2013

    Is he drawn to computers, other than games, or the web? All the old-school programmers were tinkerers to begin with and now, I guess most people do coding boot camps and online training if they have no formal experience.

    Even though I was a tinkerer, I still spent 8 years in undergrad and graduate study for CS and imaging science before moving solely into my first jobs on coding and OS / networking development.

    The devops folks I see are majority cloud engineers, and I’ve deployed and managed my own cloud infrastructure > 5,000 nodes, so I guess that’s where devops folks end up, but that role keeps changing from when people were sysadmins and network folks, to Python and Ruby coders for system stuff.

    I would think it would be difficult to be devops if you didn’t already have the background in datacenter ops and sysadmin skills, but as I said, things keep progressing and maybe he should seek out the requirements from a company that he’d like to apply to, and go from there.

    Comment

    • #3
      jaffar_n
      Junior Member
      • Apr 2019
      • 82

      Nowdays, python is King... If your son can take some classes (free from somewhere like udemy) AND practice solving medium to hard level questions from somewhere like leetcode, he should have nnooo problems excelling as a developer/ devops...

      Comment

      • #4
        MrFancyPants
        Senior Member
        • Jun 2017
        • 1160

        Well for starters, and for clarification, does your son mention an interest specifically in devops or being a developer? The two are not the same thing, though they are related. Devops is more about tying systems together efficiently and the process of delivering solutions. In other words devops is primarily responsible for service delivery. If that's specifically what he's interested in, he needs to get familiar with concepts such as Agile and Scrum.

        Being a developer means he actually wants to program and write code to develop software and systems. The guys who write code, that's mostly all they do. If that's the case, as I suspect it is since it definitely sounds more exciting to younger guys (and in many ways it is), I would start him down the path of learning programming languages which will teach him solid fundamentals of programming itself, not a specific language syntax. Once you know the foundational programming concepts, learning another language and its syntax is cake.

        Personally I would have him look at .NET and C#, as they are very closely related (C# heavily utilizes .NET libraries) and he will actually learn to program. He can learn to develop a whole lot of different things using those tools and their extensions (ASP, Razor, MVC) like Windows and Linux applications, complex web pages, mobile apps, video games, etc. This is an excellent resource for starting to learn C#:



        If he really takes to it, either buy him a subscription to Pluralsight (on sale it's $200 per year) as there's a ton of great content there, and also specifically regarding C#, Tim Corey is another excellent resource. Money well spent, if your son is serious and will apply himself.

        Learn to think and code like a professional developer from expert developer and online educator, Tim Corey.


        I wouldn't start him off on Python. It's not "King" by any means. It's a good tool to have in your bag, depending on your goal, but it's just another facet on a very large gemstone, and it's not foundational. Plus it's more geared towards scripting (systems and processes) than programming. Again, depending on what your son really wants to do.

        I first learned programming with C++ back in the late 90s, then quickly shifted gears to networking, and I've been all infrastructure in my career ever since. I've built and managed datacenters, designed and deployed campus networks and business wireless networks, network security audits, built and deployed God knows how many servers in my life, the whole nine as far as infrastructure goes. I'm good at it and enjoy it for the most part, but it does get stale, so lately I've been shifting slowly back to my programming roots and I may very well finish my career as a developer. It's an excellent career choice and pays very well (if he's good he could be making over $150k by the time he's 30).

        Hope this helps.
        Last edited by MrFancyPants; 10-02-2021, 9:10 AM.

        Comment

        • #5
          Robotron2k84
          Senior Member
          • Sep 2017
          • 2013

          Comment

          • #6
            Puckinhead
            Member
            • Feb 2009
            • 112

            Thank you all or the responses! Yes robo one of my worries is that he never was a tinkerer. Where as I was early on, but more hardware than software.
            He is also very reserved in the sense of trying new things or pushing limits. Not sure if that could be related to creativity? Could be a hindrance or an attribute I think.

            At the risk of starting a flame war I used devops to maybe try to capture the whole of what is on the developer side rather than the IT (service delivery) side. Nothing at all wrong with infrastructure and network/cyber. In my opinion one of the most important yet one of the most thankless professions. Pay scale is reflected to show the thankless part. Not at all the rule but for the majority I think true.

            Yes foundation is very important. There is breadboard kit in the amazon cart and a RPI4 coming soon. Many other options out there to tinker with.

            Not sure I want to steer away from Microsoft language as that is what business is going to use, mostly. There is always value in range of knowledge versus knowing only one specific language. It was my impression that it is closer to how Fancy describes it, most languages are closely related. A good foundation paired with multiple languages and I think your value will expand.

            Again, thank you all for your thoughts. Fancy your post does help a lot, as do all of them. It is much appreciated.

            Comment

            • #7
              LTC-J
              Senior Member
              • Aug 2012
              • 1059

              @Robo has the gist of it.

              In my opinion and experience, web dev is more scripting than "real" dev/coding. The ML of HTML should tell you a lot (Markup Language)

              Game dev is more a pipe dream than realization.

              Microsoft stuff is more dealing with frameworks(.NET) than anything special.

              Picking a language or skill set really depends upon what kind of problems you want to solve. To me, Python is more of an automation language. I'd recommend c/c++. With c/c++, you can delve over to the .NET frameworks with minimal issues.

              Schooling is what you make out of it. It is a GREAT way to get a foothold into a company and get full time employment; intern early and often. I translated a master's internship into a 10 year tech lead career with a phone screening no more involved than "How long have you been coding in <xyz>" "Thanks, expect an email offer from HR is about 2-3 hours". Granted, I had a few years of experience before the internship but the company I got on with is known for overly vigorous interviews.

              Another benefit of school is getting a broad range of topics directly related to your degree. I had one class where we developed a simple APU from transistors over the semester.

              I can't comment about current curriculums but back in the mid 90s when I went through, the major related classes covered a lot of topics but it was math heavy(one or two classes short of a math minor)

              On the topic of IT, in my opinion and experience, it is more of a reactionary and fix "problems" type career rather than a design and create type career. My last position was a hybrid of the two; I was IT for about a dozen servers that hosted the application I was doing heavy dev work on. From IT stand point, I hardened the system such that I only dealt with IT issues maybe once every two month. But when something broke, ALL dev work came to a screeching halt. I got to deal with higher level IT and they echo'd my feeling that it was a lot of waiting for things to break then all hell breaks lose.

              Agile development is the big buzz word the last ~5 years or so. If you can learn and wrap your head around it, you are heads above a lot of people. I've lost count of the number of people I've worked with that couldn't figure it out well enough to use it as a development aid.

              Comment

              • #8
                ocabj
                Calguns Addict
                • Oct 2005
                • 7924

                The explanations here of DevOps are pretty much dead-on.

                My only comment is that if you approach this as learning languages, you set yourself up for failure.

                You should learn how to program, not how to code.

                Learning to program is essentially learning all the fundamentals of computer science. Algorithms, data structures, automata, etc are all agnostic of the individual languages.

                By a large, I feel like most people in the industry today are simply learning a language as opposed to learning how to program and unfortunately the industry is perpetuating this methodology by promoting coding boot camps and other types of initiatives. Of course, this is all brought out of the need to get more 'developers' when Computer Science programs at Universities have a low completion rate. So the industry is looking for the short path which can result in many people too focused on the now and not being capable of adapting to new technologies and trends.

                Of course, there are a few specific cases where being an expert in antiquated technologies is beneficial, such as with COBOL or mainframes.
                Last edited by ocabj; 10-02-2021, 4:50 PM.

                Distinguished Rifleman #1924
                NRA Certified Instructor (Rifle and Metallic Cartridge Reloading) and RSO
                NRL22 Match Director at WEGC

                https://www.ocabj.net

                Comment

                • #9
                  Fizz
                  Senior Member
                  • Feb 2012
                  • 1473

                  The people who are interested in technology are a different breed than the people who get into tech explicitly for a job.

                  Personally, I can't stand to work with the latter. The former need no help in finding what they want to do.

                  Comment

                  • #10
                    LTC-J
                    Senior Member
                    • Aug 2012
                    • 1059

                    Originally posted by ocabj
                    My only comment is that if you approach this as learning languages, you set yourself up for failure.

                    You should learn how to program, not how to code.

                    Learning to program is essentially learning all the fundamentals of computer science. Algorithms, data structures, automata, etc are all agnostic of the individual languages.
                    Good description of coder vs developer.

                    Originally posted by ocabj
                    By a large, I feel like most people in the industry today are simply learning a language as opposed to learning how to program and unfortunately the industry is perpetuating this methodology by promoting coding boot camps and other types of initiatives. Of course, this is all brought out of the need to get more 'developers' when Computer Science programs at Universities have a low completion rate. So the industry is looking for the short path which can result in many people too focused on the now and not being capable of adapting to new technologies and trends.
                    I'm not sure on this. I haven't looked at completion rate of CS programs. But I can tell you that the student body of CS programs have changed from mid 90s BS to mid 2010s MS. I can also tell you that the quality of students dropped significantly. One class was graded in three methods to ensure people passed(two different curves) Many in the masters program should have not been there. Part of the issue was the diversity requirements.

                    Comment

                    • #11
                      Librarian
                      Admin and Poltergeist
                      CGN Contributor - Lifetime
                      • Oct 2005
                      • 44645

                      And then there is longevity ...

                      As a preliminary consideration, plan on only about 10-15 years as a programmer (as noted above) and less as a coder. If you're pretty special, say top 10% in your group, might run that longer.

                      It used to be the case that there really was no career ladder within companies, and significant advances in salary and responsibility often required changing employers. There are usually step increases and 'rank' increases within a company (e.g. programmer/analyst I, II, III etc)

                      But skills needed change, and older staff are paid a lot more than newbies, and 'bottom line' considerations are important.

                      So, it's a good idea to have a 'second career' in mind, and do some prep work for it.
                      ARCHIVED Calguns Foundation Wiki here: http://web.archive.org/web/201908310...itle=Main_Page

                      Frozen in 2015, it is falling out of date and I can no longer edit the content. But much of it is still good!

                      Comment

                      • #12
                        cleonard
                        Senior Member
                        • Feb 2011
                        • 958

                        Originally posted by Librarian
                        And then there is longevity ...

                        As a preliminary consideration, plan on only about 10-15 years as a programmer (as noted above) and less as a coder. If you're pretty special, say top 10% in your group, might run that longer.

                        It used to be the case that there really was no career ladder within companies, and significant advances in salary and responsibility often required changing employers. There are usually step increases and 'rank' increases within a company (e.g. programmer/analyst I, II, III etc)

                        But skills needed change, and older staff are paid a lot more than newbies, and 'bottom line' considerations are important.

                        So, it's a good idea to have a 'second career' in mind, and do some prep work for it.
                        Ten or fifteen years? I'm into my fifth decade.

                        Lots of good stuff here. The most important thing is that it is has to be more than a job. If it is only about money get into management.

                        I like impossible problems that other fail at.

                        Python is a great language to start with. Languages are just tools and it is helpful to know several. Being able to use those tools to solve problems is what allows you to keep a job.

                        Getting hired is a whole different challenge. A lot of places will not even talk to you without a degree.

                        Sent from my moto g(7) using Tapatalk

                        Comment

                        • #13
                          Dan_Eastvale
                          I need a LIFE!!
                          • Apr 2013
                          • 10088

                          Plenty of CS opportunities at universities and the workforce once the unvaxed are told to take the high road.

                          Comment

                          • #14
                            BinaryGeek
                            Junior Member
                            • May 2021
                            • 29

                            It depends on what he is interested in. There really isn't one language that your son should know. The programming language is a tool, not the end all be all.

                            It's like saying my son what's to be a mechanic, should he learn how to use a hammer or a screwdriver. The answer is he should learn how an engine works. He should learn how to break it down and find what's wrong.

                            Back to software engineering. Of you son has no experience, he needs to learn the core concept and how to apply them. If your area has bootcamp classes for coding try them out. It will do two things that books won't do.

                            1. Have real project that he can show off on GitHub
                            2. Get hands on experience. Invaluable for learning quickly.

                            Bootcamp don't have the best reputation, but they provide a structure that allows people to learn quickly. Ultimately it's up to your son to put in the work.


                            If your looking for a straight answer of what he should learn.
                            - object oriented programming
                            - distributed systems
                            - database, some version of SQL
                            - async programming

                            For languages it depends on what he wants to do.
                            - if he wants to be a web developer, he needs to learn what ever the not framework at the time is. I'm not a web developer, so I don't have much experience here. Usually revolves around php, python or JavaScript
                            - if he wants to do backend system design, c++ or java are usually the languages used
                            - for game development, a very very deep knowledge of c++ Is needed
                            - for DevOps, knowledge of Linux, bash, python are useful

                            Comment

                            • #15
                              Librarian
                              Admin and Poltergeist
                              CGN Contributor - Lifetime
                              • Oct 2005
                              • 44645

                              Originally posted by cleonard
                              Ten or fifteen years? I'm into my fifth decade.
                              See, special! I managed about 20, but I started about 30 years old. Just a couple programming language classes as an undergrad, and one in grad school. All else was OJT.

                              ETA - Puckinhead, see if the articles here - https://www.thoughtco.com/history-of-fortran-1991415 interest your son. Not the FORTRAN one, but the links at the bottom.
                              Last edited by Librarian; 10-03-2021, 12:33 AM.
                              ARCHIVED Calguns Foundation Wiki here: http://web.archive.org/web/201908310...itle=Main_Page

                              Frozen in 2015, it is falling out of date and I can no longer edit the content. But much of it is still good!

                              Comment

                              Working...
                              UA-8071174-1