3 ms·
Software engineering is genuinely hard. There's no need to add elitism to it. This choice of vocation is already highly selective towards everyone who tries to
by AndreyErmakov 10y ago
Software engineering is genuinely hard. There's no need to add elitism to it. This choice of vocation is already highly selective towards everyone who tries to enter that field.
I'll share some numbers from my academic days pursuing a CS course. From an average group of say 100 students to graduate with a CS degree only about 3-4 actually had an aptitude to become a serious and wise professional. And even those would not necessarily take a programming job in the end. Some didn't see good career perspectives in it. The rest of the group would come to a conclusion it's just too hard and would spread out to whatever alternative jobs they can find, either IT-related or not.
The amount of computer-engineering talent is pretty constant and very low. You can encourage the general population to try it but that won't accomplish anything. Anyone with genuine abilities and an inclination towards this line of work already goes into that industry.
What is possible is that through inconsiderate encouragement of large masses to enter IT you eventually get crowds willing to perform unqualified tasks for pennies, like building trivial smartphone apps, performing WordPress installations etc. In fact, this already is a reality. I see people around me abandoning their careers and moving into IT. This is in part caused by the economic crisis in my country (Russia) which devalued salaries almost three times, and lately everyone's been thinking about getting into IT to improve their earnings. I also see that people just stumble at the basics. As soon as they realize programming is not about dragging & dropping objects in a visual editor and you have to actually perform some intensive thinking, people just give up that idea and quit.
Ultimately, it will just make it more difficult to distinguish a professional in a larger crowd, but it will not make his/her services cheaper. In fact, it will probably cause more people to be burned by amateurs posing as professionals and eventually they'll be more ready to pay the premium in order not to have to deal with amateurs and risk their projects ruined. Software engineering services will then become more expensive in general.
Software engineering is hard and will remain hard. The amount of talent will also remain pretty small and launching a thousand of new programming schools is not going to change that. Smart people don't need any schools at all. For those who aren't smart, schools won't help them much.
As to what the end game might be, it's just too early to say. The society is transforming into a different community. Right now it looks like people with average abilities will have tough times landing a job as those become automated and replaced by computer systems of some kind, whereas it will be easier for the unqualified folks and for the highly qualified ones. The middle might just see some very rough times. We'll just have to wait and see which way it goes.
- dgacmu 10y agoI'm sorry, but this is simply not correct that "anyone with genuine abilities .. already goes into that industry." Last year, I had the delightful experience of teaching a primarily non-majors intro to CS course. The top 10-15% of that class (of FOUR HUNDRED STUDENTS) could easily compete with our majors. Here's a bit of what they did, after one semester, with no prior programming experience: https://www.cs.cmu.edu/~112/gallery.html https://www.cs.cmu.edu/~112/gallery.html There were a lot of students in that class who could become first-class computer scientists if they chose to. And they probably won't - they have other things they want to do. But what a lot of them will do, now, is integrate programming into their careers as engineers, artists, scientists, and everything else, when it makes sense to do so. And they'll get a huge leg up on their competitors in doing so as computing continues to expand more widely into our digital and physical lives. Add to this the huge number of people who don't have the opportunity to learn to program in the first place. This is a very US-centric view, but our high schools, by and large, are absolutely garbage at teaching CS. There are some stand-out exceptions, but most of our high schools do a great job of convincing most students, particularly those not of the "geeky young white male" persuasion, to stay the hell away from CS. (I say this as a formerly young geeky white male who was actually convinced by his HS experience not to go into CS, until switching back into it late in college. I finished a biology degree in the meantime until I realized that CS was far more awesome than my abysmal high school experience had suggested.) The combination of deep domain-specific expertise with reasonable programming abilities is very powerful, because for the right problems, it acts as a huge force multiplier and/or eliminator-of-tedious-crap. Together with the fact that it's a useful mode of thinking, this is why we should be teaching more people to program.
- AndreyErmakov 10y agoYou are quite correct on all your points and I agree with you. I suppose I could have expressed my idea better. What I meant is that for people with a programming aptitude there are no barriers these days. Whether they want to jump directly into software engineering or pursue another field and use their knowledge of programming as an asset, for the both choices the road is open. There are tons of information freely available for those who wish to learn. If one wanted to get an official CS degree it's also easily arranged, university chairs of that specialization are under-filled. At least that is so in Europe. For some reason the locals prefer economic/legal/business degrees and engineering isn't terribly popular. Can't say anything about the situation in the US though.