Content by Category
.NET 1.x
.NET 2.0
.NET 3.0
.NET 3.5
.NET 4.0
.NET Assemblies
.NET Framework
.NET Getting Started
Accessibility
ADO.NET
Advertorials
Agile Development
AJAX
Architecture
ASP.NET
ASP.NET MVC
ASP.NET WebForms
Azure
B2B (Business Integration)
Bing
BizTalk
Book Excerpts
Build and Deploy
C#
C++
ClickOnce
Cloud Computing
Code Contracts
CODE on the Road!
COM+
Community
Conferences
Continuous Integration
Crystal Reports
CSLA.NET
CSS
Data
Design Patterns
Development Process
Display Technologies
Distributed Computing
DotNetNuke
DSL
Dynamic Programming
Editorials
Enterprise Services ("COM+")
Entity Framework
Events
Expression Blend
F#
Fox to Fox
Frameworks
Functional Programming
Git
Graphics
Internet Explorer 8.0
Interviews
iPhone
Iron Ruby
Java
Java Script
jQuery
LINQ
Linux
Mac OS X
MDX
Microsoft Application Blocks
Microsoft Business Rules Framework
Microsoft Dynamics
Microsoft Expression
Microsoft Office
Mobile Development
Mobile PC
Mono
MsBuild
Network
NHibernate
Object Oriented Development
Open Source
Opinion
Opinions
Oracle
ORM
Other Languages
Parallel Programming
Patterns
Podcasts
Post Mortem
PowerPoint
Print/Output
Product News
Product Reviews
Project Management
Python
Q&A
Rails
Rake
Reporting Services
REST
RIA Services
Ruby
Ruby on Rails
Search
Security
Services
SharePoint
Silverlight
SOA
Social Networks
Software & Law
Software Business
Source Control
Speech-Enabled Applications
SQL Server
SQL Server 2000
SQL Server 2005
SQL Server 2008
SQL Server CE/AnyWhere/Mobile/Compact
Subversion
Sync Framework
Tablet PC
TDD
Team System
Techniques
Testing and Quality Control
Tips
UI Design
UML
User Groups
VB Script
VB.NET
Version Control
VFP and .NET
VFP and SQL Server
Virtual Earth
Vista
Visual Basic
Visual Basic 6 (and older)
Visual FoxPro
Visual Studio .NET
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
Visual Studio Tools for Office
VSX
WCF
Web Development (general)
Web Services
WF
Whitepapers
Windows 7
Windows Azure
Windows Live
Windows Server
Windows Vista
WinForms
Workflow
WPF
XAML
XML
XNA
XSLT



Hacker Halted


 


iPhone iPad Developers Conference

Reader rating:
Click here to read 2 comments about this article.
Article source: CoDe (2007 Nov/Dec)

Coders Anonymous?


Julia Lerman

How many times have you sat at the computer, with a need to visit the, erm, “reading room”, and thought, “Just one more minute, I know I can get it to work with this one little tweak.” Of course the one tweak doesn’t quite do it, so you keep at it until that “reading room” visit becomes a little emergency.

I have often thought that if I had children, they might have called family services on me by now. I have often imagined the following dialog:

“Mom, we’re hungry, when’s dinner?”

“In a minute honey.”

“Mom, it’s okay. We had Captain Crunch for dinner. But can you help us with our homework?”

“Sure, sure, in a minute sweeties.”

“Mom, Dave Letterman’s on and he’s interviewing Daniel Radcliffe. Can we watch it even though it’s a school night?”

“Uh huh, yeah. Just a minute honey.”

Of course, I know plenty of women who are super hard core coders and awesome mothers, as well as plenty of guy geeks who are wonderful fathers and very involved with their kids. But don’t tell me you’ve never waited to go to the loo until it was an extreme emergency.

But the obsession goes deeper, doesn’t it? Finally, the code compiles; the code runs; the code works. But how’s the performance? How efficiently have you used the language and the methods? Have you used any of the coolest-latest-newest features? (Generics? LINQ? Anonymous Methods?)

I’ve talked to many programmers who, like me, are incredibly impatient, exhibiting behavior that easily prompts ADD or ADHD labeling. (Well, at least by my husband!) I hate doing hikes or bike rides where I go some distance in one direction then turn around and return on the same route. I can’t bare repetitive tasks. I can’t watch TV without the remote control in my hand. You’d understand how sick this really is if you knew that where we live, we only really get two channels with any clarity.

I need to move forward ... always. If we are so impatient that we can’t walk on the same path twice in a row, how is it that we can be so obsessive that it’s possible to spend hours and hours trying to get one line of code to work? Sure, there’s another way that only takes a few extra lines but it is such a disgusting hack. It would be embarrassing if anyone ever saw it. It would be up on the DailyWTF in a flash and off to the dungeon for my career.

Another place where the obsession gets in the way of daily life is when you would like to ask a question on a forum or a list serv. You’ve already spent hours trying to solve the problem and are ready for some help. As you start writing your question, you can’t help wondering if there is something you haven’t tried yet; something so obvious that you fear you will get laughed at for asking the question. Of course, we all know that this is silly and we wouldn’t think the same of someone else asking the question. Nevertheless, you spend another two hours trying everything you can possibly think of before you dare ask the question in public. And the sad truth is that quite often, the answer pops into your head approximately two minutes after the question has gone live. It just took that long for all of the hard work and research you just put into the effort congealed in your brain and you came to an “Aha!” moment.

There’s no question that ego is involved with this, at least in my case. Whether it’s the ego that is worried about exposing your humanity in publicly visible code or asking a question in a public forum, it can be a showstopper. Can’t you just hear those people gasping “Oh my God. That person doesn’t know every single namespace, class, and method in .NET? What a moron!” I think my worst ego problem though is involved in dominating the computer. I take it very personally when the computer tells me that I can’t do something. Talk about throwing down the gauntlet! I will not stop until I win and that is all there is to that!

So while patience is a virtue and obsession is sometimes identified as a form of psychosis, where would the world be without our little quirks? Would software be produced more slowly because we are not interested enough to work (or even think about code) more than 40 hours a week? Would software run more slowly because we haven’t wondered how a hundred different factors might affect performance? Who would answer all those questions on the forums and list servs or point out problems with [insert your favorite software vendor’s name here]’s beta releases that are so generously made available to us?

So from now on, when you witness someone raising their eyes to the heavens and proclaiming that “patience is a virtue,” you can let them know that in our world, the world inhabited by hapless, obsessed developers who have little control over their coding urges. “Impatience, my man. Impatience is our virtue!”


How would you rate the quality of this article?
1 2 3 4 5
Poor      Outstanding

Tell us why you rated the content this way. (optional)

Average rating:
4.6 out of 5

16 people have rated this article.

      Hacker Halted

 

DevLink