In my blogroll I periodically observe how a lengthy posting triggers a wave of related discussions. The topic is usually rooted in reality and mildly controversial but no practical conclusion is reached. A few responses could be interesting now and them at least to compare with my own opinion. The most recent topic of this kind I encountered was WHTP.
Although I did not share the author's interest in games I certainly share his sentiment about what he referred to as programming and gluing libraries together. It is an emotionally-charged question with all kinds of repercussions for career perspectives and self-esteem. And I am inclined to believe that many people working in mainstream software development think about it once they reach a certain quality of life. Probably even the common heated debate on software architecture could be ultimately related to this perceived lack of hard-core engineering fun.
To begin with, a few comments rightly suggested that:
There is also a down-to-Earth angle. Quite a few people were attracted to IT because of the lack of well-paid engineering positions elsewhere. This is how many people with degrees in anything from physics to mechanical engineering ended up in enterprise software. Only later they recognized that this area is qualitatively different there will be no return to actual engineering. On the positive side, they were able to immigrate to G7 countries or at least earn money pretty good by local standards (strangely enough, even in comparison with colleagues in rocket science).
I have thought a lot about it recently because I feel more and more that I got into a kind of ghetto. There is only so much fun you can have with util.concurrent, so to speak. And the longer I stay in this kind of development the slimmer my chances to work on something truly challenging are. I got a pay raise recently (4% is not as ridiculous if each of them is worth more than 1K), we are not overworked, my manager likes me, new Apple laptops are coming. Leaving now would likely require material sacrifices but I get this urge now and then.
I suspect that there are a few (sub)domains where even IT-like software development is at least moderately exciting. I have seen it in telecoms. I think finance is one of them (or is it just High-Frequency Trading?) but some might disagree. GOOG/LinkedIn/Facebook-like systems are likely to be fun because of the sheer scale (and could arguably be sufficiently algorithm-heavy to qualify as real engineering). But I am not quite sure how to get there. There is very little financial/telecoms development in the area. And I have not managed to get beyond second round interviews in really exciting companies in the valley.
A couple of life stories. A former colleague of mine was asked to develop some kind of DSP code (obviously in C) in the area of speech recognition/noise reduction. Last time I talked to him, he was reading math books and sleeping less because he had no relevant background (and after many years of Java). To me it sounded crazy (he is a bright guy but it takes some serious theoretical background) but exciting as hell. I also once came across a blog by a bright guy who found his way out(he wrote a few very interesting/inspirational posts on his journey from Java drudgery to cutting edge languages and academic engagements).
Although I did not share the author's interest in games I certainly share his sentiment about what he referred to as programming and gluing libraries together. It is an emotionally-charged question with all kinds of repercussions for career perspectives and self-esteem. And I am inclined to believe that many people working in mainstream software development think about it once they reach a certain quality of life. Probably even the common heated debate on software architecture could be ultimately related to this perceived lack of hard-core engineering fun.
To begin with, a few comments rightly suggested that:
- There is software and software. Nowadays computational devices are everywhere and the field is fragmented into multiple domains. Without clear focus on some of them the discussion makes little sense.
- Many more people are employed in this line of business then there were twenty five years ago. So on average they must be less advanced.
- Chances are many of those new positions created in these twenty years are in application-level software.
- You probably consider different things to be cool when you are 18 or 30+.
There is also a down-to-Earth angle. Quite a few people were attracted to IT because of the lack of well-paid engineering positions elsewhere. This is how many people with degrees in anything from physics to mechanical engineering ended up in enterprise software. Only later they recognized that this area is qualitatively different there will be no return to actual engineering. On the positive side, they were able to immigrate to G7 countries or at least earn money pretty good by local standards (strangely enough, even in comparison with colleagues in rocket science).
I have thought a lot about it recently because I feel more and more that I got into a kind of ghetto. There is only so much fun you can have with util.concurrent, so to speak. And the longer I stay in this kind of development the slimmer my chances to work on something truly challenging are. I got a pay raise recently (4% is not as ridiculous if each of them is worth more than 1K), we are not overworked, my manager likes me, new Apple laptops are coming. Leaving now would likely require material sacrifices but I get this urge now and then.
I suspect that there are a few (sub)domains where even IT-like software development is at least moderately exciting. I have seen it in telecoms. I think finance is one of them (or is it just High-Frequency Trading?) but some might disagree. GOOG/LinkedIn/Facebook-like systems are likely to be fun because of the sheer scale (and could arguably be sufficiently algorithm-heavy to qualify as real engineering). But I am not quite sure how to get there. There is very little financial/telecoms development in the area. And I have not managed to get beyond second round interviews in really exciting companies in the valley.
A couple of life stories. A former colleague of mine was asked to develop some kind of DSP code (obviously in C) in the area of speech recognition/noise reduction. Last time I talked to him, he was reading math books and sleeping less because he had no relevant background (and after many years of Java). To me it sounded crazy (he is a bright guy but it takes some serious theoretical background) but exciting as hell. I also once came across a blog by a bright guy who found his way out(he wrote a few very interesting/inspirational posts on his journey from Java drudgery to cutting edge languages and academic engagements).
0 comments:
Post a Comment