Skip to content

Instantly share code, notes, and snippets.

@remotephone
Last active June 14, 2021 03:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save remotephone/cf1a3787695e3206607ef4fe17a6ebbe to your computer and use it in GitHub Desktop.
Save remotephone/cf1a3787695e3206607ef4fe17a6ebbe to your computer and use it in GitHub Desktop.
quick write up on getting into tech

My career path

  1. End user help desk support - 25k ~2 years
  2. Network Operations Center - ~30k - 50k ~3 years
  3. Network Operations Center (Changed Companies) - 57k ~1.5 years
  4. Joined Security team - 64k - 75k at end of ~3 years
  5. Joined different copany - 90k plus bonuses and stock
  6. Same company, more specialized role, 130k plus bonuses and stock after 4 years
  7. Same company, more specialized role, 145k plus bonuses and stock after ~4.5 years (salary adjustment)

I threw this together not knowing anything about the person I am writing for or what their level of familiarity is with any of these topics.

Big places to learn from

  • Udemy - buy one course at a time. Always buy the course signed out of their software, its available at huge discounts
  • Pluralsight - subscribe and get access to a large number of courses, different plans
  • acloud.guru - cloud focused training, but some other stuff too
  • Free Code Camp - https://www.freecodecamp.org/learn/ - https://www.freecodecamp.org/news/join-the-100daysofcode-556ddb4579e4/ - 100 days of code is a challenge lots of folks do to stay committed and on track with it. I never did, i did a few of their courses though, good stuff

There are a bunch of different focuses you can follow. Most of them will follow a core technology and then higher paying positions require you to specialize in that technology. There is not one "basic" or "standard" skillset that covers all of these jobs, but there are some generic skills that are really good to have.

Certifications:

  • Good but not necessary. Less necessary with a resume that shows work specific to the area. Certifications are great ways for people to get into tech.
    • The "Pluses" - Linux+, Security+, Networking+. They are not typically enough on their own, but give a good baseline of knowledge
    • CCNA - Cisco Certified Network Associate - Fundamentals of networking, geared towards Cisco technology, one of the biggest networking equipment vendors
    • RHCSA - Red Hat Certified Systems Administrator - More in depth, more pratical test on linux and its fundamentals
    • Microsoft Certified Solutions Associate - Entry Level windows Certification
  • Familiarity with the commandline
  • Familiarity with networking fundamentals
  • Operating system familiarity
    • Pick one and get good with it. Linux is free and open source and very popular
    • How the file system works
    • How networking is configured
    • How storage is provisioned and managed
    • Common services and tools
      • SSH, Telnet, FTP, etc etc
    • How services are managed
    • How authentication and user management works
    • Resources:
  • How the web works
  • Programming/Scripting
    • I am not a developer, but if I had to pick one language, it would be Python, its the most widely used across different disciplines and once you learn on eprogramming language its easier to learn others
    • Learn how to use it to do basic and intermediate tasks and automations
    • Resources:
      • Learn Python the Hard Way
      • Code Academy
  • Virtual Machines
    • Lower the cost of errors when learning
    • systems that run on top of other sytems that can be created and destroyed easily.
    • If you've ever reinstalled windows, thats an annoying and long process, virtual machines can be set up once and forgotten.
  • Git and Version Control

Most of these I only work along side, the ones I know most about are Network Engineering, Cybersecurity and System Administration.

Software Development - Pick a language or type of engineering

  • Full Stack Engineering - Web applications and back end supporting code
  • Front End Engineering/UX/UI - Web Applications, user experience, user interface, designing accessible sites and tools Network Engineer - Learn network fundamentals, eventually specialize in one or more vendor's technology stack Systems Administration - Windows Systems Adminitration - Linux Systems Administration - macOS
  • Linux makes up the vast majority of back end systems. Windows makes up a very significant amount of user facing (end user desktops, authentication and directory services,) and back end services (Databases, Administrative systems, Web Servers). macOS is a small part but important for many companies, tends to be a role managing user facing systems (both simpler help desk jobs and large scale system administration and orchestration roles). Many jobs require you knowing something about at least one of these. I personally think linux is cheaper and easier to learn than windows adminsitration, there's good reasons to disagree though.

Cloud System Administration/Cloud Engineering

  • There still is and will be a significant amount of systems people run "in house" in their own data centers they manage or rent space from a provider to host their own systems in. A very large number of new systems or rebuilt older systems are being deployed in the cloud (services like Amazon Web Services, Microsoft Azure, Google Cloud, and a bunch of smaller players).
  • Pick one of the bigger services and specialize in it. AWS has the biggest customer base by far, then Azure (often but not always companies using Windows based systems), then Google Cloud.
  • Systems are built on a large scale in an automated fashion. Helps to having some programming or scripting knowledge.
  • This is a very fast moving part of tech, but theres a ton of need for skilled people here.

Cybersecurity

  • How systems are attacked and secured. Offensive and Defensive security are two main branches, but a bunch of disciplines under that.
  • Application Security - Attack and secure web applications, test for weaknesses, advise and work with development teams to fix them
  • Incident Response - Detecting and responding to security incidents or hacks
  • Penetration Testing - Performing structured assesments of a company's security policy by hacking them, stricter scopes and rules of engagement, simulated attacks of systems
  • Red Teaming - Performing less structured assesments of a company's security policy by hacking them, less strict scopes and rules of engagements, simulates "real world" attacks
  • Vulnerability Management - identify gaps in security configurations or systems, track and remediate the fixes
  • Compliance and Audit - Apply industry standard metrics and standards to an organization to measure and guide their compliance
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment