philweber.com


Confessions of an accidental instructional designer

"Are you a Tech Girl?"

Hmm... I'm not sure what to make of this:

You must be over 18.
You can be described as a "Tech Girl," "Geek Chick" or "Network Ops Cutie."
You need a pleasant speaking voice and able to talk "tech."
Calls can become sensual so you need to be OK with that.
Be willing to take calls from those who find your certifications very sexy.

Confessions of a Software Developer

If there's an upside to being involuntarily unemployed twice within seven months, it's that it incites introspection: Am I the common denominator? Do I have some fundamental flaw that leads my employers to conclude that I'm not worth my salary? Might I simply be choosing employment that's poorly suited to my personality and abilities?

I've read a few things over the past several months that have resonated with me:

Alan Cooper, in his piece, "The Software Practitioner Triad," wrote:

Programming — constructing release code — isn't the same as engineering.... Production programming['s] primary goal is producing a shippable product, not solving its technical problems....On the other hand, technical problem solving demands experimentation, which is naturally repetitive and empirical....Clearly — for the sake of the schedule, the budget, and the customer — programmers should never be tasked with engineering duties, and engineers should never be directly responsible for programming release code.

Reading that was a lightbulb moment: Engineering — problem-solving — is what motivates and inspires me; I find writing production code tedious and repetitive. Cooper also nailed the reason I've always had difficulty accurately estimating how long my projects will take: Engineering is inherently unpredictable, especially when dealing with unfamiliar technology, and should be done before the schedule is set and production coding begins.

Craig Andera, pleased that one of his side projects had achieved "1.0" status, wrote:

This is really a milestone for me. Like many people in my line of work, I have a fairly short attention span - I tend to focus on something intently for a while, figure out about 80% of it, and then move on to the next thing. That's an asset when you're teaching a class or researching a new technology, but I've long been aware that "real" developers don't have the luxury of moving on once the interesting bits are finished.

Amen! If I could, I'd hire a ghost programmer to do the grunt work, so I could concentrate on the juicy bits. (Hmm, maybe that's a good case for offshoring?)

Finally, Gretchen Ledgard discussed the book Now, Discover Your Strengths:

The authors write:

"Most organizations are built on two flawed assumptions about people:

  1. Each person can learn to be competent in almost anything.
  2. Each person's greatest room for growth is in his or her areas of greatest weakness"
And likewise:

"These are the two assumptions that guide the world's best managers:

  1. Each person's talents are enduring and unique.
  2. Each person's greatest room for growth is in the areas of his or her greatest strengths."

Reading that, I wondered: What are my strengths, and how can I capitalize on them while managing my weaknesses? I bought the book this week and took the online assessment; my results are here.

Last week, I received two job offers. One of them was similar to what I've been doing for the past five years: Working from home, self-managed, developing ASP.NET applications from start to finish. I love the flexibility and independence of working from home, but it's a two-edged sword: It's too easy not to work when I don't feel like it. And I've learned that I often don't feel like it if I'm not doing something new and challenging.

The other, the one I accepted, is unlike any job I've had before. I'll have to get up every day and commute to an office, just like real adults do, and I'll have co-workers and a manager. But rather than writing production code, I'll be supporting other developers, debugging their code, solving the problems that have them stumped. It will be interesting to see if I've correctly identified my strengths. Stay tuned!


How to Survive Creative Burnout

Speaking of death-march projects, here's an article I wish I'd had last summer: How to Survive Creative Burnout.


Back to Blogging

Heather Hamilton wonders why bloggers keep falling off. I can't speak for everyone, but here's my story...

When I went dark last August, I was in the final throes of a death-march project, one of those that seems like a good idea at the time, but ends up going on far longer than anyone anticipated. It was my first experiment with an "agile" methodology, but I obviously did it wrong ('An agile methodology is neither agile nor a methodology. Discuss.') Bottom line: I spent my last couple of months there working overtime to finish the project and trying (unsuccessfully, as it turned out) save my job; I was laid off in October.

Thankfully, I was able to land a consulting gig within a month: I worked on a medical transcription app for a large healthcare provider. Like resuming dating after a divorce, it was reassuring to have a client who liked me and my work ('I am still attractive!') It was, however, the first time in over four years that I had to actually go to work -- I'd been working from home since early 1999 -- so by the time I got home in the evening, blogging was the last thing I felt like doing.

About the time that project was ending, I was offered what seemed like my dream job: developer evangelist for a consulting firm/component vendor. I would be paid to promote the company's products and services among the .NET developer community by writing technical articles, speaking to user groups and participating in online discussions; blogging was actually in my job description! Unfortunately, after only four months my employer decided he couldn't actually afford a developer evangelist, and my position was eliminated.

