Software developers are great at recognizing patterns. Maybe it’s an inherent skill that draws us to this profession. Or maybe it’s the process of writing software that develops this skill. Either way, “don’t repeat yourself” (DRY) is a natural application of this skill. However, repetition in itself is not the enemy that this principle makes […]
As a software developer, working alone can be very liberating. You can move at whatever speed you feel comfortable with. You have the freedom to explore ideas without having to explain or justify them to anyone else ahead of time. You can twist and turn — speed up or slow down. The mere presence of […]
I’ve heard the term “pain” thrown around the developer community quite a bit. This “pain” comes from the vast amount of learning every developer needs to do to evolve in an ever-changing technological landscape. There are always new languages and patterns to learn and countless legacy systems which need to be integrated. Stretching one’s knowledge […]
If you are reading this, you probably already know what WIP is, but just in case you don’t, it stands for work in progress. WIP is a crucial component of Agile development, describing the stories or tasks that are (you guessed it) in progress. A general goal with any Agile project is the keep the […]
Tech leads and developers have a vital role to play in the design of software. But with training in the abstract world of programming, many of us lack the vocabulary to provide useful critique on, say, the aesthetics or accessibility of design. Sure, we can share our feedback as people who may use it, but […]
When working at a software consultancy, you may be asked to evaluate an unfamiliar codebase. There are a lot of reasons why you may need to make such an evaluation—for example, your company is going to take over development on a legacy codebase, you’re considering undertaking an application rewrite, or maybe you’re thinking of integrating […]
While I was browsing Hacker News, I came across a blog post by Dan Slimmon explaining something he called “do-nothing scripting.” The premise of a “do-nothing script” is that it does nothing other than tell the user what to do at each step of a process. These types of scripts are great for helping communicate […]
You’ve probably written a script that was intended to be used only once. But what do you after it has served its purpose? It’s easy to throw it in the digital trash bin when you’re done, but I believe these “throwaway” files should be tracked in version control.
At Atomic, many people have read and enjoyed Cal Newport’s book Deep Work. This book is all about the importance and the art of achieving great things by eliminating distractions and maximizing flow.
Every developer has had to deal with the struggle of sifting through documentation that is incomplete, incoherent, outdated, or simply non-existent. Whether it’s libraries, frameworks, or platforms, the presence of good documentation can mean the difference between success and failure. The absence of good documentation is a serious enough downside to justify avoiding a certain […]