Thinking about choosing IT as a career? Read my answers to an aspiring IT professional!
I’m going to answer 2 questions today.
One from a Junior in High School and a 24 year old Developer/Programmer Analyst (for a local bank).
Question from the Junior in High School:
Hi Jason, I’m a Junior in high school and I’ve been thinking about getting into IT and to the people who work in IT I have a few questions (You don’t have answer all of them you can answer some if you would like)
- Does it pay well?
- What does IT usually entail?
- If I want to get into IT what college courses should I take?
- Do you enjoy your job?
- Do you have to be on call?
- Do you have to take work home with you?
- Do you know how easy it is to get a job in IT?
- Do almost all companies have IT departments and are looking to hire?
- Can you get to higher paying jobs from IT?
- Is a network admin different than IT and what does it entail?
- And anything else you think would be of use to a person in my situation
First things first – do you hate people? If not, do you want to? If you answered no to these questions, IT is not for you.
In all seriousness, though, you’re going to need to narrow down what area of IT you want to get into – “IT” is an umbrella term that encompasses a LOT of very different roles and careers. I work small shop IT supporting around 300 users (about 200 of which are remote), all of our local infrastructure, and basically everything else you could imagine except databases. Here’s how my answers to your questions break down.
- It pays well enough.. Still some room for improvement. I’m not starving, my bills are paid, and I have money to waste on completely unnecessary computer projects, but I’m not gonna be retiring at 35.
- See above – IT is an extremely broad term.
- I do enjoy my job, despite the users’ best efforts to dissuade me.
- Not really.
- Not really. I do stay late to do infrastructure upgrades every now and then, though, but no one’s “forcing” me to do that. I do it because it makes my life easier during business hours.
- “Easy” is definitely relative, and it will most certainly vary from company to company. Some places worship degrees and certifications, some places will piss on your resume if you have tons of certs. Everyone loves “experience”, though. As long as you know what you’re doing, and can demonstrate that to a degree, you’ll be fine.
- Depends greatly on the size/scope of the company.
- You sure can – the more you specialize, the higher the pay gets.
- Network administration is a part of IT, and entails knowing networking theory/application as well as a good amount of physical infrastructure building, plus a ton of other fun stuff like security, I imagine. I’m not talking about basic networking/subnetting, either – these guys usually have Cisco certs out the ass, etc.
- My advice is, even if you’re planning on getting a degree in an IT-related field, experiment in your free time. Build machines, try stuff that’s way out of your comfort zone, don’t be afraid to break stuff, it’s the only way you’ll really learn. Seriously.
I think I did an excellent job of describing all of the different possibilities of careers/roles of IT, but to answer your other questions:
- There are several major degrees you can get that would play into IT, mainly computer science (CS), management informationsystems (MIS), as well as associates-level degrees like associates of applied science (AAS).
- One of the beautiful things about IT is there are so many paths to get where you want to end up. I definitely didn’t take a “standard” path of going to college right out of high school and getting a bachelors in something IT-related. I spent my early career playing video games and at some point decided it wasn’t going to pay my rent. By that point, I had learned enough about computers to be pretty proficient. I couldn’t get hired on without a degree, experience, or any certifications, so I said “screw it” and started my own computer repair business. After a couple of years of that, I had enough experience to get an entry-level position. After that, I am now working on my bachelor in CS, where I’m learning programming (Java, Swift (self taught), etc.).
- Yes, certs = certifications, sorry. The whole certification thing can definitely start seeming like a racket at some point, but should you decide to get some, I’d say you should start with CompTIA A+, Network+, and maybe Security+.
- Yes, being well-versed in computer hardware is absolutely beneficial to anyone looking to work in IT, but not necessarily because you’ll be building tons of machines. It’s important because it gives you a greater understanding of how computers work, and helps you gauge and compare the system requirements of various software you will be deploying with what your system’s specs are. If you’re looking into going into any kind of IT role, you’re going to need to be familiar with hardware. Tinkering around with machines is probably the best way to do that. For me, at least, “doing” is how I learn the best, plus building machines is also pretty rewarding.
Lastly, if you’re looking to get into a sysadmin type of role, you need to start learning (and I can’t stress this enough) Linux. Every flavor you can get your hands on. And I’m not talking about distros with pretty GUIs (elementaryOS), I’m talking about the command line baby.
Question from the 24 year old Developer/Programmer Analyst (for a local bank):
After four months of unemployment, I finally netted a job where I could program and get paid doing it. However, every day I leave wondering where I went wrong and how I dug myself this hole I’m in. Oddly enough, the actual programming part is fun. It’s the meticulous other things I have to do on my day-to-day, such as combing through log files to figure out what screwed up for a user (I’m a developer/’programmer analyst’ for a local bank), loads of testing where things would be fine if I had a better idea of how to actually use the software as a user, correcting my mistakes and nonsense after seeing a code audit where my amateurism is out there for the whole world to see, and worst of all – being emailed all the damn time about crap I made or will have to make by a system design group I’ve never met. I work in a cubicle from 8 AM to 5 PM. I could have a better sleep pattern, but I’m lost on why it’s necessary for me to even be in the office. I’m not getting why my workplace doesn’t have any way to remotely work. These things are making what I had fun learning about into a chore. I’m uninspired and I feel like I’m going to melt into my office chair into some blob that sits there for the rest of its life, while being paid in pennies since I’m making less than 50k for this stuff.
I was recommended by folks wiser than me to stay in this job and do well for a year. My enthusiasm is shot and I cannot even contribute meaningfully because I don’t have that ‘drive’ or motivation to do anything except listen to people talk to me about things I don’t understand, get paid, and then feel sorry for myself when I’m driving home. Am I doing this whole programmer job thing wrong? Because this blows, and I’d love the perspective of anyone willing to give input. I’m a 24 year old . . . ‘programmer’ who’s losing a lot of excitement. I hate this and I think I’m beginning to hate myself for how lazy I can get when things don’t go my way.
What were your expectations of what it means to work as a programmer? Programming as a hobby is generally vastly different than doing it for a living. No boss, probably no users except yourself, no deadlines, no budgets, no schedules, no coordinating work between teams or people, no code standards except the ones you hold yourself to, no legacy code, no meetings, no design reviews, no cause of event meetings, no operational pain, no midnight phone calls when the report doesn’t run, no pager duty, no bug reports, no integration pain, no mentoring new team members, no office politics, no cubicle, no interns bugging you with incessant questions, no being forced to work with clear case because the company bought it 15 years ago and it holds all the code repos, the change management, the test matrices, the readiness reviews, giving code reviews, getting code reviewed, and I can keep going…
What does your ideal job look like? I bet it doesn’t include much, if any, of the above. And that means I have some bad news for you.
If this is your first programming job, and my impression from your post is that it is, then you should kinda expect to have the less fun jobs. You’re not going to get handed the big components to design and implement because it’s almost guaranteed that you would suck at it.
So did everyone else when they started.
My Overall Thoughts:
Honestly, in addition to having a huge passion for the entire development process, I think my biggest asset has been my ability to communicate clearly.
I run a blog (you guessed it, this one) where I continually write about the things I’m interested in. This blog has been a huge boon for me in the past when looking for jobs. I don’t have a degree (yet), but that doesn’t mean I don’t study (I do a shit ton). I’m just lucky that I enjoy the things that others consider tedious. For instance, I read approximately one programming text book a month on whatever topic happens to interest me at the moment (Swift 3.0). I read those text books cover to cover the way my wife reads fiction. On an unrelated note, one of the biggest differences between experienced and novice programmers is that experienced programmers know more things to try!
For a long time I had a bad case of Imposter Syndrome until I realized that my lack of a degree didn’t have to hold me back. I already knew more than many of my peers who did stay and finish their degrees. When I met my girlfriend I decided it was time to land a steady paycheck with health benefits and all that good stuff. Sometimes I feel I might have a slight impostor syndrome, then I start to feel better about myself, then I fear I might experience the Dunning-Kruger effect, so I go back to having an impostor syndrome. I’m always worried I’m not smart enough to have imposter syndrome.
I don’t want to sound arrogant or anything like that, but a lot of things do just naturally come to me. I can oftentimes inherently grok a concept after having it explained to me one time. That said, there are definitely moments when I spend a long time trying to build an understanding of something. One important thing is that I never give up. Ever. I might take a break on trying to learn something for a bit just to let it sink in before I try again, but I do always try again.
What I found the most difficult thing to learn and accept about life is understanding the concept of “Moving On”. This quote saved me many times:
“There is an expiry date on blaming your parents for steering you in the wrong direction; the moment you are old enough to take the wheel, responsibility lies with you.” ― J.K. Rowling
I go into interviews with a different attitude than most and I think interviewers pick up on that. While I might be disappointed if I don’t get a call back after an interview, I try really hard to simply analyze what might have been the issue and then move on. I know that I have valuable skills to bring to the jobs that I apply for so if I can’t seem to find fault with myself after an interview then I simply move on; if they can’t see me as a good fit for their team then I likely can’t see the team as a good fit for me.
I think my time as an entrepreneur really forced me to enhance my written and verbal communication skills. More than once have I circumvented a potentially explosive situation by laying out all the facts in a clear and concise manner, then forcing all parties involved to calmly work together to solve the issue. Many programmers regard English and communication skills as optional. I actually think that communication skills are even more important in the corporate world than your development abilities. It is precisely those skills that landed me my first job in the corporate world more than anything else. Since then it has gotten easier as I have experience that I can point to when applying for new jobs.
I was found via my Blog and was contacted directly without going through a 3rd party recruiting service. They even read a blog post I wrote. They made it a point to let me know at the start of the email that they worked directly for “x” and was very impressed by that and followed-up immediately even though I wasn’t sure my skillset matched what they were looking for. It turned out that I was just unaware that they had a huge development presence right in my backyard.
Bottom line: Make sure you know your stuff as much as you can (though there’s no substitute for real experience, so don’t beat yourself up too much), try not to suffer from Imposter Syndrome (I still do a little), and sharpen your communication skills wherever and whenever possible (a blog is great for that) 🙂
P.S. – Though I don’t have a degree YET, I highly recommend to those of you who are considering not getting one, that you DO get one because it helps, a lot. I am proud of how far I’ve come, but it has taken a huge amount of hard work and dedication to make it happen. There were many times when I thought about giving up and finding some blue collar work somewhere. Many employers won’t give your resume a second glance once they see you have no degree. That degree may just be a piece of paper and it may not 100% reflect your actual skill level or what kind of an employee you’ll be, but it will sure make your life easier when hunting for work in the corporate world. Trust me.
P.S.S. – I never really know when it’s okay for me to talk about my job on the interwebz, but just to be safe I usually try to include this:
The views, opinions, and positions expressed in this or any other comments on NerdOrGeek are mine alone, and do not necessarily reflect the views, opinions, or positions of my current company (if you ever find out ;P).