Many people try to compare coding (programming) with more understandable concepts. Developers are sometimes compared to rock stars (some people would say divas, too), artists,rebels, gardeners and sometimes, err, obscure geeks typing on their keyboard (yes, peasants, unlike the all-mighty business guys, cough cough cough.).
I consider myself as a chef(Not a very good one at that) – yes, as in cooking. My interest in cuisine (I am Yoruba, I admit) has probably something to do with this comparison, but I have always found it adequate for multiple reasons.
The ingredients :
Use this if you want to make puff-puff, but you don’t want to prepare the beans: use a ready-to-use pastry crust. yes, this is not as good as the real one, but hey, the taste is good anyway.
Us this if you you want to prepare everything, including the sauce, vegetable cutting/cooking, etc. After six hours of hard work, and having burnt twice your energy, you can at least eat a decent meal with pride.
Use this if you want to make your own moin-moin because, err, you don’t want to use someone else’s, and your beans will be better. And you want also to make your own bread for the same reason. After one hard day of work, you have some bread, but did not have the time to grind the flour, but the cake will be the best one ever after you finish it next month.
Use this if you want to cook something quickly and without too much hassle ? Try ready-to-cook products, such as Indomie. You won’t win a cooking prize, but you did not have the time for something better anyway (and hey, you washed the pots and the spoon, so it’s technically cooking) (Note: I’m going to be flamed for this one – guys, I swear I love python too!)
Of course, there’s always a simpler solution:
- configure,Make and Make install: hey, I don’t want to cook, let’s call the pizza delivery service! too bad I can’t order one with blue cheese.
Some people will also find themselves unable to cook anything without specific instructions. Other will never follow any recipe, but will only write down rough steps of what they want to do.
The two paths are quite different, but most people understand that you may choose one or another depending on your motivation toward food. I mean, if you REALLY love food, you’ll try to become a chef. And nobody is going to consider this as a weird choice, or even less desirable. Most people will actually think the contrary.
In the IT industry, you may choose to work for a company focusing on management, business, and not at all on software engineering – think of contractors and integrators. You will attempt to stop coding as fast as possible, because, err, only looser still code after few years in these companies.
But for those who like to code, want to excel at finding new algorithms, discovering new technical challenges, the path is not quite the same, and the company profile radically different.
That’s why focusing on the good types of companies is absolutely vital for a newcomer in the IT industry. Working in small startups or in obscure software editors can be a great choice. You will learn, and you will learn by coding. And after few years, you’ll still code, design great algorithms, and lead incredible technical projects. And if you don’t feel like coding in few years, maybe you should choose the other path.
Conclusion : comparisons are always a bit lame, but, err, this one is not that bad.
Achieve excellence in your code as a chef can in cooking!