Design Mode Coders

As I'm sure everyone knows by now I've gotten to experience first hand how some of our interview candidates write code.  The one thing that is most surprising to me is the reliance on all the designers within VS.NET.  I'm more of a do-it-yourself kind of guy so I rarely use the designers for building the applications I work on.  I code my web forms in HTML view, create connections manually, and very rarely use anything "drag-n-drop". 

The main reason for my anti drag-n-drop spirit is that I want to know what's going on in the applications I write.  I don't want to be reliant on some visual designer, if need be I want to be capable of dropping into Notepad and kicking off builds using csc.exe.  At the same time I like to take advantage of all the goodness that VS.NET provides.  I have a VS.NET shortcut list pinned next to my desk, and am all about finding ways to leverage tools to speed up my development.  I don't however believe in designers that do things for you, create crappy code, and give credence to inefficient, un-scalable code.

Beware of those designers!

# re: Design Mode Coders

Thursday, August 26, 2004 6:40 AM by Frans Bouma    
Fully agree!

# re: Design Mode Coders

Thursday, August 26, 2004 7:44 AM by Jeffrey Palermo    
Depends on requirements. If it's a small app (only a few users), there are no scalability requirements, but for me and my team, we have to squeeze every bit of performance out of our code, so I like to code everything as well. I reuse code that is in the Framework, not by having it generated for me.


# re: Design Mode Coders

Thursday, August 26, 2004 8:39 AM by David Hayden    
I also like making changes to the source code directly as opposed to using visual designers and drag-n-drop.

In general, I won't outsource a critical part of the application to a visual designer, code template, or tool that I can't handcode myself and/or have a great degree of assurance that I know the end result :)

However, software development in the not too distant future will probably be all visual. It will be like having a picture of a Big Mac to press on the McDonald's cash register :)

# re: Design Mode Coders

Thursday, August 26, 2004 7:03 PM by Wolfgang    
I do _not_ agree with you on this one. Visual design especially rocks in UI design. I remember those Java days of old, when I handcoded UIs. It's slow, tiresome, boring. And that's not good, since coding should be fun.
I do agree however that you should be _able_ to code without any help from your IDE. That way, if the code generated by some designer really is that bad, you at least know how to improve it.
So, would I hire someone that codes using visual designers? Sure, but I would force them to use a simple text editor and a command prompt in the second part of the interview :)

# re: Design Mode Coders

Friday, August 27, 2004 3:58 AM by John Tobler    
RE: "Tools Considered Harmful" WAS "Design Mode Coders"

Tools are not inherently evil. It is at least theoretically possible that at competent individuals may use them without danger of eternal damnation or having their reputations sullied.

Think of the calculator analogy. If you demonstrate that you can add, subtract, multiply, and divide large and small real numbers by hand, you have earned the right to use a four-function calculator - no more. If you show that you can (1) do square roots by hand, (2) compute a cotan given a sin and cos, and (3) at least utter the Secret Mathematician's Club spell words, "Taylor's Series," then you can probably safely be trusted with a scientific calculator. OTOH, if you cannot calculate a present value on paper, you should be barred from using a financial calculator.

I believe .NET engineers should know what they are doing down to the roots. A competent .NET professional has probably written at least one working "Hello World!" program in MSIL and should be no stranger to writing proof-of-concept, one-off console apps to explore .NET fundamentals. Anyone programming for Windows Forms should prove at least minimal competence with delegates and events. ASP.NET programmers should demonstrate cluefulness about the various types of controls and what really happens when a page gets executed.

Engineers should *be able to* write everything in their projects by hand; that doesn't mean they should *do so.*

Our species has thousands of years of experience using these things called 'tools' and generally we have concluded that tools are good. Of course, tools should be used by people who understand them and they should be used for the right purpose and in the right way. Misusing tools can cause considerable pain to self and others.

A solid engineer can explain exactly how each section of code in an application works. If an engineer is that solid, I have no problem with their use of VS.NET wizards, snippet librarians, code generators, and other programming automation aids. In the right hands, these tools make system building more efficient. Using them, we can deliver a stronger tool to its user more quickly than we can by fumbling around in Emacs, Vim, or Notepad, reinventing every wheel, bell, and whistle.


# re: Design Mode Coders

Sunday, August 29, 2004 8:50 PM by Michael    
I agree with John Tobler.

>A solid engineer can explain exactly how each section of code in an application works. If an engineer is that solid, I have no problem with their use of VS.NET wizards, snippet librarians, code generators, and other programming automation aids.


I am understand what happens behind the scene, thus feel comfortable with Visual Designer.
But I don't like using tools if something hidden or looks misterious for me.


# re: Design Mode Coders

Tuesday, August 31, 2004 4:38 AM by Sean Chase    
I don't fully agree. However, I have VS set up for the default view to be the HTML layout view because: A) design view trashes your code and formatting, B) Absolute positioning is evil! :-)

# re: Design Mode Coders

Friday, September 03, 2004 3:47 AM by Steve Hebert    
I wish I had a way to test Net/Google/MSDN savvy. I know coders and dba's who I could swear have never used the internet. They resort to "ask the guy in the next cube" first. Nothing sets me off quite like that attitude. Now I understand why Microsoft gives programmers enclosed offices.

Post a Comment

 
 
Prove you're not a spammer: 
0 + 1 =