Going the College Route? Some Encouragement from a Career Switcher
Tags: career
Published: 2019-10-05 21:27:34

Just in case you don't read this whole article, I want to start with the most important points first:
* Anything that makes you feel like you're not cut out is wrong
* It doesn't matter when you started learning
* Nothing in CS is inherently useless
* No one sees your failures like you do
* Not everything you learn will translate to real projects (so don't worry if you don't understand stuff)

# Introduction

Ok, with the important stuff summed up, let me give you some background on this article. I am a career switcher and didn't *really* learn programming until I started college at the age of 25. I wouldn't say I "never wrote a line of code before" but that's because I took programming in high school because it was a blow off class.

There's something I noticed during college, and that's that it can be really intimidating. Aside from the new concepts you have to learn, the environment (ie, you're professors, classmates, etc) at times can be discouraging to newcomers. I started thinking about people in college right now who have it in them to become talented professionals, but who might get scared off by the environment. I'm writing this for you, because I want you to stick with it if it's something you're interested in.

Also, I should note that while I'm writing from a college point of view, many of these things will apply to anyone who wants to be a *professional computer toucher* and is just now starting down their learning path.

# There's no reason you can't be a programmer/ DBA/ Sysadmin/ whatever

*(this is why I like the term "professional computer toucher" :p )*

## Skill

For the college students doing CS, CIS, MIS, or whatever combination of letters leading to a career in technology, you will run into people that seem like prodigies. You'll have classmates that started programming when they were 5, can do linear algebra in their head, and just seem like they're *one* with a circuit board.

It doesn't matter. It's really easy to see these people and think you're light years behind them and that you'll never catch up. This isn't true, and even if it were, it's irrelevant.

If there was a graph of the things you learn throughout your career, it would be exponential at first, linear in the middle, and then kind of flat near the end. This is true for everyone and after a few years, the kids that were programming in the womb might be only one or two vertical units above you in terms of skill. The things you struggle with this year will seem simple to you next year.

Anecdotally, think about people that have to learn new languages in their adult lives. Many of them eventually get to the point where native speakers can understand them perfectly. There may be traces of an accent, but communication is still possible.

Putting the previous point aside, it also doesn't matter how much more technical prowess someone has over you. There is a quote about software engineering research that is relevant here (I can't remember the source): "Software engineering problems are *people* problems." That is to say, the most important skills you bring to future employers aren't necessarily your OOP and FP knowledge, but how well you can communicate and collaborate with your team and the rest of the organization. It's better to know how to empathize with users than it is to know how to reverse a binary tree.

## Demographics

If there's anything about *you* that makes you feel like you don't belong, put it out of your mind right now. I can't promise you that peers, interviewers, or managers will put it out of their heads, but for now we're only concerned with how you feel about yourself. It doesn't matter if you don't look like or think like the people around you, you belong here if you want to be here.

I know this can be a sensitive and nuanced subject, so I won't spend too much time on it. I just want *you* to know that *you* belong here. We are all gray between the ears, and that's the only thing that truly matters.

# There's value in all kinds of learning

This goes with the point that there's nothing inherently useless in CS. What I mean is that just because you spent a lot of time learning something and ended up never using it professionally or beyond the classroom doesn't mean it was a waste of time.

The point here is to not get tripped up on learning the wrong technologies or subjects. Spending a year learning Perl (guilty) is better than spending a year of learning nothing. Many of the things you learn in one technology will transfer to another, and if not, will at least give you more than one perspective to look at problems.

Likewise, outside of specific technologies, college will expose you to a lot of theory. Some of it may seem like it's irrelevant to life outside of college, and you're probably right for most of it. But, learning these things isn't a waste of time because you're ultimately learning how to solve problems.

Conversely, especially if you're going the college route, you will learn a lot of stuff that you will never see in the "real" world. College will expose you to a lot of complex concepts that most of us mortals will never really have to think about once the class is over. So if you're struggling with calculus 3 or automata theory, it doesn't mean you can't still be a great *professional computer toucher*.

The point here is twofold: Struggling with something doesn't mean you're not cut out for technical savvy-ness. However! You're not wasting your time by learning these things either. 

# Failure Shmailure

Sometimes you just won't understand something, sometimes you'll miss a deadline, sometimes you'll feel like the stupidest person in the world. It's ok, and I promise you we've all been there.

It's natural to be disappointed and a little depressed when things like this happen, but if you're worried about how the outside sees it, don't. Lots of people are their own worst critic and for the most part we are blind to the failures of those around us (except for the jerks actively rooting against us).

This last point I'm trying to make, and perhaps the main point I'm trying to make, is that the only thing that matters is how you feel about yourself. There will be other assignments, other semesters, other jobs, other projects, and so on. If you really want to be a *professional computer toucher*, you can be.

I hope this helped anyone who's starting out or just struggling through their learning journey in general. I'm rooting for you! Feel free to reach out if you ever need help understanding something or just need general encouragement.