Small Business Programming

Learn how to be a wildly successful small business programmer

How to get hired as a team lead

I see people make three huge mistakes when trying to transition from a developer position to a leadership position.

1 – being a “good” developer with lots of experience makes you qualified to run a project or a team. It’s just not true. Being a “good” developer with lots of experience is necessary, but not sufficient, to successfully make this transition.

2 – the idea that you actually know what a well-run, effective project actually looks like. Most people have never even seen a well-run, effective project. They have little idea of the results regularly achieved by the best teams.

3 – not adjusting your interview answers to reflect the kind of thinking and strategizing effective leader engage in to be successful.

In this post I’ll show you things from the employer’s perspective and help you get on the right track to get hired as a team lead.

Continue reading

The Business Case for Better Software Practices

Steve McConnell hosted a webinar that I think more people need to see.

We actually know a fair bit about how to create high-functioning, effective software development organizations. The knowledge exists but not enough teams are applying it.

So, if your team is struggling in any way or if you are trying to convince your manager to invest in better practices, this talk is well worth watching.

Continue reading

Steve McConnell’s Classic Software Mistakes Revisited

In chapter 3 of Rapid Development, Steve McConnell identified 36 “classic software mistakes.” That book was published in 1996 and a lot has changed since then. So I was happy to learn that he released a white paper that expanded and updated the list.

The new list was validated with a survey of about 500 software professionals. The data gathered from the survey allowed McConnell and rank the list, which makes it much more valuable.

Read on to find out which software development practices are actually the worst “classic software mistakes.”

Continue reading

How to be more successful at software maintenance

In this post I want to explore the kind of software maintenance that happens after active maintenance ends. This is the stage of the software life cycle where the software has been in production for some time and the initial wave of bug fixes and enhancement requests ends. It’s also at this point that managers may cut the number of developers assigned to the project and turn their attention elsewhere.

Keeping this kind of project running safely, securely, and profitability as the years tick by–even if you’re not adding or changing functionality–is especially challenging.

I’ve spent more than a decade in this situation. And I’d like share some of my observations and advice about maintaining this kind of software with you.

Continue reading

Safety-Critical Software: 15 things every developer should know

Despite being all around us, safety-critical software isn’t on the average developer’s radar. But recent failures of safety-critical software systems have brought one of these companies and their software development practices to the attention of the public. I am, of course, referring to Boeing’s two 737 Max crashes, the subsequent grounding of all 737 Max aircraft, and its failed Starliner test flight.

How could such a distinguished company get it so wrong? Weren’t the safety standards and certification process for safety-critical systems supposed to prevent this kind of thing from happening? Where was the FAA when the Max was being certified? These questions raised my curiosity to the point that I decided to discover what this specialized field of software development is all about.

In this post I’m going to share what I learned about safety-critical software development and how a little knowledge of it might be useful to “normal” programmers like you and me.

Continue reading

I’m programming a sumobot with the world’s safest programming language

The Make with Ada Contest is offering $8,000+ in prizes for “cool embedded applications programmed in the Ada and SPARK programming languages.”

I’ve always wanted to build a robot and I’ve been looking for excuses to play around with Ada so I thought this would be a great time to kill two birds with one stone.

Continue reading

The ONE chart every developer MUST understand

Our industry is famous for delivering projects late and over budget. Many projects are cancelled outright and many others never deliver anything near the value we promised our customers. And yet, there is a subset of software development organizations that consistently deliver excellent results. And they’ve known how to do it since the 1970s. In this post I’ll tell you their secret.

Continue reading

« Older posts