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 Principles of Well-Crafted Software
As software crafters of 8th Light, we are committed to creating durable software that embodies our dedication and passion for craftsmanship. The principle above is part of a set that all 8th Light software crafters live by to ensure that we are making strides towards mastery.
We continually master a variety of technologies and techniques
We are lifelong learners. Every day we explore new ideas that will aid us in our education. Learning new technologies and techniques is one way of expanding our palette, which helps us to solve new problems, and to solve existing problems in different ways.
The 8th Light team has shown from the start that we are eager to learn new techniques. In our early days, Rails was brand new. Nobody at 8th Light had used it professionally. Some team members hadn't even done much web development. The most experience anyone had with Rails was creating a static website or writing the depot application from Agile Web Development with Rails.
Our first big client was a .NET project. It would not have been a problem for us to use .NET because most of the 8th Light team was familiar with it already. However, that familiarity is exactly what encouraged us to recommend Rails for the project.
Despite our limited experience with Rails and its lack of maturity, we were confident that we would be able to bring the application to market in significantly less time than would be possible with .NET. We knew that we had the ability to master any framework and build any tools that we needed in order to make the decision to use Rails worthwhile.
We do not let unfamiliarity dissuade us from using the best tools
When the 8th Light team started the project with this new platform, were we unfamiliar with our tools? Yes. We had been using another toolset for a long time and had only written simple applications with Rails. But were we uncomfortable in this situation? Absolutely not, because learning new things is part of being a software crafter. More importantly, picking the right tools for the job is part of being a software crafter.
At 8th Light, we strive to find the right solutions. Familiarity with existing methods does not prevent us from searching out better ones. When a tool has the features we need, we learn to use it. When a different development process is proposed to solve delivery problems, we explore it. We are not intimidated by unfamiliarity. Whatever is the right solution, we will apply it.
For our first project, we chose Rails because we believed it to be the best tool for the job, and we were right. That project has been one of our most successful to date because of how quickly and skillfully it was developed using the best tools available. That would not have been so if we did not practice this principle of learning.
Even now, with Rails accepted as the most popular web framework around, we are exploring other options because better tools are constantly being made. For example, Clojure has become a favorite language for many at 8th Light. Its functional design is seen as being better equipped for the future, and more pleasing to use than the more common object-oriented languages like Ruby.
Since Clojure is a fairly new language, there are far fewer tools written for it than something like Ruby. So rather than wait for better tools, 8th Light software crafters are writing the tools themselves, including: REPL-y, Hyperion, and Joodo.
Without exposure to new ideas, we become isolationists, ignorant of new advances in a field that is continuously evolving. The only way to be sure that we are using the best tools is to be constantly learning new ones, or even building new ones. That is why we believe in these principles.