Here is a great blog about the mysteries of software development and the different levels of programmer capabilities. If you can’t glean some gems from here about motivating your team, you can’t read.
Lazy evaluation rocks your face people!
June 21, 2009Sometimes I love a post about programming because of a turn of phrase (see title above). Some times I love the quality of the writing. Sometimes I love the elegant simplicity of the presentation. Some times I love all three. Thanks Justin.
A software developer needs resolve
June 20, 2009There are many, many traits needed to be a good (or great) software developer. You see them mentioned everywhere: math skills, deductive reasoning, curiousity, craftmanship, etc.. I also think they need resolve.
Resolve to push through the tough times and the easy times. All of us are expected to adapt to new or changing requirements. A lot of us must also push through the moribund things we have done a 100 times and offer no challenge whatsoever. Just this week, I was cruising through some website changes in classic ASP, when one phone call turned the whole week to….well, nasty.
Just look at this example from Computerworld. I can guarantee you there are software developers involved in the decisions making process at these small businesses, helping decide whether to buy, build or maintain. That takes resolve too.
Random Thoughts – April 2009
May 3, 2009It’s not what I am, however skilled, it’s who I am.
In the business world, actual know-how far exceeds prestige.
Creativity and discipline go hand in hand for successful entrepreneurs.
Entrepreneurship often depends more on successful execution than radical reinvention.
No is a complete sentence.
.NET Isolated Storage
April 23, 2009After having just been introduced to .NET Isolated Storage, I’m ready to give it my vote of confidence. It’s a pretty slick way to store info that may be required by a .NET framework application between sessions or throughout a ClickOnce update.
For me, I was struggling with an n-tier application that did not properly store connection strings in a central location. While searching for an elegant solution to that problem, this Isolated Storage bubbled up. I couldn’t use it for that problem, but the next day a new problem presented itself. It was question of how to enable a (different) software application to have a 90 day demonstration license upon install. Isolated Storage gave me a way to check for previous installs (and expiration dates) between sessions and installations. You see, the store can be based on an assembly’s identity, which is perfect in this case. I will tell you that anything that solves a problem for me, in an elegant fashion, is a winner in my book.
Geek porn (Google servers revealed)
April 2, 2009The title says it all, geek porn. Check it out here.
My electronic pulse is returning to normal
April 1, 2009Somewhere about 2 years ago, my wife and I decided we had earned a two week vacation in our (not so) short lifetimes. Many a places were discussed, Costa Rica was the choice. We saved and saved. We plotted and planned. We flew and drove. Costa Rica was a fantastic vacation.

But….
It meant severing most of my electronic ties for two weeks. No smartphone. No blogs. No programming. No news. No community. Barely any email. It was rough. Ok, not really. I learned to live without it. We kept ourselves very busy the first week doing the adventure part, so my longings faded really fast. We spent the second week on the beach and I found myself immersed in two autobiographies, iWoz by Steve Wozniak and Clapton by E.C. himself.
But….
Upon my return, it felt SO good to feel my electronic pulse returning. Instantaneous communication with my network. Sorting through the 1000’s of posts in my Bloglines account (SMB, Tech and Software). Updating the ball and chain called Facebook. Actually writing software again. Feeling comfy with my frameworks and toolsets. Parsing my email. It felt better than great, I felt normal. I feel like I have a pulse, albeit electronic, again.
Trimming an IT budget at mid-size company
March 31, 2009Here is a great article on a mid-size company transitioning from one generation of hardware and software to another. Great, simple read!
.NET Framework 3.5 graphically described
March 4, 2009For some reason I have been involved in a number of conversations lately about “how is .NET 3.5 different than .NET 2.0?”. There is an easy technical answer but I always struggle to quickly access that piece of memory and/or make it relatable to the person asking the question. I’ve resorted to off the cuff terms like “window dressing and not necessary to deliver a great application” or “nice features that extend the core .NET 2.0 Framework but….”. And on it goes, with little success I might add.
I might benefit from carrying some flash cards, huh? Perhaps some graphics on those cards? Let’s take a look at what’s available…

This one is not bad, but there is no mention of LINQ, AJAX and REST. No chance!

This one is closer, but what exactly are Additional Enhancements? This one also does not relate very well that 3.0 contains 2.0 and 3.5 contains 3.0 and 2.0.

This one is really bland! Did someone draw this up in MSPaint? Glad to see the Entity Framework get a shout out here. Sad to see no representation of the containment (as mentioned earlier).

My personal favorite and not because it is part of the poster I stare at nearly every day. It’s so simple and it’s structured perfectly (i.e. round!). .NET 2.0 contains the core, 3.0 added WCF, WF, WPF and CardSpace, then .NET 3.5 added LINQ, AJAX and REST on top of those. Winner, winner, winner, hands down.
Having more than one value proposition
March 3, 2009As I market my services to various clients from various backgrounds, I’m always trying to come up with a unique value proposition that communicates to them. It’s not that I want to appear superior to their alternatives, but I do want them to understand what makes me unique. Sometimes I use
“Hiring an experienced software developer who knows what their doing before they start is much more cost effective than paying someone else to learn”
which works well if a customer is interested in completing a project and are not making an investment in someone else’s capabilities. Sometimes I use
“I know how to go straight from point A to point B while some are good at talking about going from A to B and others are like to start on the path from A, get distracted and take twice as long to get to B. I have a laser like focus on the task at hand”
which works well if a customer has been disappointed in capabilities of another developer or development team. Sometimes I use
“My experience with 50+ projects in 10+ industries has given me insights about how those businesses are run that might provide value in unexpected ways to your project”
which works well if a client is unsure that I can complete the project using a new toolset or technology.
I see now that you cannot have one unique value proposition. Every situation, every project and every client is different. Not only are they different, they are unique. I also see now that I am not a salesperson applying a closing method. I’m there to listen, learn and offer something of value. If that means I have to be honest with someone, rather than packaged, so be it.
Posted by Scott Kersey
Posted by Scott Kersey
Posted by Scott Kersey