Friday, July 08, 2005

When I was a Mort...

Yesterday at lunch we were discussing (mocking) Rhocky Lhotka's defense of "Mort's" on his blog. What the heck is a Mort you ask? A Mort is supposed to mean an opportunistic programmer who is most concerned with delivering business functionality rather than wasting any time on silly ivory tower concepts like technical quality. Unfortunately the term "Mort" has become a pejorative term synonymous with low skill developers using data aware widgets to drag'n drop their way to one tier applications. I'll admit that I commonly use the term Mort as a putdown, but there was a day and time when I was a Mort, too.

My first programming experience was writing some ASP and Access tools for my engineering group in the late 90's. At that time the engineering and construction world was pretty crude in terms of IT automation. There were a lot of data silos, and quite often the most junior engineer (always me) was stuck manually typing information contained in one database into Excel sheets. We had to generate a lot of paperwork and track a lot of audit style information. I hated the paperwork aspect of engineering (hence my gravitation towards agile processes), so I set out to create some automated tools to create the Word and Excel documents from information in an Access database that was edited by ASP pages. This work led me to a position with the project automation group creating an ASP system to verify and manage a very poorly written, but mission critical, data exchange.

I clearly created a lot of business value and I was pretty proud of myself. Then I left the company to relocate to Austin, and everything I left behind collapsed in a few months because no one could support it. Some of it was rewritten by actual IT folks (and consider this a long overdue apology to you all), but most of it just disappeared. So what did I do wrong? Here's a laundry list of really bad things I did because I just didn't know much about good practices in software development.

  • Source control? What's that?
  • (Boss) Jeremy, where is this stuff running? (Me) It's running on personal web server on my box. Hey wait a minute, what's that awful sound coming from my hard drive and why won't my box reboot anymore?
  • (Boss) Do you have that stuff backed up? (Me) What does 'back up' mean?
  • Coding directly into a production database of a 3rd party product that was notorious for database corruption on projects ranging from little 100 million dollar projects to multi-billion dollar projects
  • ActiveX controls on ASP pages. Believe it or not we had some issues with installation.
  • ASP pages running against MS Access via ODBC in production
  • Connecting directly to production Oracle databases from ActiveX controls on an ASP page
  • Using the old Remote Data Service (RDS) library. Great stuff for productivity, huge security hole. Using RDS meant that I had the user name and password for the fragile Oracle production database embedded in each ASP page where any yokel could go "View Source" and hack our sensitive data.
I was focused on business needs and delivered, but I was dramatically ignorant of anything approaching decent development practices or design. I distinctly remember one humbling episode where I asked a senior automation expert for help on comparing two different databases. He took a very short look at my several hundred lines of VBScript and banged out a SQL statement that did exactly what I needed to do in one line of code. His exact words were "you've got good ideas, but you would be much more effective if you just knew more." Ouch.

All right, I just shared some of the truly stupid and ignorant things I did in my Mort days. What did you do in your Mort days?

What's so wrong with being a Mort? After all, they're pretty common and they definitely add value to their employers. They're usually closer to the business and have a better understanding of the problem domain. For one thing the Mort's of the world are in mortal danger if I have to work with any more awful Mort-ish code (regardless of what language it's written in). For another more serious reason, the Mort jobs are the first developers to be offshored. Lastly, if you're developing software, learn about your craft and climb the skill ladder. The whole Mort/Elvis/Einstein taxonomy may be crap, but the more you know the more effective you'll be and that seems pretty pragmatic to me. Make your great business solutions stand the test of time.


Anonymous Joshua Flanagan said...

First, I hate inheriting "Mort code", and will whine about it, just as much as the next guy.
But I don't understand the mentality that the Mort should be eliminated, or discouraged, etc.
We all started there. We all started at a stage where we didn't know as much as we should have. I bet we can all still say that to a an extent - look at your code from a year ago, isn't there anything that makes you cringe a little? But we got stuff done. And we learned.
I think it is ridiculous to regret your past, and think that Mort Jeremy should have stopped to study software for years BEFORE picking up a compiler to solve his immediate problems. Maybe you aren't saying that, but that's the general tone I see directed towards the VB6 self-starter Morts.

11:07 AM, July 09, 2005  
Blogger Jeremy D. Miller said...

Thanks for the comment, Josh.

I don't think Mort's should be eliminated or discouraged at all. I DO think they should be encouraged (and/or mentored) to grow further into their chosen craft. Even unskilled coders can create a lot of value, but anybody's development efforts are going to pay more dividends with an increase in skill and knowledge.

A lot of self-starters end up being some of the best coders around, largely IMO because they enjoy what they do. It would help if our profession in general wasn't so crappy at mentoring younger developers.

Shaking your head at some of your last project's code is an unfortunate side effect of learning. Every good developer I've ever known has observed the same phenomenon. It's not really shame so much as "I wished I knew then what I know now." Our old buddy Roy Moore used to say that everybody had written a bad app five years ago.

I still wouldn't trust Mort Jeremy circa 1999/2000 to code unsupervised the way I was back then though;-)

1:11 PM, July 10, 2005  
Blogger PolarTrader said...

"I just came across your blog about **keyword** and wanted to drop you a note telling you how impressed I was with the information you have posted here.
I just found a web site about Worldwide Data Entry Workers Needed .
Keep up the great work, you are providing a great resource on the Internet here!"
data entry jobs in india

7:29 AM, November 15, 2005  
Anonymous professional keynote speaker in Las Vegas said...

Hello from Las Vegas. I was doing research on leadership training in Las Vegas and came across your site Jeremy D. Miller. The title When I was a Mort... attracked me. This is good reading, I'll pass it on to my associates. If you or any of your readers can help or offer information on leadership training in Las Vegas let me know. Glad I ran into your inspiration. I like to read blogs for creative ideas and themes. I get a lot of good ideas for acting. Thanks again for your time. Keep it up.

9:43 PM, December 31, 2005  
Anonymous work at home jobs said...

Hi there Jeremy D. Miller, I was just browsing, looking for Work at Home blogs and found yours. Very Nice! If you're a stay-at-home mom, student, home maker or just someone in need of some extra cash, here's an Ideal Opportunity! You can get paid submitting and entering data online and make an extra $300-$1000+ per day with only 30 mins daily. Go to online jobs for more info and to join! It's RISK FREE with a 60-day
money back guarantee. :)

12:42 PM, January 14, 2006  
Anonymous automotive advertising agency said...

Your blog I found to be very interesting!
I just came across your blog and wanted to
drop you a note telling you how impressed I was with
the information you have posted here.
I have a automotive advertising agency
Come and check it out if you get time :-)
Best regards!

2:48 AM, July 14, 2006  
Anonymous Anonymous said...

Hey, you have a great blog here! I'm definitely going to bookmark you!

I have a Work At Home blog. It pretty much covers home based business related stuff.

Come and check it out if you get time :-)

9:16 PM, February 23, 2007  
Anonymous Anonymous said...

free home remedy

12:07 AM, February 28, 2007  

Post a Comment

<< Home