Building a Golang project from scratch requires making some important decisions that will shape the future of the project, providing a scaffolding for yourself and...more.
Job interviews are an inescapable reality of the labor market, and unfortunately they’re still an imperfect science. Different companies will have different qualities they’re looking...more.
8th Light’s modern apprenticeship program allows us to hire software professionals from a wide range of backgrounds, and Ian Carroll is no exception. In an...more.
Dependency injection is a form of inversion of control. This means that a component’s dependencies are not part of a component’s internals, they are defined...more.
Software teams have a variety of tools, software patterns, architectural decisions, and process flows at their disposal. This can be daunting for a new engineer...more.
Recently, I encountered a conversation about "clean code." This was in the context of an engineering organization trying to improve the quality of its output....more.
As health care professionals work on the front lines of the COVID-19 pandemic, they’re at risk of more than just contracting the virus. Witnessing and...more.
8th Light is pleased to announce its relationship with a new remote software development company, One World Coders. Former 8th Light COO Doug Bradbury has...more.
I am thrilled to announce that 8th Light has acquired Lunar Collective, a software consultancy based in Austin, Texas. This acquisition—along with WisdomGroup, Adorable, and...more.
As our organization has grown and evolved, we realized that our job descriptions had lagged behind our progress. They no longer aligned with the reality...more.
I am thrilled to announce that 8th Light has agreed to merge with Madriska, the general web-development consultancy based in Chicago. Madriska’s owner and only...more.
One of the earliest, most fundamental things I learned about writing code was the Don't Repeat Yourself (DRY) principle. Initially, this resonated with me. When...more.
The evidence supporting the value of employee training is undeniable. Professional learning and growth opportunities increase employee engagement, improve satisfaction, and drive potential. According to...more.
Whether you are currently hiring or currently evaluating your company’s recruitment and onboarding processes, I want to let you in on a little secret: the...more.
Learning, sharing, growth. Those three things are what brought together 60 software crafters on a Thursday evening in Seattle, Washington. David Scott Bernstein, the author...more.
8th Light is committed to diversity and inclusion, and the recent conversations in the tech community have been an important reminder that we need to...more.
A pottery teacher splits the two sections of her introductory class into a "quantity" group and "quality" group. Students in the "quantity" group are graded...more.
Developers are typically trained to look out for and guard against logical errors that have been accidentally introduced to their code. Such errors will range...more.
When I first started working in Vim, reading Bram Moolenaar's Seven Habits of Effective Text Editing was very helpful. In it, he outlines three fundamental...more.
Ideally, software should cost less than the value it creates. For an established product, we may be able to easily calculate the ROI and determine...more.
1995, Taiwan Taiwan was going through a series of education reforms in the '90s. Our teachers started to incorporate new teaching methods inspired by the...more.
I was recently tasked with fixing a third-party integration issue that started occurring suddenly and with no apparent reason. The source of the problem was...more.
There is a story of three bricklayers. Each one was asked what they were working on. The first bricklayer answered gruffly, “Isn’t it obvious, I’m...more.
I recently saw a terrific talk by Sandi Metz at the Abstractions conference where she encouraged the audience to learn to identify the concrete code...more.
I’m excited to announce that 8th Light has agreed to acquire WisdomGroup, the leading voice in Chicago’s vibrant Ruby community. This acquisition combines two powerful...more.
The words "legacy code" strike fear into the hearts of developers everywhere. Behind that fear, legacy code means it's slow to understand existing behavior, slow...more.
The head judge of Top Chef, Tom Colicchio, has expressed a simple mnemonic for dealing with customer problems in a restaurant setting. There are three...more.
Bugs, defects, issues, glitches, hidden features—call them what you want, but inevitably we discover that something in our software system is not working as expected....more.
In recent years, various code schools have flooded the developer markets with hordes of beginners. These schools have done a great job of introducing people...more.
Communication is hard, especially in the software industry that has, for whatever, reason preferred introverts for decades. That stereotype is slowly eroding, but it doesn’t...more.
Sustainable pace is an early Extreme Programming concept that was intended to protect programmers from going on “death marches” to meet deadlines that are arbitrary...more.
If your project is localized, it’s probably internationalized. If it isn’t, there’s a good chance it’s not. Depending on your familiarity with those terms, the...more.
8th Light's software craftsmen are bonded together by their singular pursuit of mastery. We challenge ourselves constantly to learn and grow through a combination of...more.
In 2009, I started an internship at a Los Angeles-based audio/video post production studio. The audio engineer I was learning from was an avid musician...more.
Go lang offers a wide range of features that help us achieve loosely coupled program designs. Coupling refers to the direct knowledge that an element...more.
The Project A few years ago, I was tasked with the migration of data across build, staging, and production environments. It was heavy with software...more.
Pair programming always works. To explain why, we will take a look at an important study which explains how people learn in social contexts. The...more.
Before I started working at 8th Light I spent two years at a boarding school teaching German, Economics, and coaching fencing. Although I didn’t study...more.
Today marks the 5th Anniversary of the publication of the Manifesto for Software Craftsmanship. We are doing a couple of things to celebrate to mark...more.
Five years ago, a handful of us nervously deployed a little application that held some pretty lofty ideals for the future of software development. We...more.
We show respect for our customers and fellow software crafters. We do not act unprofessionally or unethically. —from the 8th Light Principles of Productive Partnerships...more.
During the Second World War, both the Japanese and United States armies set up bases on remote islands in the Pacific Ocean. The islands’ inhabitants,...more.
In 1826 Marc Isambard Brunel and Isambard Kingdom Brunel, a father and son engineering team, sought to build a tunnel under the Thames river in...more.
In The Pragmatic Programmer, Andy Hunt and Dave Thomas talk about software entropy and the broken windows theory. The premise of the broken windows theory...more.
As craftsmen, we admire and encourage a sustainable pace. We also encourage ourselves to always be learning, to always be expanding our knowledge and abilities....more.
For those new to Test Driven Development, understanding how to take small, incremental steps when writing your tests can be a confounding practice. Even the...more.
We partner with our customers to understand their business. We do not propose solutions until we are sure we have found the right problem. —from...more.
We communicate our progress honestly and openly with our customers. We do not conceal or embellish. —from the 8th Light Principles of Productive Partnerships My...more.
Steadily Adding Value We estimate with diligence. We do not let fear or pressure make us promise what we can’t deliver. Estimation is Difficult As...more.
We take responsibility for the correctness of our code by testing it thoroughly. We do not tolerate preventable defects. —from the 8th Light Principles of...more.
We embrace differences of opinion and personality. We do not allow our current practice to impede improvement. —from the 8th Light Principles of A Community...more.
We humbly demonstrate our expertise by delivering quality software. We do not inflate our abilities or claim expertise where we have none. —from the 8th...more.
We always apply our best efforts to complete our work. We do not make excuses. —from the 8th Light Principles of Steadily Adding Value Everyone...more.
We continually master a variety of technologies and techniques. We do not let unfamiliarity dissuade us from using the best tools. —from the 8th Light...more.
Have you ever watched an interview with a successful product creator? I have, and lots. Typically the interviewer will ask what mistakes the entrepreneur has...more.
I have been reading on blogs and tweets the sentiment that "software craftsmanship is elitism". This perception is formed around comments of code, process, or...more.
Two years ago, when Agile Alliance started a translation project for their manifesto, I was fortunate enough to be one of the translators of the...more.
Frameworks are about efficiency and effectiveness. They save you time. By forcing common conventions, a framework helps solve common issues like view rendering, asset generation,...more.
When the Single Responsibility Principle is taught among developers, one aspect - the responsibility - is harped on the most. But what counts as a...more.
Being wrong sucks. Unfortunately, being wrong is a fact of life for developers. Personally I have chosen the wrong technology for the task at hand,...more.
Being a professional developer means that you are responsible for delivering software on time that works. It's a satisfying job - you solve the problem...more.
Scenario: We are sitting in a planning meeting and a business stakeholder asks one simple question. “How hard would that be?” What answer do we...more.
I interviewed a bright young woman today who is graduating from high school this spring among the top of her class. Despite having several generous...more.
Lately I've been fascinated with the idea of logical fallacies, and especially problems in arguments that may at first glance seem reasonable. Now, clearly not...more.
Many of us admire other professionals, such as musicians and athletes. We even emulate them in our own profession by practicing. What about that time...more.
"The Manifest for Software Craftsmanship is obvious!" "How could you not agree with it?" "Duh!" These are common reactions to the Manifesto. As an example,...more.
The 2011 SCNA (Software Craftsmanship North America) conference concluded just a few days ago, and there was a large audience turnout as well as an...more.
I remember in my times as a restaurant worker that the management would always give us these rhyming platitudes that were after-school-special cheesy. One of...more.
One of the habits that’s valued highly at 8th Light, and should be valued by professional developers everywhere, is the habit of practice. If you're...more.
Many small software contracting companies (boutiques) have been popping up in the last few years with our company, 8th Light, featuring among them. Their fundamental...more.
Day 3 at Relevance began, as the previous days, with the company standup. Stuart Sierra, of clojure.test and Practical Clojure fame, was my pair for...more.
I’m honored, humbled and excited to represent 8th Light, Inc. on its most recent Craftsmanship Swap, with Relevance in Durham, North Carolina. I’d first heard...more.
After attending tonights got:ruby I became obsessed with and started installing rvm. It worked swimmingly. I’m looking forward to getting my development machine off of...more.
Today was day one of my Craftsmanswap with eLabs developer Anders Tornqvist, and so far they have treated me with the hospitality and graciousness I...more.
“It's kind of a Frankenstein.” We’ve used this phrase more than a few times to describe the architecture and technology used to design a product...more.
Michael Feathers recently wrote about boutique software shops. He drew a parallel between master chefs and software shops and made a few great points to...more.
Craftsmanship has been used as a metaphor for software development. Pete McBreen argues in his book “Software Craftsmanship” that craft is a better metaphor for...more.
8th Light and Obtiva have partnered up to provide a journeyman program. Traditionally, a journeyman program is when a master craftsman hires a journeyman for...more.
We recently had an interesting requirement surface. In anticipation of the release of a number of demo environments, our customer requested that system configuration be...more.
My path in becoming a craftsman was not through conventional academics. I did get a Bachelor degree in Computer Science. During those years of learning,...more.
I'm pleased to announce the inception of the Software Craftsmanship Group. http://groups.softwarecraftsmanship.org. The first meeting is October 13th at 7pm in 8th Light's office. Hope...more.
At 8th Light, they follow a practice of training people through an apprenticeship period. As it is nearing the end of my apprenticeship, my mentor...more.
Craftsman Clarification: There has been some discrepancy in the use of the term “Software Craftsman”. Rather than going into details about various uses of the...more.
There has been an interesting discussion happening about adding a 5th value statement to the Agile Manifesto. Uncle Bob Martin proposed this addition earlier this...more.
I have three step-children and I rarely promise them anything. It’s not because I’m a horrible father, but because a promise is a fundamentally special...more.
There is no perfect software. At least I have never seen it. Bugs and minor feature changes are indications people are using your software. Real...more.
One of the famous studies on peer pressure was the Stanford prison experiment, conducted by a team of researchers led by then Psychology professor Philip...more.
The most widespread and common greeting in the American culture is the handshake. Handshakes are shared between anyone meeting for the first time, and at...more.
I’m a bit overdue on blogging, so in lieu of the normally brilliant and insightful commentary on the state of…er something…I usually put here I...more.
What is building software like? The common belief is that software is like engineering. Most people seem to think that building a software system is...more.