« Does anyone make a cell phone with no keypad or screen? | Main | Native PDF Support in Office 12 »

September 28, 2005

The Google Powered Developer

A.K.A. You can't keep up with technology, so don't even try.

The paradigm for coding is changing. There used to be a pretty small number of technologies that a given app would use, and if some of those technologies were new to me, I could spend a couple days and spin up on them. Today, we're using many little pieces of very big things. Be it a grid with hundreds of members, or SQL Server with hundreds of features. Today, I'm seeing developers use a different paradigm. They Google, code, Google, code. A developer knows they need a grid. They drop one on a form. How do you get data into it? Google. How do you make alternating lines a different color? Google. The application needs logging. Google says that you can choose the Logging Application Block, or log4net. Google says that log4net is easier. Google shows how to get log4net up and running. The developer needs to encrypt the local database. Google. What's a good way to do dirty form handling? Google.

There's just no way to keep up. The number of developer related technologies, even in the Microsoft-cosm, is increasing at an exponential rate. How much time do you have to learn, in advance, about Reporting Service, Windows Workflow Foundation, WinFX, Indigo, Atlas, Team System, System.Transaction, Lambda functions, Ruby, Visual Studio Tools for Office, Hubards Peak, what's the fastest chart control, DirectX, LINQ, CLR stored procedures, Avalon, Expression studio, MBS, Speech Server, My, Generics, iterators, BackgroundWorker, table layout panel, ClickOnce, BizTalk, Sharepoint, BI, AI, single instance applications, etc., etc. Looking at this list, you probably think exactly what I think, which is, "I don't have to know everything about each of those right now. If I need one of those, I know I can figure it out pretty quickly."

In any area where the knowledge space has exploded, search has become the solution. I used to organize my e-mail. I don't any more. I know with MSN Desktop search, I can just find anything that's ever gone through my Outlook. I don't use my Start menu any more. Start | All Programs | Microsoft Visual Studio .NET 2003 | Microsoft Visual Studio .NET 2003, is too slow. Typing "Visual Stu" in the MSN Desktop search bar is fast.

Since there's no way to keep up with everything new, don't even try, and don't feel bad about it. The new paradigm is to know that for the vast majority of development tasks, a solution probably exists. You just have to find it, figure it out, and use it. If you take two developers with equal coding ability, the one who's a Google Use'n Machine will be far more productive that the developer who isn't. You want the Google Powered Developer in your shop.

Do the people building technology know about the Google Powered Developer? Are they optimizing for the GPD?

Here's a message for those people inventing the new technology. Think Search. Many of your users will not know that your product/feature exists, before they click "Search". When they find your stuff, it better be quickly apparent exactly what your stuff does, and how it should be used to solve their problem. Many users are only going to kick the your tires for a few minutes before they decide to make your stuff part of their solution, or return to The Text Box for more answers. Time to Grok is key. I know you love those who are enamored with your stuff, who research it in depth, and who blog all about it, but for the other 99.999% of your users, they're doing JIT learning.

How JIT-able is your feature? How JIT-able is your product?

Posted on September 28, 2005 at 04:45 PM | Permalink

Comments

Scott,

Great! I really think you have hit this on the head. I hope programmers remember that while this is an effective technique to help you find things quickly, they still need to architect their complete application and not just put a bunch of "snippets" together haphazardly. While a snippet might be good to get things up and going quickly. It can hurt you in the long run if you don't think how that technique needs to fit in your overall architecture for every application you develop.

There is also such a thing as a "Copy and Paste" developer, which is similar to the "Google-powered developer". These are programmers that copy and paste methods and whole classes from one project to another. This leads to a maintenance nightmare.

So while these types of developers may be able to get something up and going quickly, they will ultimately fail as a long-term programmer since no one can maintain their applications. A good architecture is worth every bit of effort and time put into it.

Posted by: Paul Sheriff | Oct 2, 2005 1:41:58 PM

I worked on a joint grant project for 3M and Hamline University years ago. The fundamental problem being addressed by the grant project was that colleges were busy trying to cram all of science into the heads of their science majors, which actually left the students in a pretty poor place to go into the industrial workforce. They were missing the skills that 3M was really looking for, even as they had an overabundance of technical knowledge.

The number 1 missing skill that 3M was looking for? The ability to research and find answers to new questions. The number 2 missing skill was the ability to communicate those answers to other team members.

I don't think our CSci/software engineering programs have figured out that this is the key skill, too. Doubly so right now, considering that the functional language revolution is at hand (see my blog).

Posted by: Robert Fischer | Sep 22, 2007 9:51:35 AM

http://techonion.blogspot.com/

Posted by: onion | Sep 22, 2007 7:39:41 PM

I totally understand what you're saying and it's what lead me to start my company a few years ago. Search, search, search - you cannot build a good online learning resource without one and I made it one of the things I focused my site around. Tag based, every article/video has tons of ways to search - all for that reason. I program by Google, every solid programmer I know programs by Google, and, with what I can do from my PC today (videos/articles/google) I find no reason to take a live class today (and spend $2000).

Posted by: Scott Whigham | Sep 27, 2007 3:20:58 PM

After hefinished with pleasure it was

Posted by: kinky | Jan 23, 2009 4:15:12 PM

The comments to this entry are closed.