<aside> 💡 Be a Craftsman

</aside>

If you want to go fast, go alone. If you want to go far, go together.

Cowboy Engineering

Also known as:

Behaviors:

Pros:

Do not confuse with "Agile"

When should you be a cowboy?

Also see:

From Stackoverflow

Cowboy coders or nuggets know little to nothing about design and view it as an unnecessary formality. If working on small projects for non-technical stakeholders, this attitude may serve them well for a while; it Gets Things Done, it impresses the boss, makes the programmer feel good about himself and confirms the idea that he knows what he's doing (even though he doesn't).

From Tech Republic

The Code Cowboy is a force of nature that cannot be stopped. He or she is almost always a great programmer and can do work two or three times faster than anyone else. The problem is, at least half of that speed comes by cutting corners. The Code Cowboy feels that checking code into source control takes too long, storing configuration data outside of the code itself takes too long, communicating with anyone else takes too long... you get the idea.

The Code Cowboy's code is a spaghetti code mess, because he or she was working so quickly that the needed refactoring never happened. Chances are, seven pages' worth of core functionality looks like the "don't do this" example of a programming textbook, but it magically works. The Code Cowboy definitely does not play well with others. And if you put two Code Cowboys on the same project, it is guaranteed to fail, as they trample on each other's changes and shoot each other in the foot.

Put a Code Cowboy on a project where hitting the deadline is more important than doing it right, and the code will be done just before deadline every time. The Code Cowboy is really just a loud, boisterous version of The Ninja. While The Ninja executes with surgical precision, The Code Cowboy is a raging bull and will gore anything that gets in the way.

Stop being the hero

your customers and teammates want to be the hero, so the greatest opportunity is to help them get there; be the Yoda to their Skywalker

tactical tornado

Almost every software development organization has at least one developer who takes tactical programming to the extreme: a tactical tornado. The tactical tornado is a prolific programmer who pumps out code far faster than others but works in a totally tactical fashion. When it comes to implementing a quick feature, nobody gets it done faster than the tactical tornado. In some organizations, management treats tactical tornadoes as heroes. However, tactical tornadoes leave behind a wake of destruction. They are rarely considered heroes by the engineers who must work with their code in the future. Typically, other engineers must clean up the messes left behind by the tactical tornado, which makes it appear that those engineers (who are the real heroes) are making slower progress than the tactical tornado.

Craftsman Engineering

Thinks before executing.

Typically motivated by the art.

Deeply understand the problem before acting.

Behaviors:

Quotes:

Measure twice, cut once

If you fail to plan, you plan to fail

From "Predictive Index":

From Neboagency:

  1. They are motivated by mastery rather than attaining a status.
  2. They are willing to make sacrifices ego, finances, free time and relationships.
  3. They believe in the end-value of what they are making.
  4. They balance a passion for history and tradition with a drive to innovate.
  5. They plan and think things through first.
  6. They immerse themselves and can maintain focus on their work.
  7. They put in the hours for their craft to become a habit of daily life.
  8. They know that you've never really "made it".