In high school, I took one class related to IT. It was Introduction to Programming. I liked it.
In this But, there are many frustrating hours and years wasted trying to fit myself into a box that’s labeled “Good Programmer.” Instead, I learned I needed to look for what else I could do in the world of tech. Here’s the story.
After graduating high school, I’ve gone to school three times. Once to get a BS in engineering, once to get a certificate in GIS, and once to get a MS in Geography. Each time gave me a different perspective of myself.
This was a top tier engineering and science school. Only one step away from Ivy League. They actually denied me entrance to the school of computer science because my high school B grades weren’t good enough. I didn’t actually ask to major in CompSci, but just in case. They shut the door in advance.
Just because I was denied into the program didn’t mean I couldn’t take classes. I took the introductory programming class. And I did well enough that I started tutoring students the next semester. I then felt confident enough to take the next level class. This was the one known to weed out the non serious programmers. It was object oriented programming (OOP) which I had never done.
Right from the beginning, the professors had us working our tails off. I fell behind quickly. It turned out, I was in need of weeding. Huh. After one horrible night of tearing my hair out with a program that refused to cooperate, I dropped the class. It was definitely humbling. I wouldn’t take another programming class until… 9 years later.
Absolutely not. I excelled in the C++ 2 class. The teacher was impressed. I felt great. Due to timing, though, I wasn’t able to move on to the next level. I got a job, then a couple years later applied to grad school.
The last school was a large public University. I was in the graduate school for Earth Science. But, I still managed to get into programming. This one was Matlab, which is its own language, and Python, with a focus on geographic applications. Since it was specialized to the field I loved, I did quite well here also. But I still wasn’t satisfied. Sure, I could complete the projects I was given. But nothing spoke to me. I didn’t go home and get excited about programming in my spare time. What else is there?
This Is What Else
In that story I’ve just told, there was one thing I did that I loved and worked on in my spare time. Can you guess?
I’ll give you a second.
It was when I built my own computer. I wanted to build another one, but the one I built was still working.
So, (I thought) I’ll build a new work station and use my old computer as a home server! Brilliant! That way, I can keep my old computer going and get a fresh new set of parts.
Technology had advanced quite a bit since then and a new system would be faster and nicer. This leads into the first two alternatives to programming: Hardware and Systems Administration. With a little Networking on the side.
From Central Processing Units to Random Access Memory to Graphical Processing Units, there’s a lot to learn about. You need to know all of it to be able to properly diagnose problems with a computer.
My first computer had a problem where it would randomly shut off with no warning. A friend in IT came to look at it. After installing some monitoring software to check the health of my computer, my friend decided it may be a hardware issue. My friend opened up the case and poked around. Eventually, it was discovered that the CPU cooler was loose and needed to be tightened up. The CPU had been getting hot and shutting off for safety. If a CPU runs too hot, it becomes degraded and its life is critically shortened.
If you are responsible for more than one computer networked together, and at least one is a server, you are a systems administrator. This is what I became when I turned my old computer into a server and built a new desktop. I keep my systems up to date, install software, troubleshoot networking issues, and maintain security of the system. One thing I learned about systems administration is: you don’t need a degree to get a job. Now, you’ll need to show you have experience with computers somehow. But, no degree is required.
Another aspect of having two computers where one is a server: you learn a bit of networking. Now, I don’t have wiring all over my house, and I haven’t bought any switches or hubs, but I do have a wireless network.
With networking, you learn how computers talk to each other. It’s quite complicated, but again, it’s possible to get a job without a bachelor’s degree. In this case, it’s best to get a bachelor’s to make more money; so if you have the opportunity and the motivation, go to college and get your degree. But, if you don’t have the time or money, you can get experience in alternative ways.
Other IT Alternatives
Here you build websites for people and businesses. You don’t need to know html, but it’s good to be able to understand it. I would definitely learn PHP and CSS also.
Pretty much every business needs databases. The most common language used is Oracle’s SQL (Structured Query Language) or some version. You don’t need a degree here, but an Associate’s or even a certificate will get you a job faster.
You’ll need an engineering or computer science degree to be a systems engineer. They help design and build systems from pre-made parts. This is what I was doing when I picked out all the parts for my computer and then put it together. Bonus points if you did any custom work.
More and more schools are offering degrees in cybersecurity. This is a great field that is growing as more and more of our lives are lived and stored online.
Block chain has gotten a lot of press lately due to the Bitcoin fervor. This is the technology that makes Bitcoin and other cyber cash alternatives.
It’s hard to get into software without doing a lot of coding. But, you could get into software design or UI/UX which is designing the GUI interface that the customer sees.
So, I can skip the programming class in school?
Frankly, no. Unless you know exactly what you want to do and it’s not a technical subject, you still need to know about programming and how it works. Take as many as you can to get an idea of what is out there and what’s possible.
While I dislike coding in general, I recognize its utility and place in the world. Coding allows you to automate things that a computer can do faster than you. It allows you to work smarter, so that you are only spending time grappling with issues a computer can’t solve. Think of the problem first. What are you trying to solve? How can you solve it faster? How can you make the computer do all your work?
There are so many career paths in the world of IT that it can be a bit overwhelming. But, try a little bit at a time. See what you like. Notice what you keep going back to. If you do it a lot in your spare time, or read about it a lot, that’s a clue that you could enjoy working in that area.
Do you have an IT niche you enjoy? Tell us about it in the comments!