6 ms·
As someone from a liberal arts background who is taking steps to change careers, it's comments like this that are making me want to go into computer engineering
by BoldBoldness 13y ago
As someone from a liberal arts background who is taking steps to change careers, it's comments like this that are making me want to go into computer engineering rather than computer science. It'll be harder, but as someone whose career suffered from the last recession I've become a bit more sensitive to bubbles and the growing size of the labor pool in CS. I fear that in the next decade being a programmer could become more akin to being a lawyer today.
I'm not trying to make an argument about whether what I say is true. I'm just expressing a few musings.
- erichmond 13y agoI do think web programming is going to be become commoditized in next 10 years or so. Don't get me wrong, the salaries will still be livable, but for the kind of websites the OP talks about, there's going to be more supply then demand. That said, I do think there will always be a need for people who are willing to solve tough problems using methods and technologies that may not be cool, but are effective.
- mattgreenrocks 13y agoGreat point. If you're specializing in webdev, it cannot hurt to look beyond and make contingency plans if this turns out to be true. You don't want to get laid off unexpectedly and find yourself technically lacking. What I mean by this: find a more specialized area and see if it's interesting. Could be mobile, machine learning, compilers, etc. Don't be scared of systems programming -- it may come back with a vengeance. FWIW, webdev has smelled of commoditization and 'cheap' devs for a little bit to me, and it's scary. Everyone gets screwed by this; especially as you get older.
- mahyarm 13y agoWhat kind of webdev are we talking about? Large backend services or a wordpress website? Or even the Ghost [1] blogging platform? By mobile, do you also include mobile web front ends then? Do you include Twitter & Facebook as part of that kind of commoditized developer? I'm an iOS developer and have been looking into webdev to spread out a bit. Possibly something like clojure for a backend and node.js for quick simple services. [1] http://ghost.org/features/ http://ghost.org/features/
- mattgreenrocks 13y agoGood question! I'm speaking mostly to the simple CRUD apps that startups often concern themselves with. Complex backend services will be fine. My heuristic is this: if a framework is giving you huge productivity advantages, there's nothing stopping someone from figuring out how to GUI-ify/sugarcoat the parts you write as a good disciple of this week's True Framework. After all, that's what VB did: made it easy for non-devs to make a Windows GUI with a little bit of code. It will happen to webdev, and it will happen to iOS (usepropeller.com). How do you counter this? Easy: specialize in something requiring hard-fought knowledge. It could be great chops in UX, or deep domain knowledge. But I use the word hard-fought intentionally: this is know-how that is not easily digestable from a blog post. Industry may require you to be skilled in certain frameworks, but it's not the same at all as having strong, general programming skills you can apply everywhere. Personally, I'm looking to Clojure for the infinite meta-programmability, and resulting brain-refactoring that ensues. It's about a lifetime of education, and always challenging yourself. That's the real payoff. Industry will run in circles, convincing itself it is innovating, while ignoring a lot of cool stuff done in the past. Dig into it, learn, and write about it.
- growthhack 13y agoAgreed, but I think it's already happening and will get even faster, possibly within the next 5 years. All my cousins in highschool are learning RoR / Python; millions of contractors overseas are picking up new languages besides PHP (granted, most of them still write terrible code). It has just gotten so easy to build basic CRUD apps that people need a hell lot more to call themselves developers.
- RogerL 13y agoYa, I lost the instruction manual to my crystal ball so I hate trying to predict things like this, but I don't see any moat that the US has that will stop the world from writing the simple CRUD apps. And we regularly get 'self taught' resumes coming through where people have tossed together some simple apps that they have sold. It's a pretty low barrier to entry when everyone owns a smart phone and the dev tools are free. Learn math. Learn physics. Learn some chemistry or biology. Be able to write digital signal processing code. Know linear algebra. Learn some NLP. Learn enough algorithms to write an efficient soldering path tool, or network router. Even there I am not sure of the moat; the number of searches for terms like "asymptotic complexity" are far higher in places like India and China than the US. But if you can reasonably say "if I leave it will take 3 normal people to replace me" you will have job security and the ability to command a high salary regardless of the economy. Secondarily, I think there is an untapped market for people that are actually able to architect software and lead teams. I don't mean writing StrategyFactoryAbstractVistorBuilderFactorySingletonFlyweight horror shows, but actually putting together a solution that is maintainable and extensible over time. The field seems very immature in this regard. Or someone that can just think clearly, put a plan together, and execute it, even just at a middling level, seems pretty rare. I don't know if that (project management) pays a lot, but I think skilled people are worth their weight in gold. It seems to attract people that don't have the technical chops, not because they chose a different education, but more that they tried to be technical and just weren't that smart. If you are smart, you will always have a job in that arena.
- deleted 13y ago[deleted]
- argonaut 13y agoUm... Do you actually understand the difference between "Computer Science" and "Computer Engineering?" You seem to imply that there is a difference in terms of rigor, which is untrue. The difference between each major depends case by case on each college, and most/many colleges only offer one or the other. A common, but hardly universal, difference is that CE might involve EE/hardware classes while CS might involves fewer such classes. I have never heard of an instance in which CS is less rigorous than CE at the same school.
- geebee 13y agoIf computer science interests you, feel free to take computer science. Seriously. At a reputable college (no, it doesn't have to be MIT, I just mean an academically serious school) you'll take calculus, linear algebra, differential equations, physics (maybe). You may need to take (or have the opportunity to take as electives that count to the degree) advanced courses in stochastic processes, mathematical optimization, numerical analysis, simulation design. You'll learn very interesting things about data structures and algorithms, graphs, pattern matching. You will write a compiler, and it will be hard as hell. If you are interested in computer engineering, well then, of course study that! But don't let the vacuousness of some of what masquerades as "tech" deter you from studying something so rigorous and fascinating. The applications are very broad. If you like this sort of thing, you can find something very meaningful that will interest you!