Once, I had a dream and stepped into the threshold of a large company. There are coveted salary packages, a complete welfare system, and seemingly unlimited room for development. However, as time went by, I found that I became increasingly uncomfortable with the environment there. Today, I want to talk about my views through a joke and inspiration from a book.
The joke is this: A person can give birth to a child in ten months of pregnancy, and if ten people can give birth to a child in one month, it is a myth. In other words, for a project as huge as giving birth to a child, it is impossible to shorten the construction period by increasing the number of people. This joke is not made up by me, but comes from a very famous book in the field of software engineering - "The Mythical Man-Month". This book tells us that time and manpower cannot be simply exchanged. In many fields, this is an unbreakable truth.
In large companies, I deeply understand this. A project, if done by 100 people, may take a year. However, when the number of people increases to 200, it may not be completed in ten years. This is because the increase in the number of people brings complexity of communication and difficulty of coordination. Everyone needs to understand other people's work, need to wait for other people's progress, and need to deal with various trivial matters. These trivial matters prevent me from focusing on programming itself and enjoying the fun of creating things.
The joy of programming comes from creating things that are useful to others, while the pain comes from being dependent on others, having no freedom, being forced to set goals by others, and working with too many people. In big projects at big companies, these pains are magnified. I feel like a screw in a huge machine. I can't feel how my code helps customers, nor can I feel what value I am creating.
In contrast, in small companies or small teams, the situation is very different. Everyone works closely together and is involved in all aspects of the project. This makes it easier for me to feel the joy of programming and my importance to the overall project. I have greater autonomy and feel more like a human being rather than a part in a machine.
Some people may say that I can’t eat grapes and say they are sour. Indeed, for a company or boss, with every additional person added, overall productivity is likely to increase. However, for a small soldier like me, every time a person is added to the team, my personal efficiency decreases. Because there are more and more trivial matters such as communication, I can't focus on my work.
Of course, I am not denying the value of large companies. During those days working at Microsoft, I learned a lot of valuable knowledge and experience. Large companies have complete training systems and broad development space. They are indeed a good learning platform for people who are new to the workplace. However, for people like me who want to pursue fun in work and life, large companies may not be the best choice.
Finally, what I want to say is that the book "The Mythical Man-Month" is not only enlightening to software development or engineering management, it also has profound insights into our understanding of team collaboration, time management, and personal development. If you are interested in these topics, you might as well read this book.
Share on Twitter Share on Facebook
Comments
There are currently no comments