24 votes

I want to get into IT as a career, but I have no previous experience. What essential skills should I know?

I've recently started taking some IT and programming classes at a local college because I've always been interested in IT as a career but I've never had any sort of professional experience in the field. Are there any skills that I need to definitely know, or any sort of certifications that I can get in order to get my foot in the door and start applying for IT focused jobs?

28 comments

  1. [12]
    masochist Link
    If you want to get into programming, start contributing to open source projects that interest you. This is a good way to build the portfolio that /u/Kelsier suggested, and furthermore shows that...

    If you want to get into programming, start contributing to open source projects that interest you. This is a good way to build the portfolio that /u/Kelsier suggested, and furthermore shows that you're good at working with others, communicating in a technical way with your peers, all the things that actually matter in a programming job. This gets you practice solving real problems for real people with the tools you'll use on the job, and some of it can be really fun, too.

    12 votes
    1. [10]
      PancakeSquire Link Parent
      Okay, thanks I'll be sure look into that. Any good resources or sites on where to find/join projects like that?

      Okay, thanks I'll be sure look into that. Any good resources or sites on where to find/join projects like that?

      2 votes
      1. masochist Link Parent
        Pick an open source hosting site, search for things that you like using / are interested in, read their contributing.md or whatever, or just file an issue saying "new troll coder here, what can I...

        Pick an open source hosting site, search for things that you like using / are interested in, read their contributing.md or whatever, or just file an issue saying "new troll coder here, what can I do?". Some projects do things like tagging issues as "good first issue" or the like, try looking at that. If they've got a realtime chat, like IRC, or a mailing list, use that. But be patient! People have lives.

        Note that Tildes is open source. ;)

        8 votes
      2. [5]
        xyquadrat Link Parent
        Shameless promotion: If you are looking to contribute to an open source project that builds desktop applications, I'd like to suggest contributing to KDE. It's one of the biggest fully...

        Shameless promotion: If you are looking to contribute to an open source project that builds desktop applications, I'd like to suggest contributing to KDE. It's one of the biggest fully community-driven open source projects out there and we have a wide variety of applications that you can hack on (Krita, Kdenlive or the Plasma desktop are popular examples, but we have over 100 others as well). If you'd like to know more, join us via Matrix on https://webchat.kde.org/#/welcome and have a read through our introduction wiki page.

        And if you end up contributing to something else, that's awesome too, because all open source projects could use more help :)

        4 votes
        1. [2]
          masochist Link Parent
          Shameless question I've always wanted to ask but never got round to: howtf do you say Kdenlive? :)

          Shameless question I've always wanted to ask but never got round to: howtf do you say Kdenlive? :)

          2 votes
          1. JimRaynor56 Link Parent
            I've always liked kay-den-live. That's live like eye, not big. I wasn't able to find an official source, but Wikipedia has the pronunciation listed as /ˌkeɪdɛnˈlaɪv/ which, I believe, supports my...

            I've always liked kay-den-live. That's live like eye, not big.

            I wasn't able to find an official source, but Wikipedia has the pronunciation listed as /ˌkeɪdɛnˈlaɪv/ which, I believe, supports my preference.

            5 votes
        2. [2]
          PancakeSquire Link Parent
          Cool! I'll definitely check this out. Is it okay if I have somewhat of a beginners grasp of programming languages?

          Cool! I'll definitely check this out. Is it okay if I have somewhat of a beginners grasp of programming languages?

          1 vote
          1. masochist Link Parent
            Yes. Everyone has to start learning somewhere. So long as you ask questions and take the time to actually learn instead of expecting to be spoonfed, you'll be fine.

            Yes. Everyone has to start learning somewhere. So long as you ask questions and take the time to actually learn instead of expecting to be spoonfed, you'll be fine.

            2 votes
      3. [2]
        Octofox Link Parent
        If you want to get in to web dev, I have an open source project that I am willing to help beginners get started on as long as they learn the basics of rails or vuejs.

        If you want to get in to web dev, I have an open source project that I am willing to help beginners get started on as long as they learn the basics of rails or vuejs.

        1. PancakeSquire Link Parent
          I definitely want to learn the basics of JavaScript at some point. Once I start getting into it, I'll hit you up. Thanks for the offer.

          I definitely want to learn the basics of JavaScript at some point. Once I start getting into it, I'll hit you up. Thanks for the offer.

      4. ggfurasta Link Parent
        Haven't used it, but chingu.io looks cool. It gives you good experience by putting you in a team and starting a project.

        Haven't used it, but chingu.io looks cool. It gives you good experience by putting you in a team and starting a project.

    2. [2]
      Comment deleted by author
      Link Parent
      1. masochist Link Parent
        You may want to reply directly to OP.

        You may want to reply directly to OP.

        1 vote
  2. Kelsier (edited ) Link
    If you want to start applying for jobs, your best bet would be to make a portfolio. It can be anything, doesn't have to be overly complex, even simple projects would do. The important thing is...

    If you want to start applying for jobs, your best bet would be to make a portfolio. It can be anything, doesn't have to be overly complex, even simple projects would do. The important thing is that you understand what you make.
    I myself am trying to build different personal projects in order to practice my coding skills and make a portfolio at the same time.

    Also, this thread has some good advice - https://tild.es/amx

    9 votes
  3. [3]
    biox Link
    Depends. Networking no matter what. Learn the OSI model, learn how TCP/IP works at a high level, learn routing rules. Our distributed world means networking knowledge is invaluable. Next is...

    Depends.

    Networking no matter what. Learn the OSI model, learn how TCP/IP works at a high level, learn routing rules. Our distributed world means networking knowledge is invaluable.

    Next is variable. Dev? I'd say react/angular, since they're popular and fun. Java is always a fine choice.

    Ops/IT? Linux, containers, config management, and one cloud platform.

    5 votes
    1. [2]
      PancakeSquire Link Parent
      Cool, in the class that I'm taking we are going over a lot of networking information and tech. Its based on the CompTIA Networking+ standards.

      Cool, in the class that I'm taking we are going over a lot of networking information and tech. Its based on the CompTIA Networking+ standards.

      2 votes
      1. biox Link Parent
        Sure! Sounds worthwhile. I wound up getting my CCNA first thing before I went into the tech field, six years in and it's still paying off.

        Sure! Sounds worthwhile. I wound up getting my CCNA first thing before I went into the tech field, six years in and it's still paying off.

  4. [4]
    Empyreal Link
    The baseline cert you probably want is the "CompTIA A+". This is the basic computer/networking core skillset certificate that you can use as a basis to build an IT career on. This is what I would...

    The baseline cert you probably want is the "CompTIA A+". This is the basic computer/networking core skillset certificate that you can use as a basis to build an IT career on. This is what I would look for in low-level entries with no prior experience to reflect on.

    3 votes
    1. [3]
      PancakeSquire Link Parent
      I am currently taking a class that goes through the CompTIA Network+ exam curriculum. Would that be just as useful?

      I am currently taking a class that goes through the CompTIA Network+ exam curriculum. Would that be just as useful?

      1 vote
      1. [2]
        Empyreal Link Parent
        Yes and no? The Network+ is networking-specific, so it would depend on what the position called for. This chart I'm linking below reflects on the skills pathway as well as has summaries of each...

        Yes and no? The Network+ is networking-specific, so it would depend on what the position called for. This chart I'm linking below reflects on the skills pathway as well as has summaries of each cert:

        https://certification.comptia.org/certifications/which-certification

        They list A+ as a precursor to Network+. If you look at the descriptions you will see that Network+ does not include the same curriculum/skillset as A+. A+ is more generalized. Network+ is, well, networking-specific.

        Depending on what you are applying for and what your aptitude is for more generalized computing issues, A+ may not be a factor if you have Network+.

        2 votes
        1. PancakeSquire Link Parent
          Ah, okay. Good to know, thanks.

          Ah, okay. Good to know, thanks.

          2 votes
  5. [3]
    Akir Link
    It depends on what you mean by IT. If you are talking about a career in programming and software design, that is a completely different from DevOps, which is different from an office IT department...

    It depends on what you mean by IT. If you are talking about a career in programming and software design, that is a completely different from DevOps, which is different from an office IT department job. If it's the latter, my recommendation is to first learn patience because you are likely to be dealing with very impatient people who have little technical knowledge.

    Everything else is a little bit of a mixed bag that changes depending on exactly what you want to do. If you want to do web development, you can teach yourself the basics and still get a job as long as you can demonstrate your skills. If you are planning on developing desktop and server applications or working on embedded systems, a formal computer science education becomes much more important.

    If you just want an IT Job now the easiest one to get is a basic help desk job, and an A+ certification is usually enough. Personally I would go a little deeper into education and get a certification for a specific technology and position. They will be expensive and require more work, but they will pay better.

    3 votes
    1. [2]
      masochist Link Parent
      I don't really think a formal computer science education is necessary to do backend web or server development in most cases. Especially with very high level languages, a lot of the "traditional"...

      desktop and server applications [...], a formal computer science education becomes much more important

      I don't really think a formal computer science education is necessary to do backend web or server development in most cases. Especially with very high level languages, a lot of the "traditional" computer science things like data structures and algorithms are covered in your standard library. You can learn the rest as you go.

      1 vote
      1. Akir Link Parent
        I should have specified; I meant enterprise server applications. Enterprise software is where things go insane. And while you may be right to say some enterprise applications may not need formal...

        I should have specified; I meant enterprise server applications. Enterprise software is where things go insane. And while you may be right to say some enterprise applications may not need formal education, the companies involved in them are more likely to require you to have a degree.

        While I won't say you are wrong that most backend web dev jobs don't need a formal education, I have seen enough bad server code to say that it really helps. 😹

        1 vote
  6. [3]
    tiredlemma Link
    Hi @PancakeSquire, I want to give you a meaningful answer, but glancing through the thread it isn't clear to me what your goal is---I see that you're in a networking class and are curious about...

    Hi @PancakeSquire,

    I want to give you a meaningful answer, but glancing through the thread it isn't clear to me what your goal is---I see that you're in a networking class and are curious about programming languages. Can you clarify what [EDIT: diction] sort of work you're looking to get into? "IT" to me typically means something like a systems administrator, help desk, or network technician.

    I'm tired as hell, but if you can add a little more direction to you inquiry I will follow up as best I can sometime tomorrow.

    3 votes
    1. [2]
      PancakeSquire Link Parent
      Oh for sure. So I'm more interested with the infrastructure/back end/server side of IT. So I guess like system administrator or network administrator type of positions? I am also learning to code...

      Oh for sure. So I'm more interested with the infrastructure/back end/server side of IT. So I guess like system administrator or network administrator type of positions?

      I am also learning to code C++ at the moment, but I'm not sure if that would come in handy for what I would like to do? What programming languages do you recommend learning? There are just so many and I'm not entirely sure which to go for.

      Thanks for the help, I hope this clarifies some things.

      1. tiredlemma Link Parent
        I came up through the software engineering side of tech work, so a real sysadmin or network engineer is a better person to talk to. That said, I suspect that there is still some use for you in...
        • Exemplary

        I came up through the software engineering side of tech work, so a real sysadmin or network engineer is a better person to talk to. That said, I suspect that there is still some use for you in learning how to write decent programs in general. I would perhaps be more interested in gaining the ability to read, understand, and modify C, C++, Perl, the various shell scripts (primarily Bash, though YMMV), and to a growing extent Rust if I were you. Don't get too hung up on this, though, it will come with time. I think you're best served by some networking/Linux admin training and the entry level certifications (such as the Comptia A+ Networking referenced in this thread). The certs will lose value over time, with few exceptions (IIRC there's a master-level Cisco cert [Certified Internetworking Expert or something] that my counterpart on the infrastructure side of the enterprise salivates over in potential hires), but are a good way to get your foot in the door.

        You might consider a path something like this:

        Associate of Science degree in networking/systems administration (something like [0]). If you already have a degree in something, the certs alone will probably be enough to convey basic competence and interest to a potential employer. If you don't, I know that a lot of the entry level techs at different companies I've worked at have started with a CC degree and enthusiasm.

        Take/pass two or three basic certifications depending on the sorts of employers that you're targeting. Cisco is still a huge fish in the enterprise space, so CCNA could definitely be a good box to check for you. If you Google "entry level {sysadmin, networking} certifications" you can find a plethora of good information.

        Spend a lot of time on Indeed or something equivalent and get a sense of the companies hiring in the functions that you are interested in either locally or somewhere you'd be excited to move to (and could move to, realistically). Study the job postings carefully, see what themes you see in terms of desired skills, experience, and education. See if there is a meetup for sysadmins or network engineers in your area and go, as soon as possible, and make friends/get your name on the radar. If you are able to go to events like this, treat them like informal interviews--look presentable, be personable, remember people's names, etc. You just may find that Sally from the Meetup decides whether her company takes a chance on you or not.

        Highly recommend that you try to get a job with the biggest company in your area that you can. Startups/small firms have a sort of romantic culture around them, especially on the coding side, but they're shit for building meaningful infrastructure experience. You want to get exposure to the biggest set of the most expensive toys you can. If a large enterprise has a data center near you, that should be high on your list to consider--serious $$ and a very bright future for folks who understand infrastructure, have experience with complicated setups on a Fortune 500 scale, and understand how to integrate databases into their enterprise users' workflows.

        ASIDE: Without making any moral or political claims, the military (assuming you are US based, though I suspect this is true in other 1st world countries) is an excellent place to get a start in IT. Education, scale, experience, professional development, and a bit of prestige wrapped into 4 years or so of guaranteed employment. If you happened to get clearances and were willing to move to Virginia or Maryland, you'd be set for (a very, very comfortable) life. Please don't take this as me pushing you at the military, it could be impossible for you on many levels, including (justifiably) politically or morally. Just pointing it out as an option.

        Once you've got some employment that is in the field interesting to you, whether its at a dream company or not, then grab a bachelor's degree in something relevant (I work at Fortune 5 company, zero stigma for online education provided it comes from an accredited brick & mortar school) somehow in your off time (again, assuming you don't already have one). At this stage you won't be needing random Internet advice on the way forward.

        Resumes/interviews/etc. are a whole other topic deserving of their own thread. Happy to give resume feedback when you're ready (though do scrub it of personal information, and replace school/company names/dates with generic placeholders).

        [0] https://www.gccaz.edu/academics/degrees-certificates/computer-networking-technology-aas

        2 votes
  7. superkp Link
    I'm 32 and started my tech career about 2 years ago. I graduated with a BA in psych in 2011 and no one in psych was hiring so I had to get any job. Eventually I decided I needed a career and IT...
    • Exemplary

    I'm 32 and started my tech career about 2 years ago. I graduated with a BA in psych in 2011 and no one in psych was hiring so I had to get any job. Eventually I decided I needed a career and IT was it. Now I work in software support.

    Because I'm a little older but still starting I thought that getting a basic cert would do me good. I got my CompTIA A+, and almost every interview that I've had I've been asked "why the A+?" I've always answered "I knew that I needed to validate the tech skills that I already had, and I needed to fill in my gaps with basic knowledge in a few areas." This answer has always gone over well with the interviewer. Currently I'm working on software-specific certs.

    Find a hobby that contributes to your tech skills. Maybe modding minecraft. Maybe making shitty HTML games. Maybe overclocking GPUs for really high-end games. Maybe ripping computer parts apart for the scrap precious metal. Maybe hack people's personal websites and warn them that they need to harden their security. Maybe making a monthly podcast on the latest tech. Something, anything that keeps your head in the game that isn't purely academic.

    For me, I'm a hobbyist crypto-miner, so I've built a few computers from raw parts, and I've gotten weird software to work on them. I also always have my ear out for friends that are getting rid of old laptops, etc. and I try to 'frankenstein' them to a working state. It's very good practice because you usually don't have a manual that comes with it and you just need to figure it out.

    If there's anything that seems too complex, remember that computers are just rocks that we tricked into doing math. Someone knows the answer, and they probably put it on the internet. Learn to google.

    Learn people skills. Do not be the overbearing "I'm a computer wizard so you have to respect me" - I work with a few and it's awful. But also do not be the ultra-meek "please don't look at me too hard because I'll melt" person either - I work with a few and it's hard to get them to help in a meaningful way.

    At some point, you will work on phones. While your paycheck doesn't rely on them (i.e. right now while you're in school), build up your phone skills. Offer tech assistance to distant relations - just to see how hard it is to visualize what they are seeing, and to get used to the idea that you'll have to explain something 3 times. Maybe set up a meeting with a non-tech friend where you walk them through a common task, but you're not allowed to point, gesture, or touch (start with "change the background" and work your way up through "get information from netstat" and up to "replace a hard drive").

    When you're ready for a job and don't have anything lined up, contact a recruiter. They get paid if they get you a job. They are also interested in making sure you get the shit end of the stick with any contract, because they will get paid more for you - but this period is important to show that you can

    • get along with people
    • actually do the work
    • not complain without reason
    • take instruction
    • learn

    As early as possible, get out of the recruiter's grasp, but never burn bridges. They are a great resource when your company lays you off and you just need work. When you work for/through a recruiter, you are a mercenary - you will show up and do work for the person that you need to do it for, until someone else offers more money. Be polite, be professional, but don't let anybody make you think that you "owe it to them" to continue in a lower paying job. If you owe that to them, then they owe you a higher salary.

    1 vote
  8. dfed (edited ) Link
    Learn how to learn. Be a quick study and understand that no one has all the answers, but only some of us know where to find them (and google is only a start.) Head over to the linux academy and...

    Learn how to learn. Be a quick study and understand that no one has all the answers, but only some of us know where to find them (and google is only a start.)

    Head over to the linux academy and start learning about infrastructure as code, network automation with ansible and containers. Watch humble bundles for tech books and buy them. Start a homelab, tinker with everything and break things often, then learn to fix them (code-wise, but meh, physically too if you want.)

    (Edited to add:) Also learn how to ask smart question: http://catb.org/~esr/faqs/smart-questions.html

    Play with Raspberry pis and build things in code/etc.

    (Also edited to add:) I am a hiring manager working in tech (infrastructure tech/code for the past decade, such as Eucalyptus, Ansible and now Anchore) and the first two things I look for is "Can this person demonstrate that they can learn?" and "Do they have a hungry-to-learn attitude?"

    Tech I can teach, being a kind and good person I can't. Be kind, be open, be accountable and you will go far.