Entries from May 2008 ↓

What’s Better Self-Promotion: Speaking or Blogging?

What’s Next?
Like many software developers I’m afflicted with ‘What’s Next?’ Syndrome. It’s a disease whereby you’re never content with your situation, no matter how cool it is, how long you planned for it, or how many hours you spent working to get there. My stagnation range is 6-12 months; if I’m not learning new things by then I start to unravel. Blessing? Curse? Not quite sure.

It seems like the most common activities for climbing the ranks in the development community are blogging, writing books, training/teaching, and public speaking.

Blogging? Check.

So what’s next?

Continue reading →

A Non-traditional Resume, Web Service Studio on CodePlex, Official Shotgun Rules, and Win a MacBook Air

My non-traditional resume: Seth Godin’s Internship ApplicationJeff Widman spent 50 hours creating a one-of-a-kind resume when applying for an internship with Seth Godin. He read my post on self-marketing for software developers and thought it embodied an approach to marketing yourself through “exceptional means.”

Web Service Studio on CodePlexThis CodePlex project posted by Adnan Masood is the revival of the .NET WebService Studio tool. “This tool is meant for web service implementers to test their web services interactively without having to write client code. This could also be used to access other web services whose WSDL endpoint is known.”

The Official Shotgun Rules – Finally someone puts it in writing!

Win a MacBook Air in the ZocDoc Developer Contest – On May 13, “ZocDoc kicked off a contest for software developers to create new applications that help patients book doctor appointments anywhere on the web. The contest, which runs from now until August 1, 2008, challenges developers to build the application that will most benefit patients looking for a doctor. A new API allows developers to pull data from ZocDoc.”

Response to ‘Two Flaws With “Time Off From Programming”‘

Giles Bowkett published a post titled Two Flaws With “Time Off From Programming” that disputes some of the thoughts in my recent article The Technology Cliff: How Time Off From Programming Affects Your Chops.

The first point he disagrees with is that leaving programming hurts your coding skills. Giles took a similar leave from programming that was similar to my foray into management, except he became a “starving artist”:

…what I lost in technical knowledge I gained in perspective…After that period, the code I wrote upon returning was more compact and more powerful. The things I built were more inventive, more original, and more worth building in the first place.

I can’t dispute first-hand experience, but I have a hard time agreeing that leaving coding for 2-4 years to become an artist is going to leave you in a better place to come back and hit the ground running writing code. Leaving for a short sabbatical is fantastic; want to throw clay pots for 6 months? Awesome…I bet you’ll come back more motivated and energized.

But the premise of my article was that becoming an artist, a manager, or a shoe salesman for several years is going to take its toll on your coding skills; I don’t see any way around it.

Next, Giles comments about my statement that “4 years could include 2 or 3 new releases of your language”:

Consider how different this sentence would be if Rob wasn’t assuming that you use one language, you choose that language, you settle on that language, and four years later, even though you haven’t written any code in it over the past four years, that language is still your language.

4 years could include 2 or 3 new languages you might use.

Suddenly it sounds like fun!

This is true; if I came back to programming after 4 years I would consider switching to a new language. But I don’t see how this changes the conclusion.

Whether you try to learn the past 2-3 revisions of a language you know, or try to learn one from scratch, the learning curve is going to be similar. I would argue that if you are an expert in a language (I don’t mean in the syntax, but the class libraries, architectures, standards, style, etc… a truly deep expertise) and you come back in 4 years, you’re going to have an easier time returning to your expertise in the language that you left, as opposed to something completely new.

Learning a new language is fun? Definitely. Easier to transition into? No chance.

Finally, Giles concludes with:

If you want time off from programming to be good for your programming skill, choose a way to spend that time off which will be good for you in general…Time away from programming is very, very healthy, and you should definitely take it now and again.

I agree with him here. I’m a hearty proponent of sabbaticals, long vacations, and lots of travel. Short times away from programming have always done me good and allowed me to return to work refreshed and with new perspective. But stepping away for multiple years is going to take its toll on your expertise, whether through new technology releases, or simply memory loss.

[tags]programming, sabbaticals, coding[/tags]

Macintosh Desktop Music Video

What an impressive display of innovative music video production. The entire video is of a Macintosh desktop, with various windows flashing across the screen: a woman sings in an iMovie window, lyrics are thrown into text editors in varying fonts all in time with the music. This must have taken forever to edit, but it’s a brilliant link-bait play to the geek crowd.

Comments on My Password Protected Article

I’ve heard from a couple readers that they don’t like the idea of the password protected article I published yesterday. I wanted to explain a bit more about my thought process so you didn’t think this blog has been purchased by some marketing sheister.

My intent with the article notification list is to allow people to sign up for notification of the most important or substantial works from this blog, instead of having to slog through every post, whether via RSS or email. I’ve received requests from a few readers asking for this feature due to RSS overload; they were either severely limiting the RSS feeds they read, or stopping RSS altogether.

