Skip to content

Comment on I’m graduating with a CS degree but I don’t feel like I know how to program.

Comments

No one's brought up special sauce. The trick to getting hired to do interesting software engineering work when you're not a brilliant programmer is to bring more than just programming skills to the table. I didn't start programming seriously until I was in college (TI-89s, LOGO and ActionScript don't really count). And I didn't even major in CS. But I took CS classes, and I learned some Bayesian statistics and some natural language processing and a little machine learning stuff, and I got hired right out of school as a software engineer doing analytics for a company with an information retrieval focus. And I realized that for most of the really interesting problems, just being a good programmer isn't enough. I have coworkers who are more talented programmers than I am. Some of them can code faster, or with fewer bugs or less thought. And I'm grateful to learn from them, and to become a better programmer fostered by an environment with some really good programmers. But the very best projects and problems need some additional creative spark, or mathy trick, or UI magic, or something beyond just the code itself, and sometimes, I get to contribute that something.

So if I was in the OP's shoes (and I almost was, although I wasn't a bad programmer when I left school, just green), yes, learn to program and work on projects on your own. But also learn some stuff that your coworkers aren't likely to know. For me, it was just enough Bayesian stats and applications thereof to have insights that others wouldn't. For someone else, it might be distributed systems, or computer vision, or physical simulations, or information design, or algorithmic game theory, or fancy math, or any corner of the CS or math or statistics literature that has a pratical application but which most programmers don't know. I found that even good programmers won't generally know how to take the KL divergence between two distributions, or write the EM algorithm or put take the MAP estimate of a binomial rate parameter given a beta prior, but there are a lot of software applications for that kind of knowledge. And the world is full of cool problems waiting to be solved by someone who knows how to program, but also knows something else.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.