Richard Hale Shaw returns to Ann Arbor, May 27th!

We’ll be hosting two seminars by Richard Hale Shaw, a long been a mentor and colleague, at SPARK Central on Friday May 27th (details below, registration link here.)

Habits of Successful Software Developers

For Software Developers, success comes in a variety of forms:

Shipping a new product – or a new version of it – on-time and under budget with an acceptable minimum number of defects;

  • Confidence in being able to define a problem and implement a solution;
  • Understanding  – and internalizing – User’s requirements (even when they don’t know this themselves);
  • Writing easily understood, easily modified code with sufficient commenting, Unit Tests, and regular check-in.

There’s more…but these are all traits of successful software development, the results that are produced by successful programmers. The question is: how do you get there? How do you become a developer that delivers this way?

The operative word: Habits.

In this highly interactive session, Richard will lead you through an iterative process of discerning many (but not all) of the traits or characteristics of Successful Software Developers. We’ll then look at why those characteristics are found and what habits had to be put into place to develop them. Then examine what these habits are, how you create them and how you ensure that they take root and grow – and to do so, Richard will draw off of nearly 28 years of programming, development, team leadership, consulting and other experience in the software industry.

If you’re unhappy with whom you are as a programmer, or think that you can vastly improve your ability to perform as a software developer, you’ll not want to miss this session.

On Time and Under Budget: How to Stop Missing – and Start Meeting – Software Project Deadlines

What’s your biggest challenge as a software developer?

Maybe you think it’s learning and developing new skills, or keeping up with the latest technologies and tools? These can be tough – but an abundance of resources (such as books, training, and conferences – not to mention help from colleagues) is available. Or perhaps you’d say that requirements gathering and analysis is difficult? Granted, collecting, organizing and internalizing your understanding of users’ needs isn’t easy. But there are lots of great methodologies at hand that are designed to help you address just this issue.

So let me ask the question another way: if brought before a jury of your peers and accused of delivering your software projects on time, would there be enough evidence to convict you?

It’s likely that the answer is no – and that this may be your biggest challenge as a software developer.

Arguably the biggest problem facing every software developer – not to mention entire teams and perhaps the entire industry – is that of setting and meeting deadlines. The issue is a complex one: without deadlines projects would likely languish; but deadlines are often set by almost anyone other than the developer or team that’s responsible for meeting it. And while deadlines are supposed to be inflexible, product feature sets appear to be highly flexible – and completely out of our control.

In this highly interactive session, Richard will help you look at deadlines as contracts – where a contract is an agreement by both parties, and not open to change by one party without the other’s consent. We’ll talk about why deadlines are valuable – and to whom – when you should set them (or at least, agree to them) and when you shouldn’t. We’ll look at how deadlines are set, how they’re changed, who gets to change them – and why.

Finally, we’ll look at a number of strategic solutions and tactics that you can implement, turning deadlines from impossible tasks into achievable goals.

Created: 3/22/2011 2:11:57 AM

Current Projects

I create content for .NET Core. My work appears in the .NET Core documentation site. I'm primarily responsible for the section that will help you learn C#.

All of these projects are Open Source (using the Creative Commons license for content, and the MIT license for code). If you would like to contribute, visit our GitHub Repository. Or, if you have questions, comments, or ideas for improvement, please create an issue for us.

I'm also the president of Humanitarian Toolbox. We build Open Source software that supports Humanitarian Disaster Relief efforts. We'd appreciate any help you can give to our projects. Look at our GitHub home page to see a list of our current projects. See what interests you, and dive in.

Or, if you have a group of volunteers, talk to us about hosting a codeathon event.