Geeks With Blogs
Lee Brandt's Blog You're only as smart as your last line of code

I have been developing web sites for a little over a decade now, and I have to tell you, I missed the boat. A lot of that time was wasted. I spent most of my career developing crappy code that was doomed to cause some poor sap some real heartache. To those who have had to support my crappy legacy code, I profusely apologize. You know who you are, and you undoubtedly know who I am. You've probably spent many hours rewriting my leftovers and trying to spin gold out of code-dung. Again, I apologize.Wait for Meee

You see, I didn't have very many mentors. I worked quite a few jobs where I was the only developer. The few mentors that I had helped immensely, but I only learned from them what they taught me for the project we were working on. I never got involved in the community. I didn't read blogs. I read the wrong books. I didn't just sit down and chat with high-caliber developers and discuss techniques.

When I took my latest job, ASP.NET MVC Framework had just surfaced on ScottGu's blog and I was interested to see. I'd heard about MVC from people who'd done SmallTalk development, but since I was primarily an ASP.NET guy, it seemed far away until ASP.NET MVC showed up. This put it squarely on my doorstep and since I was evaluating what technologies to use to develop the product I was being hired to develop, it came at an exceptionally opportune moment. My current employer was great about giving me room to learn about these technologies and evaluate them.

While I was reading about ASP.NET MVC, I started seeing tests for TDD and the big buzz around the MVC framework is that it helped testability. So I started reading about that. With TDD, came mock objects and dependency injection inversion of control. I had opened up Pandora's Box. There was no closing it now. How had I been developing web sites so long without hearing any of this? I'd put together some pretty sophisticated line-of-business applications for the web and these things would have really made those products exceptional. Especially Test-Driven Development.

As anyone who's worked with me in the past can attest, I write code that resembles a Brazilian rain forest: Dark, wet, bug-filled and possibly deadly. (OK, I have no idea where dark and wet fit in there.) I always hated having QA testers finding bugs. They found tons. Everything seemed to work when I ran the app, but now it's breaking all over the place. It got to the point where if someone asked me if the app was working I always said, "As far as I know." Ugh. I hated it. The material I was reading about TDD was talking about high code confidence and I was HOOKED.

Anyway, the point of this post (which has been lost in nostalgia) is that it took me 8 years of development to finally start learning how to do it well. The point for me is to teach everyone else I know, what I've learned. I want to discuss it. I want to learn from you guys (my 2 trusty readers glued with Oouey Blouey to their RSS Readers). I want to see people bashing my code, trying it, fixing it, sharing it.

Understand that I am still a novice. I probably always will consider myself that way. Anything that makes me a better programmer is totally welcome in my book. Hopefully, it also makes all of you better developers, too.

~Lee

Posted on Friday, March 6, 2009 12:22 AM | Back to top


Comments on this post: How and Why I Missed The Boat As A Developer

# re: How and Why I Missed The Boat As A Developer
Requesting Gravatar...
Great apology, we should all do that! Makes me remind of Dijkstra's "The Humble Programmer"
Left by Arjan Zuidhof on Mar 06, 2009 4:00 AM

# re: How and Why I Missed The Boat As A Developer
Requesting Gravatar...
"I write code that resembles a Brazilian rain forest: Dark, wet, bug-filled and possibly deadly. (OK, I have no idea where dark and wet fit in there.)"

Well, WET is obvious, Write Every Time as opposed to DRY (Don't Repeat Yourself). :)

I used to write really bad code as well, but it lasted a few less years I think. It really helps if you can learn from a few smart people. Or even if they aren't that smart, it's enough if you think they are :)
Left by Villane on Mar 08, 2009 7:23 PM

# Gutsy piece of blog writing. Good.
Requesting Gravatar...
http://www.dzone.com/links/how_and_why_i_missed_the_boat_as_a_developer.html

This Lee guy is gutsy. It takes guts to write a blog entry like that and publish. :) Very good piece of writing.
Left by DZone Comment on Mar 08, 2009 9:56 PM

# re: How and Why I Missed The Boat As A Developer
Requesting Gravatar...
Admitting this increased your value 10 times already - don't worry, having the will to learn and improve yourself will help you a lot and you could become much better way faster than you think!

Good luck with your quest to learn how to develop software and not write code!
Left by Octavian Theodor Nita on Mar 09, 2009 4:13 AM

# re: How and Why I Missed The Boat As A Developer
Requesting Gravatar...
Dude, I wich more developers had your guts.
You´re really brave to admit your mistakes in public. Surely gained a lot of points with that!
Left by Henrique Lobo Weissmann on Mar 09, 2009 6:20 AM

# re: How and Why I Missed The Boat As A Developer
Requesting Gravatar...
Dude, I wich more developers had your guts.
You´re really brave to admit your mistakes in public. Surely gained a lot of points with that!
Left by Henrique Lobo Weissmann on Mar 09, 2009 6:20 AM

# re: How and Why I Missed The Boat As A Developer
Requesting Gravatar...
Wow!

We've all done things we're not completely proud of, but owning up to it like that just puts you a cut above the rest. Well done man - for your post and making me think about all the things I've done/not done to inadvertently make someone else's coding life that much more painful.

Huge dude... huge.
Left by ferrisoxide on Mar 09, 2009 6:44 AM

