Earlier this year, I rotated onto a long-running project. This was the first project I’d joined that already had an established code base and team. This particular project is complex, with a large team, big goals, and a long history.
When starting a new software project, there are a series of questions that need to be explored before diving headfirst into the development cycle. At Atomic, we often spend time in what we call the “Research, Design, and Planning” phase of the project to do just that.
Software applications (like homes, cars, and nearly everything else) need maintenance. Even when the software itself doesn’t change, the systems/devices it runs on and the larger software environment are always moving forward. This is called Software Rot. Most software maintenance falls into one of these categories: Updating Dependencies – Upating the frameworks, libraries, etc. that […]
Software rots if not maintained. The longer it sits on the shelf, the harder it becomes to work on it. It may even stop working on its own one day. This surprises my clients frequently, so I wanted to talk a bit about why this happens and how to plan for it.
Atomic interviews quite a few folks for entry-level software development positions each year. Part of the interview process involves a programming challenge. We try our best to present challenges that are similar to the work we do day-to-day, rather than asking candidates to solve obscure algorithmic puzzles. Generally, though, our candidates start from a blank […]
I’ve been selling custom software projects for nearly a decade. In my opinion, the most important part of the sale is correctly setting the client’s expectations for the design and development journey that’s in front of them. A key expectation to align on is the engagement model. Over the past few years, I’ve been describing […]
Recent projects have made it crystal-clear to me that formal code reviews create waste and provide no value in return. By relying on pair programming, my project teams are delivering more effectively and efficiently than before.
As consultants who build software, it’s sometimes easy to forget that, for our clients, the software itself is only one piece of the larger product launch. You could build the best software in the world, but if no one knows about it, that doesn’t matter.
If you’ve worked with other custom software companies, you’ll notice that Atomic’s approach to budgeting is unique. It’s a lot more time-intensive and comprehensive. In fact, when I deliver a budget model to a customer who is comparison shopping, they often tell me something like, “This is the most comprehensive analysis I have seen from […]
One factor that determines the success of product development is how much value customers get from the product being built. This is why I’m a proponent of surveying customers before, during, after product development.