Thankfully (again), I've landed a new job; I'm scheduled to start in mid-July, after my vacation. This time, I've made sure it's with a financially stable company and that the position capitalizes on my strengths, so hopefully I can remain employed for at least a year this time.

So, Heather, I hope that answers your question. ;-)


Happy Anniversary!

Wake the kids and phone the neighbors: philweber.net is one year old! To celebrate, I'm re-launching with new software, a new host, and a new design. (What do you think of the way my comments work? I couldn't decide between popup and inline comments, so I've done both (or neither.)) Anyway, a lot has happened these past four months, so there's plenty to talk about!


Crisis? What Crisis?

In a comment, Kent asks:

Doesn't it bother you that MS doesn't see the current state of VB.Net as a problem?

No, Kent, it doesn't bother me, because I don't see the current state of VB.NET as a problem, at least not a major one. Here's why:

Microsoft has always positioned VB as a RAD tool. By definition, RAD applications are meant to be developed rapidly. So while I agree that it would be nice if VB6 code could port effortlessly to VB.NET, I don't think the fact that it doesn't will present a huge problem to the vast majority of VB users: Most VB apps were written in a few days or weeks, and/or were written to solve very specific problems. Many of these apps can be maintained in VB6 for the remainder of their useful lives. If they do need to be rewritten, doing so will not require a great deal of effort -- they were developed rapidly to begin with, remember?

Most of the angst I see regarding the lack of compatibility between "Classic" VB and VB.NET comes from people who have used VB not as a RAD tool, but rather to develop large, complex applications. They have made a large investment in VB code, and expected to be able to collect dividends on that investment for many years. If I were in their position, I'd probably feel similarly frustrated. But I don't think their frustration equates to a major problem for the "state of VB": Their situation is an exception, rather than the rule.


Celiac Chicks

I've been helping some friends of mine set up a weblog using Movable Type. I'm very impressed with MT; I may switch to it when my Radio license expires. I found a great hosting plan for my friends: $50/year (or $4.95/month), including free MT installation. mtvHosting's service has been top-notch; if your site doesn't require Windows, I highly recommend them.


...and boy, is my butt tired!

This is what I did today. I rode the "65-mile loop" (according to my cycle computer, it was closer to 71 miles). It was a beautiful day, and I felt surprisingly good for the first 40 miles. But then we turned into a headwind for the next 20 miles, and I struggled a little. I ended up averaging about 15 mph, which isn't too bad for an old fat guy. ;-)


I have a dream...

Julia Lerman laments the VB.NET stigma and C# elitism being perpetuated by the trade press. In particular, she refers to this editorial in asp.netPRO magazine. I found that editorial troubling as well. In it, Elden Nelson writes:

Whether it's just or not, C# developers make more money, get work more easily, and enjoy more prestige than VB developers.

He then recommends that VB.NET developers learn C# at their earliest opportunity, presumably to cash in on the cachet.

Now, I don't disagree that it's a good idea for VB developers to learn C#. But I do object to asp.netPRO's tacit endorsement of language bigotry. What if the editorial had said:

Whether it's just or not, white developers make more money, get work more easily, and enjoy more prestige than minority developers

(Or, as one of the commenters on Julia's blog suggests, "...male developers make more money, etc. than female developers")? If the situation is 'not just,' as Nelson implies, why isn't he working to change it?


PADNUG News

A couple of months ago, I volunteered to serve as speaker coordinator for PADNUG, the Portland Area .NET User Group. (Apparently, group president Chris Goldfarb was feeling a bit overwhelmed. ;-) As it turned out, we didn't have a speaker lined up for the rapidly-approaching July meeting, so I coordinated myself to give the talk, Create Great .NET User Interfaces. This is a reprise of a presentation I gave several times at VSLive! conferences a few years ago.

I was pleasantly surprised to meet several fellow .NET webloggers during and after the meeting: Scott Hanselman and Microsoft's Jim Blizzard kibitzed from the front row. And though I didn't recognize him at the time, Rory Blyth, a shoo-in for the title of "Most Entertaining .NET Weblogger," stopped by my table at the Buffalo Gap Saloon several times to steal french fries.

Before the meeting, I reviewed Scott Hanselman's tips for a successful presentation. The one thing I wish I had done differently is create links in a single location to all of my sample projects; I fumbled a bit trying to locate my sample code. Overall, though, the talk seemed to go OK. I look forward to presenting again the next time I can't find a speaker. (If you'd like to speak to our group, please don't hesitate to drop me a line.)