I believe Joel Spolsky on his blog, Joel on Software[], has written about this extensively and would agree with you. He calls them smart people who get things done. The trick then is how do you attract and hire smart people who get things done? You give them an environment they want to come to, whatever development tools they want and surround them with other smart people who get things done.
Wambach
Posts
-
Developer Productivity -
No commentI use to add jokes, odd stories and stuff as comments in my code. Much like here at the lounge. Sometimes I would add comments about coding quirks, crazy stories about why I chose one design over another. It was nice to hear new developers laughing in their cubicles while tasked with maintaining my old code rather than cussing me out.
-
Who needs a cloud?A long time ago and in a different universe I use to play drums for a living. I recently purchased a used Yamaha IISP e-drum kit re-learn how to play and recording through a usb audio interface. I have been using an older computer but suffer from the occasional dropout when I record. I want to replace it. Do you have a recommendation for an off the shelf computer or a motherboard/cpu combination to start with if I build one? Also, I am working with old friends who have remained active in the music business and who are being very patient with me as I re-learn to play the drums and learn basic recording techniques. We are located in Tennessee, Colorado and Iowa. The first problem we had to tackle was how to share tracks. We are using the free version of myotherdrive which is where the cloud is effective. If you have other suggestions for sharing or moving tracks around I would love to hear them.
-
A career questionA PHD is works nicely if you want to lead a research team at any National Lab, NASA center, Google or Microsoft. I think Sergey Brin and Larry Page appreciate their PHDs. Kao and Burrell did nicely with Garmin though Burrell only has a masters. The research of PHD's can lead to new technologies that prove popular. Just a thought.
-
Why is ASP so SLOW?! [modified]I printed this post, framed it and it now hangs proudly in my carpeted box. It is pure truth.
-
Best free backup softwareTry typing ntbackup /? from a command line and see if it will help.
-
Mis-pronunciation forms new wordA few years back the Network people came up with the scheme of standardizing all user names to first letter of the first name and then the first seven letters of the last name. They reversed the scheme afer an older woman named Peggy Enis complained loudly.
-
Mis-pronunciation forms new wordI enjoy it when people mis-pronounce a word but the result is even better than the original. I watched a Microsoft Web Cast where the presenter was pronouncing "Developer" as "Devil Lipper" which fits in an odd way. Anybody care to share their favorites?
-
Code Artists: BFA in programmingI must disagree with the basic premise. The great artist Pablo Picasso said "There is no abstract art. You must always start with something. Afterward you can remove all traces of reality." Unfortunately with programming the reality is that it is built on mathematics. Modern languages have "abstracted" this reality away from newer programmers with sophisticated libraries. But I do agree with Mathew Faithfull's post about reading and analyzing classic code. Just as writers of today read the great authors like Dickens and Hemingway so to should programmers read the classics. I personally would suggest Kernighan and Ritchie. Picasso also said "It took me four years to paint like Raphael, but a lifetime to paint like a child." I feel my four year computer science degree taught me the basics. Now I am capable of stripping away reality and painting like a child. But without the foundation you truly do not know what you are doing.
-
Language communities and best practicesI recently attended an event where Ivar Jacobson was the keynote speaker where he stressed "practices" over process or methodology. He suggested you pick a single practice (i.e. implementing unit tests in your code or incorporating an automatic build) and implement it. Eventually over the years you will develop your own toolbox of best practices that work for you. He thought this was a more efficient and practical way to being a better developer than trying to implement a whole process like Agile, Scrum or Xtreme. It also allows you to pick and choose the individual practices that work in your particular work domain. Then as new programming processes are proposed you are free to pick and choose individual practices from the process and add them to your toolbox. It was interesting hearing this come from the man who might be considered the inventor of the software process.
-
Programming languageI started out as a C++ programmer but eventually had to learn C, then SQL, the Java, then Perl, then JavaScript, then... I think it would be difficult to be a programmer very long and not have to learn a new language.
-
ClevernessUnless the clever code is written be judged on its cleverness. Years ago I followed the Obfuscated Perl contests. Code that hurts yours eyes, baffles your brain and delights your senses when run.
-
9-17 attitudeI think working excessive overtime is an indication that something is wrong. But you do need to invest some of your own time to keep your skills up to date.
-
Quick PollSure doctors have to have degrees. Why?
-
Quick PollWould you make this same argument for other professions? Do you want to ride in a commercial airliner built by a home enthusiast? Do you want heart surgery from a person with no training but they read about it in a book? Do you want a root canal from somebody because they have a pick and a drill? If you were charged with a crime that could send you to prison for a long time would you trust your defense with a backwoods lawyer or one with an Ivy League education? For these most people would choose the person with the formal education and training. Not the person who learned it on their own. But yet we accept programs from people because they have a computer with a compiler. At the same time a Computer Science degree or any other degree for that matter does not make someone a programmer. It only provides them with the base knowledge and specialized vocabulary to begin learning their craft. They still need several years of mentoring to master their craft. Ask yourself this question. If you had to choose between two people with identical intelligence, drive, and creativity for a programming job but only one of them had a degree in Computer Science which one would you hire?
-
Quick PollI have a BS degree in Computer Science and written programs in over a dozen different languages. If someone tells me they are a "insert programming language here" programmer I worry. My experience is that this is where a formal education helps. You are exposed to multiple languages, the domains where they are used and the reason they are effective. A programmer can learn SQL but they will be more effective if they have also been exposed Relational Algebra and Relational Calculas which is the mathematics behind the language. Knowing why and how a language is created is a powerfull tool when it comes to learning a new language. There are competent, even excellent, programmers that are self taught but in my opinion they are the exception rather than the rule.