Doing consulting or contract work is both interesting and challenging, due to the wider variety of customers you may need to serve. But what’s the best way to kick off a gig with a new customer? Getting good at that part of a project takes some work. Here are some areas to focus on so […]
Maintaining software is hard, and it gets harder the longer software is around and the more hands it has touching it. Complex and distributed systems require even more care to keep them working and malleable.
Building software is hard. We struggle with asynchronous operations, distributed systems, and concurrency. When we are trying to figure out how to solve a given problem, we take an approach that is guided by a set of assumptions. These assumptions are critical tidbits of info that help blaze our trail toward making our plans a […]
The phrase “work smart, not hard” has been uttered for years, but too many people fail to heed that advice. There is a lot of scientific evidence that taking regular breaks from our work allows our brains to refresh, forcing us to step away from the grind and re-evaluate the big picture. Oddly enough, taking breaks […]
Over the years of working on many different projects with many different people, I’ve noticed that the biggest problems seem to arise from a lack of a shared understanding. To overcome these hurdles and become more productive, we need to gain empathy for each other and the challenges we face.
I recently had the pleasure of stepping in as a coach to help my daughter’s team take part in the 2017 Science Olympiad. It was our first time participating, but likely, not the last. It was great to see junior high kids have so much passion for science and have such a great time participating.
Software documentation is all too frequently overlooked or becomes irrelevant, lost in the inevitable wave of change. Accurate documentation requires not only thought and execution, but maintenance, as reality changes. One form of documentation that is too frequently overlooked is a diagram.
Wrapping up a release for a software product is almost never the end of the development work. When teams are buttoning things up, they frequently make some tradeoffs in order to meet deadlines, and certain desirable changes may not be made due to the risks they add to getting a stable release out.
I recently attended the Swift Summit 2016 conference in San Francisco, CA. To be honest, it has been a few years since I decided to attend a conference due to my lackluster experiences at conferences in the past.
We have been using agile workflows on our teams at Atomic since we were founded back in 2001. User stories have always required points, although there has long been a debate about whether or not a team should point defects. Usually, pointing defects is harshly discouraged, yet the argument has come up time and time […]