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.
TL;DR - Show up to a meeting with presence and respect, or find a way to not go at all. A meeting can feel like...more.
On small teams, most processes are informal. Everyone has a clear stake in the outcome, and if the work is getting done, who cares how?...more.
As kids, we learned to listen and to speak before we learned to read. We started our lives cooing indecipherable nonsense, and slowly adopted the...more.
What does it mean to be a software craftsman? You can read the Manifesto for Software Craftsmanship and draw conclusions; but if you posed that...more.
Estimates are a fundamental part of our business. We rely on them to schedule our workflow and to communicate honestly and openly with clients. We...more.
In his recent post, Doug Bradbury claims that aiming for gender equality runs the risk of further homogenizing our culture. Instead, he suggests that we...more.
In his talk about Redis at Scottish Ruby Conf a few years ago, Ryan Briones covered the importance of deferring the design of data structures...more.
When I start a new feature I need to learn what the customer wants, what the code currently does, and how to write new code...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.
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.
Software apprenticeship programs are popping up all over the place in software. They are a response to the common notion that contemporary academia is not...more.
This blog is for non-technical people looking to purchase custom software. Purchasing software is very difficult and very expensive. It is a decision that is...more.
It is unrealistic to think of even the most master craftsmen as isolated geniuses. Craftsmen do not exist in bubbles, and their interests vary just...more.
Time and materials vs. fixed bid is the classic duo of billing models in software services business. Time and materials puts all the pressure on...more.
In the beginning of using rails it was amazing at how fast everything was compared to my previous java web experiences. I could finally run...more.
This February 13th will mark a decade since the creation and signing of the original Agile Manifesto. The lean development thought leaders who came together...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.
This blog post serves as a response to the article Software Testing Craft by Markus Gärtner, which can be found in the first issue of...more.
8th Light has always had an open door policy towards developers. When anyone has asked to come hang out at 8th Light offices, we don’t...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.
While there are a host of reasons to attend the Software Craftsmanship North America Conference, here’s a list of some of the best: The speaker...more.
Good design sense is a skill that comes only from many years of coding experience. Sometimes it can be very difficult to make those design...more.
I will not charge a client for a bug fix. Not a penny. If I make a mistake, it is my professional obligation to fix...more.
Software bugs are errors or omissions in the work we create. They are our mistakes as software developers. I would like to take a closer...more.
Software is not made with designs and ideas, but with code. Code is the raw material. Code is the only means we have to create...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.
I would like to prelude this with an assurance that this is not the history of the software craftsmanship. Rather, this is just a brief...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.
Welcome to a Limelight production. I am going to go through a step by step introduction to limelight development using a tic tac toe game...more.
Whenever I would visit my grandmother growing up, one of the highlights was she had space invaders on her computer. Once, my Uncle Don saw...more.
8th Light has an apprenticeship program whereby an 8th Light craftsman will mentor an individual for three months. During that time, the craftsperson becomes responsible...more.
I find while writing web applications that I end up redefining what it means to go “back.” This means where I want the user to...more.
Software defects are a part of software. This is a negative subject, but I don’t want to seem like the software I write is full...more.
We had a new developer join our project recently, and he needed his computer to be setup so he could run the application. “Here is...more.
When I first started writing code in Ruby, it was a breath of fresh air after writing C# code for a year. Ruby had a...more.
The other day, I was with my team at an interview for an internship. After we had asked the candidate some questions, he started to...more.
Jim Suchy recently laid down some basics of Rinda in his blog Rinda 101. I would like to build on that and talk a little...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.
After all the cards are written and estimated, it is time for the customers to pick the first iteration, for which they need a velocity...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.
Often times while writing meta programming code, I am using the eval function and doing manipulation on method/class/variable names. Today I needed to un–Rubify a...more.
Recently, I started reading Knuth’s Art of Computer Science. To spice up the exercises, I am writing them out in Ruby. Thinking about the basic...more.
I am a better pair than solo developer. For me, software is a collaborative art from the start of a project to the end. Starting...more.
This is intended to be a tutorial to get you started using FitNesse with ruby on Rails. There is some explanation needed about FitNesse, Fit,...more.
In rails, migrations are generated in such a way that they create a numbered migration with an up and a down schema direction. This has...more.
In Paul Graham’s Book, Hackers and Painters, he talks about patterns and Human Compilers. I started to think about how some traditional Object-Oriented patterns are...more.
The self-shunt method of testing has been conflicting for me. Self-shunt is a good testing pattern to test observers/views. A colleague of mine has started...more.
Pre–factoring is when you see a piece of code which the story you are working on which has a re–factorings which would make your story...more.
I’ve noticed using more mocks lately. Instead of using them sparingly for controlling services which are not instrumental to what I am testing, I’m essentially...more.
Sometimes I sit down to write a test on something I haven’t worked on before or don’t know intimately, and I just can’t write the...more.