Showing posts tagged development

Will software engineering die some day?

In 2010 Wired magazine published an article about the death of the web.  Basically it was pointing out the fact that the mobile market was the next big thing and people were moving away from the web.  What I can’t wait for is the day when Wired announces the death of development.  By that I mean the day when software development is so cheap and easy that most companies will finally put design first.

I realize that some companies put design first already, but they are few and far between where I come from.  Most of the companies I have worked for here in Utah don’t work that way.  Think about it from the small town, small business owner’s perspective.  If I want to start any kind of electronic based business (and I don’t really know what I’m doing) what’s the first and most important hire I’m going to make?  The engineer of course.  That’s because at the end of the day if I don’t have someone who can actually build what I want built then I’m totally wasting my time.  And so the viscous cycle begins. 

The vast majority of development today isn’t easy, so I have to hire a very talented and experienced person.  These people are not common and aren’t cheap.  When I finally find my guy most of my budget goes towards his or her salary.  To make a long story short, after hiring an accountant, marketer, customer service rep, lawyer and so on (all extremely critical roles for a business), my money is all spent.

Case in point, I have my current design job primarily because I was originally considered as a flash developer.  I had to make my current position as an interaction designer into what it is after I got hired.

Software development hasn’t been around nearly as long as other industries.  But if the history of the construction industry is any indicator, someday development will be so refined that almost anyone can do it with just a little education.  And then on that day, when development skill is a dime a dozen, perhaps designers won’t be such an afterthought as they are today.

How I dealt with a difficult situation at work

I’m by no means an expert at this kind of thing, but I thought it’d be worth sharing the strategy I employed recently for dealing with a difficult situation at work.

The Problem

I want to do my best to avoid hurting anyone here, so I’ll be as vague as I can without losing the insights.  Basically we have a large project going on for our flagship product.  The project is in the conceptualizing and definition stages.  Our biz dev guy is driving the project.  The problem is that one of the lead dev guys got involved and started negatively affecting the project.  I could tell almost immediately that the project was going to quickly derail into a real messy battle of wills.  What to do?

What I did

I put my foot down.  In a series of email exchanges related to the project I tactfully made it clear that I felt strongly we were making the wrong choices.  I was specific and provided alternatives, and why those alternatives had value.  My boss has always told me that if you feel strongly about something, he wants to know. I knew this was an appropriate time for resistance.

I spent the weekend framing the problem for myself.  For the better part of a weekend I wrote a series of notes, thoughts, streams of consciousness and mock email drafts.  I didn’t intend to send any of them, they were purely for me to work through my emotions and clearly frame my issues in writing.  At the end of that excersize I felt like I had a very clear strategy for dealing with the situation.

I wrote a small set of strengths and challenges.  I basically made a mental model of the individual in question.  This list gave me a strategy on how to best navigate the individual.

Strengths of the individual

  • Highly decisive and direct
  • Highly skilled at getting a group to get things done
  • Amazing depth of memorized knowledge
  • Highly skilled at logistics
  • No bullshit
  • Very experienced at what they do

Challenges and what to watch out for

  • Lacks critical diplomacy skills
  • Does not pick up on subtle social cues or doesn’t care
  • Passive Aggressive in communication
  • Lack of thoughtfulness in regards to people and processes
  • Has very low tolerance for the activity of thinking and discussing
  • Kryptonite to creativity
  • Not the kind of person who’s going to think about “why” we are doing something, only “how” we are gonna get ‘er done

Resulting strategy

  • The individual is going to be harmful and unhappy in phases of projects that require creativity, cooperation and exploration of ideas.  Make sure to keep them out of these situations and focused on what they are good at, logistics and getting the final decision built.
  • Use their bluntness to my advantage, as an alert that maybe I am thinking too much and just need to act at that moment in time.
  • Learn from them about how to get things done faster personally and with a group

I stopped taking it personal.  Once I had this strategy in hand I was then able to stop taking the individual’s actions personal and I stopped getting emotional about it.  As the following week progressed I was able to clearly identify a behavior they exhibited and categorize it appropriately within my strategy.

And finally, I discussed my conclusions with my coworkers.  I’ve learned the hard way that even when you’re right, others have to come to that conclusion on their own before they will embrace it, you can’t just tell them.  I met with each person I felt needed to know what I had discovered and asked what they thought about what I’d concluded.  Within days I saw the effect, they started seeing the individual’s actions more clearly and I felt that the potentially harmful situation was being managed.

Conclusion

I’m obviously leaving out a lot of detail here and over simplifying some things, but I hope I have been appropriately tactful and presented something useful.  If you’d like to know more details please contact me directly.