Hacker News new | ask | show | jobs
by 0xffff2 2716 days ago
To be a good developer, you have to understand how computers work. You have to understand data structures. When you interview and you're asked to write a breadth-first search, or what the big-O complexity of accessing a hash map is, it's not because the company is going to have you writing your own custom hash maps right out of school. It's because you have to be aware of the general characteristics of the tools you're using to be able to select the right tool for the job.

Most of the students I interview fail miserably at this. They can hack together a working application by copy/pasting from examples and SO posts and making small modifications, but they have no fundamental understanding at all of what the computer is actually doing with the code they write.

1 comments

I feel I'll be fine, this is the stuff I love. I'm incredibly interested in understanding how things work, to the point that I've considered changing my degree to maths/physics/compsci. With zero revision I could explain the hash map, it's big-O, how to implement, use cases, etc. I figure that once you understand something it simply makes sense. I haven't looked into it but I'm sure there is some interesting statistics on the probability of collisions, optimisation, etc.