4 ms·
A programming expert is not a person who has memorized the contents of the programming equivalent of the Oxford Dictionary, but one that can write code the way
by yannis 17y ago
A programming expert is not a person who has memorized the contents of the programming equivalent of the Oxford Dictionary, but one that can write code the way Hemingway could write books.
- nkassis 17y agoI would call that a hacker. An expert in the real world just knows a lot of stuff.
- Novash 17y agoAn expert is someone that can code without using google to teach him how to make every other function.
- brianto2010 17y agofrom http://www.zedshaw.com/essays/master_and_expert.html http://www.zedshaw.com/essays/master_and_expert.html > The main thing I noticed about the experts I’ve encountered is they are into impressing you with their abilities. They are usually incredibly good, but their need for recognition gets in the way of mastery. Everything they do is an attempt to prove themselves An expert programmer is a knowledgeable, yet ostentatious programmer. :-)
- yannis 17y agoYou right an expert hacker! :)
- silentbicycle 17y agoThe usual term for somebody who knows endless language details is 'language lawyer'. It's mentioned in _The Mythical Man-Month_ as a member of the "surgical team". Nowadays, the language lawyer role might include exhaustive knowledge of the dusty nooks and crannies of complex APIs.
- Novash 17y agoI think I will end up reading this book someday.
- BerislavLopac 17y agoIn the words of Fred Brooks himself: The book is called "The Bible of Software Engineering" because everybody reads it, but nobody does anything about it!"
- hvs 17y agoIt's actually got some good ideas but I think you'll find it less of the guiding light that you might expect. It was written in the world of the waterfall method, batch processing computers, and systems development. It has some really interesting stories about OS/360, but I think you'll find more guidance in a modern book on Agile methods.
- blogimus 17y agoYou've got half the picture, the art, the intuitive grasp of flow and balance. You've ignored the other half, the mechanics. The mechanics are not about memorizing volumes of texts, Aspects of an expert include having been there and done that, learned from own or other mistakes. Knows the roadmap, overall rules of the domain. Consider a programmer as a medical practitioner (Doctor). What are the properties of an expert Doctor? Much of what I've briefly stated above: Lots of experience, knows what is most likely (not guaranteed) to succeed or fail given known conditions. Now imagine you are an expert doctor and the human physiology radically changes every 2-3 years? The field of given known conditions also radically changes. How can you keep up on these changes and all their nuanced inter-relationships?
- yason 17y agoMost things in programming haven't changed and won't change. Yes, we programmers do float on a river of coding, passing through an ever-varying scenery that is the programming environment. But the river itself and its flow remains the same. There's a lot of fuzz all the time but, for example, in the last twenty years what has really changed? The playground has invented itself a few times and we're juggling primitives of a much higher level of abstraction as before. But there are always the set of primitives and, out of them, our job is to create the rest of it, the new things, for we are makers. Doctors aren't makers of new but practitioners of what's known.
- blogimus 17y agoIn the last twenty years we've gone from where microcomputers were generally isolated to our now highly connected world with social networking and botnets, all the benefits and security risks that entails. Programming languages in the mainstream have seen great changes in the past twenty years. River flow does not stay the same. The rate of flow changes with the seasons and geographically, rivers can move over time, depending on local geological conditions. Doctors are makers of new, otherwise where do our medical advances come from? They have to explore the unknown to make it known. Yes, "primitives", our foundations in digital technology and programming fundamentals are the same. We still use collections and algorithms, and our computing technology is still rooted in the core theory of the Turing machine. This knowledge is very important, but it really is still just the foundation which we need to be effective, develop expertise. The tools we use today, the applications and libraries and languages do change rapidly. And that is where the interactions are complex and change all the time.