Atomic’s product teams start software projects with Human-Centered Design (HCD) practices and Design Thinking activities that help us focus on the customers who will use the software. But that’s not the only use for this type of user-centered thinking. I’ve also found HCD incredibly helpful for teams who are deciding whether to continue supporting a […]
Imagine you’re building an internal business tool for your global company. This new tool will improve and streamline the work of hundreds of your coworkers. It’ll also give the business better visibility into how your bottom line is being built. You’re close to having a minimal usable product to ship, so what’s next? Because We […]
I’ve always had a hard time talking to “blue-sky” thinkers and entrepreneurs with the “next big idea.” It’s not because I don’t enjoy talking to them. It’s the opposite — they hate when I question them. I’ve been guilty of this, too. You’re passionate about your good ideas — you love them. And when people […]
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.