Ask HN: What should I know before I graduate?

2 points by satsuma ↗ HN
I'm an American college student, on track to finish my 4 year Bachelor of Science in Computer Science in May of 2020. A lot of my time in college has been spent doing university-required courses and as a result I don't feel like I know... anything, really, about programming as far as finding work goes.

I have a Github but I've never put anything on there because my school projects have mostly been too simple to really have a place there. I don't feel comfortable forking existing projects either. Through school, I've learned Java and Python, with a bit of C# in the context of Unity as well as some incredibly basic bash/Powershell scripting.

I've had an internship the last few years, but it's been mostly IT help desk, with my duties mostly consisting of answering phones and fixing hardware instead of learning the ropes of development in a professional setting.

It feels like a lot of things sail right over my head, and I'm concerned they won't get touched on in the last 3 semesters so I'll be out on my own without enough working knowledge to find even entry-level jobs. Is it too late for me?

1 comment

[ 2.9 ms ] story [ 16.4 ms ] thread
I regret not bothering to put stupid/simple things on GitHub earlier than I did. In part because using GitHub is, in fact, particularly educational in itself. Getting used to using version control for your own stuff will make it drastically less painful when you are trying to follow the expectations of a large organization. I also find putting personal projects on GitHub encourages me to use best practices, like ensuring no personal data ends up in the code out of convenience and the like.

Building some sort of personal projects is an awesome way to force yourself to learn things (apart from digging in and helping with other people's projects), and I would encourage you to see if there's anything that would excite you to build, and then tell you to figure out how to build it.

Funny story, I studied for (and have my bachelor's in) game development, and I ended up choosing to work in the IT field, where I actually prefer for my Mon-Fri. (You've probably already realized this, but IT and dev have almost no shared skills whatsoever, and my degree was almost useless for my actual job.)

I've probably learned a lot more just screwing around with hobby code than I really did in school, and despite not being in class for it or doing dev for a living, I am writing more (and better) code than I was a year ago.

Lately one of the things that's often kicked off ideas/projects for me is the Succinctly ebook series from Syncfusion: https://www.syncfusion.com/ebooks It's mostly .NET-focused, but has a lot of very short, well-written introductions to a given topic or project type. I've only really dug into a couple of them so far, but every one has been a positive experience.

If you're trying to work for a FAANG (which you really shouldn't), you need to memorize all sorts of algorithms and related jargon mostly for the purposes of the interview, but for most jobs you just need to be able to look at a general thing you need to implement with code... and implement it with code.