Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I disagree. Work on what you're interested in. If you're an expert on data structures but can't write programs, you're useless. If you can write programs but don't know data structures, you can pick up a textbook and solve that problem in a week.

Now, in my current position, I wouldn't hire someone that didn't have a solid understanding of data structures already (unless they were an intern)... but at other places I've worked, I would hire you in a second. The thing that will make you stand out in an interview is a proven track record of writing software. Other stuff can be fixed later.

(A lot of people that work as "software engineers" cannot write or engineer software. They kind of open up the Eclipse project, click shit, write status reports, and call it a day. This is what I want to filter out in an interview.)



> If you're an expert on data structures but can't write programs, you're useless.

I agree here, which is why the author of the original post suggest contributing to open source projectors. The projects that he suggests require getting more than a surface knowledge of how data structures are implemented.

There are certainly programming jobs that don't require knowing data structures, but if you're a good programmer and you understand data structures and algorithm, the total pool of jobs open to you is much higher (and you're much less immune to being treated as a commodity, although in my experience that has more to do with the company and the industry rather than specific work).

But overall, seeing the software a candidate has contributed to (fixing bugs, implementing new features, starting new projects) is a much more reliable indicator than whether they can white board an algorithm to detect a loop in a linked list without using any additional storage. You can minimize false positives and false negatives, but you're going to get them.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: