Computer Scientist vs Software Engineer?
Yesterday, while trying to navigate my cluttered-filled inbox (I admire anyone that claims to have a Inbox Zero) I found an answer to a question on Quora that make me think a little bit about myself:
“computer science” and “software engineering” are two different fields. While they can solve difficult, abstract problems their (scientists) code is often messy and unreadable.
While I don’t agree 100% with this statement it has some truth in it but anyway, I never thought about this question, am I a Computer Scientist or a Software Engineer?
I studied at ISEL a degree (which I never graduated from) called Computer Science and Engineering which just adds more confusion to this subject.
When I look at my code I don’t think it’s necessarily messy and unreadable, especially after more than 20 years of experience in software development you learn how to build modular & scalable code from scratch. The big difference is that this doesn’t really matter to a scientist, what matters is reaching the end goal and being the first to get there as fast as you possibly can. The means to get to that goal is secondary, what code patterns to use, if the code is pretty and readable, well formatted and modular is usually not the first priority, not to mention unit tests!
More often than not you go back to the code you wrote and get the typical reactions like “What the hell was I thinking?” or “How did this ever work?”
Software Engineers and Architects on the other hand tend to go the opposite way. Usually they don’t write a single line of code before having it all thought out, planned and tested, not really my piece of cake.
Another analogy I like to make is, if you want to build a rocket to fly to the moon you get the scientists to figure out how to do it. Then you get engineers to figure out how to do it while bringing the whole crew alive back to Earth without crashing :)
When you think about it, in software and computers you need to have a little bit of both, there’s always a scientist and engineer inside you just need to understand which one prevails. So, are you a scientist or an engineer?