# re: How and Why I Missed The Boat As A Developer
Requesting Gravatar...
Man, great post. When I think about all the projects I've been involved with in the past 10+ years, I weep. I recently got on the MVC bandwagon myself. Everything before that is just sh*t. I feel the same way as you do.
Left by myerman on Mar 09, 2009 8:51 AM

# re: How and Why I Missed The Boat As A Developer
Requesting Gravatar...
Okay, just step away from the keyboard. Why do people who have no training, qualifications, knowledge insist on writing computer programs. Why not do brain surgery, be an attorney, build bridges. Simple, because they won't let you unless you have certification. But any monkey can bash away at a keyboard and call themselves a programmer. Many work for Microsoft.
Left by Fred Jones on Mar 10, 2009 2:38 AM

# re: How and Why I Missed The Boat As A Developer
Requesting Gravatar...
Thank you very much for sharing this great article, and happy to know that you are used MVC Framework for your project. that's good.
Left by Web Development India on Mar 10, 2009 4:18 AM

# re: How and Why I Missed The Boat As A Developer
Requesting Gravatar...
Thanks to all for the comments.

@fred sorry buddy, I'm here to stay. But the failure is not with me, at least not directly, because I DO have a certification (a degree in MIS). The failure was my thinking that the certification was all I needed. What programming needs it mentorship programs, not certifications.

my $.02
Lee
Left by Lee Brandt on Mar 10, 2009 5:16 AM

# re: How and Why I Missed The Boat As A Developer
Requesting Gravatar...
Great Pump Up the Volume reference.

I personally have a DRY problem. I cant figure out to do both NHibernate and WCF without repeating myself alot.
Left by Ted on Mar 11, 2009 8:04 PM

# re: How and Why I Missed The Boat As A Developer
Requesting Gravatar...
Dude, totally awesome! You totally brought up the one thing everyone wants to avoid. To get good at something, you first have to suck doing it. The problem is that most people may never even realize that they suck.
Once you do, its the first step on the road to getting better!
To put it another way, at some point in ALL developers (and that means you to @Fred Jones) will or have written crappy code.

Thanks for this post!
Left by Robz on Mar 13, 2009 6:29 AM

# re: How and Why I Missed The Boat As A Developer
Requesting Gravatar...
great honesty. I think really the majority of programmers aren't very good and often company culture doesn't happen, but in the area of the web, well the web really is the software development wild west. The majority of techs that make up the web are hacks built upon hacks upon hacks. Pragmatic stuff put together for good isolated purposes but without conhereant design. And the culture of web development is just as bad. Its a culture that says quick and dirty is better than disciplined engineering. Thankfully though with the real world complexity of where the web is going, that is slowly changing.
Left by karl prosser on Mar 14, 2009 5:50 PM

# re: How and Why I Missed The Boat As A Developer
Requesting Gravatar...
@karl excellent points. People tend to forget that the web is so young and the technologies and the techniques are changing (almost) daily to meet the needs of business.
@Robz I think it may be your sig that says, "The first step to becoming great is knowing what youre bad at."
Lots of great comments.
Left by Lee Brandt on Mar 14, 2009 6:38 PM

# re: How and Why I Missed The Boat As A Developer
Requesting Gravatar...
I've been meditating on the basically the same thing you. Although I've been reading the patterns and practices books, blogs, articles, ad nauseam for years I had to take a step back and shake my head. The expectations of knowledge is rising rapidly and will continue to wash out those who aren't able to keep up. I'm paddling furiously but every time I bootup there's something new to learn or, even harder, change the way I was thinking. Good luck, and hope you share what you learn!
Left by Michael D. Hall on Mar 17, 2009 6:11 PM

# re: How and Why I Missed The Boat As A Developer
Requesting Gravatar...
Hi, I came across this blog and want to throw a general question out there. I have a bachelors of fine arts and am now looking at either attending CDIA in D.C. (a certification program 9 months, heavy programming (javascript, xml, xpath, flash/actionscript, DOM, Ajax, PHP, MySql) or going for a masters in Information Science. Though I have a bachelor's in arts, i've taken several university level programming class and know basic C (though its been a while since i've used it) I've been told that employers pay more attention to portfolios and work experience than to what degree you have. Is this something that you agree with? Certification + work experience or Masters, which is better? Any opinions?
Left by steve boothe on Mar 18, 2009 5:11 PM

# re: How and Why I Missed The Boat As A Developer
Requesting Gravatar...
@steve.. sorry for the late reply (I don't think I'm getting my notifications about comments). I would definitely agree that work experience is the most critical part of your resume. Having interviewed TONS of developers, I only glance to see what school or degree they have, but I spend a lot of time pouring through their work experience. I say get involved in you community. .Net user groups and free events (like Day of Dot Net, Code Camp and SharePoint Saturdays) can really help a LOT. It gives you an opportunity to meet great programmers and maybe even land a job with someone you talk to at those events. Mentorship is really the BEST learning tool and it doesn't happen enough in our profession.
Thanks for the comment!
Lee
Left by Lee Brandt on Apr 18, 2009 11:11 AM

Your comment:
 (will show your gravatar)


Copyright © Lee Brandt | Powered by: GeeksWithBlogs.net