Hacker News new | ask | show | jobs
by ClassyJacket 3079 days ago
Here in Australia, most people just think "literally anything to do with computers = IT". So when I talked to course counselors they said if I wanted to be a programmer, I had to do an IT degree. Not even close.

Software engineering, or maybe CS, is what I wanted. I hadn't even heard the phrase "computer science" when I started university. The total incompetence of the course counselors at the core function of their job contributed to putting me on a path that eventually lead to the ruin of my life.

I did a degree that claimed to contain software development, but was in the IT category - I never learned of the concept of version control (at all), how to use makefiles, exception blocks, performance profiling, or a bunch of other practical stuff.

Now I'm wasting away in an IT support job. I can't blame everything on that, and most of the responsibility for where I am today is on me - especially for not turning it around better after I realised my mistakes, but I feel like the confusion between "IT", "CS", and "Software engineering" definitely kickstarted a path that wasted alot of my most valuable learning time.

Don't trust course counselors - or other people in general.

6 comments

The school could have done you better, but don't externalize your problems. Most schools' CS degrees won't teach you version control, makefiles or any of that practical stuff. You learn it for fun, incidentally, or on the job.

I was once in your shoes. Same background, same regrettable life choices, same potential future.

If you want to develop, do it. Start by looking at the crap software your company likely pays hundreds of thousands of dollars for and think about how you could do it better. Start by actually trying to supplant it with something of your own creation.

I have a generic degree. All those "practical" things you lament missing out on, I learned by just doing it. But I never had cause to learn what big-o notation was or how to navigate a b-tree...you know, that non-practical knowledge a CS degree would have endowed me with. The lack of such has only stopped me from working at Google. Plenty of other shops are not in the business of recruiting only those who can write the freshest sorting algorithms.

Just don't spend the rest of your life in a job you hate, condemning yourself for being put upon. It takes little effort to invoke large changes.

My CS degree didn't even teach any specific languages. Pretty much every course used a different language. I'll date myself here but I used PL/1, Pascal, Modula 2, C, Scheme, assembly, and maybe a couple of others. None were the explicit focus of the class. The programming language was incidental, students were expected to learn it on their own. And my first job used none of those languages. My next job didn't either. In fact I've never used any of the languages I used in school on the job.
In the US, at least, outside of Silicon Valley, the type of degree isn't necessarily a barrier.

Some of the best developers, DBAs, system engineers, etc, I've hired had history degrees, math degrees, journalism, EE, etc. The degree itself, for me, is just proof that you finished something important. I care more about what you know, and how well you can learn something new.

I don't think I'm that unique in this respect. The tech shops I've worked in over my career were full of non-CS degreed people. Mostly my experience here, though, is with non tech companies. Things like the IT departments in Healthcare, Travel, Automotive, etc.

At my San Francisco employer, my org has several people without degrees, and one of the best managers in my team has a degree in one of the hard sciences, not CS.
>Don't trust course counselors - or other people in general.

I... think it's not so much a matter of 'trust' as you have to understand what people understand. My understanding is that their job is to help you navigate academia, and I'm sure they are competent at that. I can't imagine how they could be good at figuring out what you want to do. That's hard enough to do yourself.

The other thing about higher education is that it's usually not meant as vocational. Now, I'm in IT too, and for that matter, I didn't go to college, so maybe I don't know anything, but my impression is that a good school is about giving you a common intellectual and cultural background, not about actually teaching you how to do your job.

This is to say, after your undergrad, you should be prepared to learn how to do a job that requires a degree, and how to communicate with others who have gone through the same training.

(Personally, I am a little confused as to just what you learn in an "IT" degree; as far as I can tell, they don't give you much math, and on a personal level, the only people I've worked with who had 'IT' type degrees were management.)

Here in Australia, most people just think "literally anything to do with computers = IT".

Stateside too. I used to get asked to fix printers by friends and associates and in general get treated like a help desk by people all the time because all they know is "Dave works with computers" even when I started working directly with managing software development teams later in my career.

Heck, about 16 years ago when I was working the help desk in a call center I had someone ask me "Hey IT Guy why isn't the water fountain working?" as I was walking out the door. I asked her to wait a moment, poked my head into the office of the facilities maintenance manager and asked him if he could help out.

For some reason that last bit was especially insulting, both being called "IT Guy" instead of being greeted at bare minimum by name, and for the assumption that I somehow knew how water fountains work. I was a frustrated and angry young man then, heh.

Feels good nowadays when people ask what I do "Security and Compliance". I don't get asked to fix printers anymore.

I always really enjoyed the "fix random broken mechanical thing" part of the "IT guy" job.

"Hi, I'm Luke, and I fix things."

Also, the borders between the higher levels of IT, what we call Systems Administration, and programming are somewhat porous. I've worked as a programmer before, and I've never worked anywhere (as a sysadmin) where they would hire a SysAdmin who didn't have basic programming skills.
Also Australian, I did an IT degree, chose electives to do with Software Development, and now work as a Software Developer.

Not sure why your experience was so different? Sounds like you got a raw deal though.