Previously I offered email notifications through FeedBlitz, but that feature sends an email every time I post, which is too noisy for most. In addition, I’ve always liked the fact that even though I subscribe to my favorite blogs’ RSS feeds, I can still sign up for email notification of their best content. So I wanted to offer this alternative and I wanted to kick it off with something extra to encourage people to sign up.

But here’s where I took a wrong turn: instead of publishing the article as a “page” in WordPress, I published it as a “post,” which means it appeared in the RSS feed. This gave the appearance that I was forcing you to give me your email address. In other words, while I intended to give those who signed up something extra, it appeared as if I was taking something away from anyone who didn’t sign up. This was not my intention, and if you’ve read this blog for any length of time this probably seemed out of character.

To fix this little snafu I’ve removed the password protection from the post (which you can find here). In addition, if you’ve already provided your email and would like remove it from the list please drop me a line using the “contact” link in the sidebar and I will gladly take care of it. I apologize for any confusion.

The Single Most Important Career Question You Can Ask Yourself

By the time I was 13 I had been selling candy and comic books to my classmates for almost 3 years. Though I did quite well, I was itching to try something bigger, and that meant extending my reach beyond the walls of Math class.

This was the late 80s, so resources were limited for a 13 year old living in the country. I ordered all of the free information available in the work at home section of the Penny Saver (a free newspaper consisting entirely of ads), and started going to the library twice a week to read up on entrepreneurship. I was searching for a business idea that I could pull off at 13, and after literally hundreds of books, booklets, and information packets I decided to publish my own booklet on comic book collecting.

Since I was seven years old I’ve been an avid reader. I consumed 2 or 3 books a week during my childhood, including a large collection of “crazy facts” books and the Guinness Book of World’s Records (every year). By the time I was 13 I’d been reading 2-3 books a week for 6 years, and the breadth of my knowledge was astonishing for someone my age.

I knew how the stock market worked, why Beta had lost to VHS, why Apple was losing market share to the PC, and how double-entry accounting worked (although I couldn’t do double-entry accounting). But I had no idea how to start a business. With all of my book knowledge about the business world, I had no clue how to execute an idea.

Continue reading →

The Technology Cliff: How Time Off From Programming Affects Your Chops

I received an email the other day asking how long it took to get my coding chops back when I moved from management back to development. The author asked:

Once you adopted your ‘Write Code’ mantra, how difficult was it to reverse the ‘management lobotomy’ (an excuse a prior manager had when he no longer could provide detailed technical value). Did you find yourself struggling to get back into ‘for loops’, ‘if statements’, ‘datasets’, and the like?

Continue reading →

Lessons Learned Trying to Scan for Viruses from ASP.NET

Every once in a while I find myself in a conversation about scanning for viruses from code (yes, my life is that exciting). The scenario often goes like this:

A middle-manager, having recently learned about viruses from his son’s copy of Wired magazine, realizes you’re saving user-uploaded files to your web server, and asks if you’re performing virus scans on the uploaded files. You panic, mumble something about how it’s “in the works,” and rush off to look for an open source virus scanning component.

You frantically search Google for “virus scan from [language of your choice]” but the results are dismal. You try 5 or 6 other searches and they all yield the same result: people like yourself asking this same question on forum after forum, with no helpful answers.

A while ago I went down this rabbit trail (sans the middle-manager) trying to scan for viruses from ASP.NET / C#. After working on it for a few days I arrived at the following conclusions:

Continue reading →

Who’s Really Making Money from High Gas Prices?

How much profit would you say a gas station makes on each gallon of gas it sells?

25%? 20%? 15%?

Try 4 percent. That’s right, a typical gas station grosses about 4%, or between $.12 and $.14 per gallon with gas at $3.45 per gallon. That’s gross profit, so after subtracting payroll costs, rent, and credit card fees there’s not much left. No, the real money in owning a gas station is in the alcohol and cigarette sales.

But with gas at an all-time high someone has to be making buckets of cash, right? And indeed, someone is. Exxon Mobil recently made history by posting the highest quarterly and annual profit of any U.S. company…ever. To the tune of $1,300 per second for an entire year. I’m a capitalist, but this makes me ill. [Update: Read the comments for why these numbers might be misleading and why perhaps I shouldn’t feel ill.]

One interesting side effect: with scooters hovering around 100 mpg, sales are up 200% in the U.S.

[tags]gasoline, exxon mobil, scooters[/tags]

Why Have a Resume?, Startup School 2008 Videos, Innovation, and Legendary Programming Style Tips

Why Bother Having a Resume? – by Seth Godin. It touched a nerve because I’ve noticed that the more I accomplish publicly (i.e., writing articles and code that are not hidden away inside the walls of a corporation), the less I need a resume, and the less I respect the resume as a tool to communicate a person’s achievements. I haven’t updated mine since 2004. Someone asked for my resume the other day and I was insulted. It feels like an antiquated way of evaluating my accomplishments, when my real accomplishments are far more important than whom I worked for at what time. The things you do that don’t take front and center in a resume are the ones that set you apart.

Continue reading →