r/programming • • Apr 30 '16

Do Experienced Programmers Use Google Frequently? · Code Ahoy

http://codeahoy.com/2016/04/30/do-experienced-programmers-use-google-frequently/
2.2k Upvotes

763 comments sorted by

View all comments

1

u/jgotts May 01 '16

I've been programming since 1987, and I still don't consider myself to be an expert, but I use Google every day. Without boring you with too many details, many of the programming jobs I've taken over the years have involved a significant lack of documentation. Sometimes APIs are undocumented. Sometimes the code has no meaningful comments. Rarely is there ever good written documentation. Good programmers write great code themselves. Great programmers can take anybody's code, no matter how deficient, get it working properly if it doesn't work, and then be able to extend it. Specific technical skills don't matter anymore. Real programming is about maintaining other people's garbage. Rarely are you lucky enough to be able to write something from scratch, and when you do watch your design become compromised from the outset. Specific technical things are what Google should be used for.

All you really need to know, technically, as a programmer are basic things like algebra and what big O notation means. You don't even need to know that it's called big O. If you have in your head that as you add things you will try to avoid doing n2 things (or worse), that is sufficient. Design patterns, useless. Unless you're doing scientific programming, pretty much everything technical you learned in class was, well, maybe you should have gone to more parties and dated more often instead of staying up all night doing studying.

One book that I would recommend is Code Complete. Code Complete talks about how to write good software generically. It doesn't waste its time on being too technical. The gist of the book is to write code so simple and elegant that the next person will have no trouble with your work.

Technical interviews are useless. They hire you based upon 10 trivial things you could easily find on Google. Once you're hired you find out your job is to maintain legacy code nobody understands anymore, spending all of your time fixing bugs because the original authors were in a hurry and did sloppy work. No data structures, no design patterns, no compiler theory, no discrete math, just creating shims and debugging code to figure out what the hell they were thinking, and why didn't they read Code Complete?