How Engineers are basically Carpenters

Mayurkumar Patel
3 min readOct 22, 2020

The analogy between engineers and the carpenters will help us to understand the role of software engineering and how to solve engineering problems.

Last year, I had a good conversation with my senior. During our conversation, he told me the metaphor that Software Engineers are basically Carpenters. What??… I was shocked for a while. He was comparing software engineers with carpenters. Initially, I was not able to understand the meaning of it but, as I am thinking about it and after a year’s of more experience, I am getting his point of view and it’s a very helpful one.

source: Google

Carpenter Journey

How carpenter develops his experience

When carpenter joins the industry, generally a family business, then she starts learning about the basic tools i.e. the chisel, the screwdriver, the hammer etc. She spends a lot of time to practice these instruments before going to the next level. Her seniors also give tasks that require to use these basic tools only. When she is ready to move on the next level, she learns about the measuring tape, the moisture meter, the level, the layout square etc. Now, she has more skills in her skillset. Whenever she gets a new task, she thinks about the skills which she possesses and the skill which will be best suited for the current job. She practices this routine so many times in her career that, it will become automatic. This is how a carpenter’s career look like in general.

Software Engineer Journey

How software engineer develops his experience

When software engineer joins the industry, she is given the junior engineer role. Despite learning advanced mathematics and computer science in the college, she started learning the basic tools in her initial days of career. If she is in the web development industry then she will learn about HTML, CSS and JavaScript first and some easy backend tasks. As she will get more experience, she will learn about the more advance things such as complex backend things, server setup, team building, project management etc. Now, she has a lot more skills in her skillset. She is at the same juncture where she needs to think about the skills she possesses and which skill will best fit the problem at hand. This is how a software engineer’s career look like in general.

How this analogy is useful?

The carpenters are doing their job great so do software engineers. But, as per my experience with other software engineers at different roles, I witnessed that sometimes software engineers tend to forget the last rule. They forget to think about the best-fitted skills for the current problem. They become a victim of “Every problem is a nail for a person having a hammer in hand” fallacy. This is one of the biggest problems in the software industry. If we can solve this one problem, we can solve so many other related problems easily. At our company,, we inspire every developer to think before developing any code. We have a practice of creating documents for big features which again force us to think. This one single habit is helping us to earn our client’s happiness. Please let me know in the comment if you want to know more about our practices.


As we are growing the number of tools i.e. skills, we need to be very focused on choosing it while solving the problem. We need to think deliberately that which tool i.e. skill will fit the best into the solution and then, use it.

Call To Action

I am running my two online courses. Join my master 4-week course on “Ignorance of Software Developer and How we can reduce its impacthere: 8RWe119KgGo8mBHF6.

If you are short on time then join my short course for “Practical Tips for Ruby on Rails” here: This course is for all the levels of programming.

You will receive a PDF in your inbox once a week. It’s absolutely FREE!! Sign Up.

About Author

Mayurkumar is helping companies to take the stress out of software development and make their business shine. He has more than eight years of experience in designing and building scalable applications using different technologies.

Thank you for reading my article.



Mayurkumar Patel

helping companies to take the stress out of software development and make their business shine.