21 ms·
Ask HN: CS, still a good career in 3-5 years?
I am currently in an undergraduate university considered "elite" in US. CS is the most popular major. My friends have switched from finance & medicine to CS majors - for the money and because it's obviously a good idea to do so right now. All the worries my classmates have is how to get an internship at FAANG. Again not that they'll do interesting work (which is rarely the case), but for the resume item...
I've been coding for half my life, out of pure interest for the building things and never got into it for the money. CS career being obviously a good choice and every smart kid I know majoring in it, mostly for the cash, honestly makes me worried about the future of the field in terms of whether it'll still be a good career in the future. I think smart people will do good work, just for the wrong reasons ($) and this might impact the field negatively. In 5 years maybe things will still be okay, but if the trend continues for 10 years? Will CS become unsustainable hours like working in the quantitive funds or unsustainable competition and workload like in medicine, or both?
PG has said something along the lines of "if everyone thinks something is a good idea, it's probably a bad idea" and Peter Thiel's competition theory where profits get competed away if everyone's doing the same thing are two ideas I think most about.
What does HN think?
- navd 7y agoIt's still a great idea, and the fact that you have more experience and a real passion for it means that you'll most likely out compete your peers. The best piece of advice I can give is that at the end of the day, do what you feel is best for you personally and don't pay attention to what your peers are doing. The programming landscape is LARGE.
- landon32 7y agoWorking for FAANG might be lame, but you can find some interesting company to work at without a doubt. I just graduated, and my friends from CS are doing everything from engineering at exciting biotech companies, Product management, building their own startups, and of course many at FAANG :) It's a skillset that opens you up to a lot of possibilities
- tomklein 7y agoThat's something I thought about too, but the fact that most people that I know who are studying it, are producing really bad work like software development, for example, is something you have to have lots of practical experience to get good at it. Well, that's the situation in Germany however and people like me, who really enjoy developing software and bring innovative ideas are wanted much more than anyone completing their course.
- martinesko36 7y agoI totally see that but I think smart people will do good work, just for the wrong reasons ($) and this will impact the field negatively. In 5 years maybe things will still be okay, but if the trend continues for 10 years? Will CS become unsustainable hours like working in the quantitive funds or unsustainable competition and workload like in medicine, or both? Will everyone at Google be the same Ivy League student who's more concerned with their GPA and internships than actually learning?
- slimed 7y agoThat's already how it is at other "unicorns" like Uber and Lyft. I know from firsthand experience. Unbearable work environment. Constantly being sniped by your co-workers who are more interested in playing the game the accomplishing something of value.
- extrapickles 7y agoAnother issue is ethics. There is a critical mass needed of people saying no to prevent unethical software from being common. Right now there are multiple gold mines as software used to be more or less ethical/trustworthy, now people are busily trading that trust for $.
- agentultra 7y agoI've heard of people going from a bootcamp course straight into Google and optimizing 100% for the career path. They make embarrassingly more than I do, have been programming for a scant few years, and I couldn't care less. I've been programming for most of my life. I've poured hours into learning 6502, BASIC, 8086, C, C++, Perl, Python, Javascript, Common Lisp, Haskell... to say nothing of physics, linear algebra, geometry, graphics, logic, type theory, abstract algebra, category theory, information theory, databases, networking, compilers, operating systems, interactive theorem provers, distributed systems, etc. I've never even been to university or college and I've been doing this for nearly twenty years professionally. Do it because you like it, because it means something to you. Keep being you and doing what you think is important and useful.
- martinesko36 7y agoThat is some amazing experience you have that no bootcamp can ever hope to teach. Thanks!
- DoctorPenguin 7y agoHow can you not care for people working in the top tech while probably not even knowing half of what you have learned? Would you say the same thing when you would be another field of work; like medicine maybe?
- esotericn 7y agoI'm not the OP but generally I don't attach that much importance to my job. I'm very lucky to (both now and historically) have great colleagues working on interesting problems. But in terms of 'jealousy' for those who earn more? Quite the opposite. There are plenty of companies I'd rather top myself than work for.
- jlangemeier 7y agoI mean - honestly - most people that work in computers don't work for FAANG, or even a FAANG adjacent corporation. I like job stability (and with my health issues, job stability and good health benefits are always at the top of my priority list), so most of FAANG (and many start-ups) are lower on my priority list; I know I could almost double my income moving out of higher ed. but that comes with different costs and benefits. You're treating this like monetary value is the only motivator for people. Let's pick on medicine; a general practitioner consistently makes less money, but they tend to have greater, more regular contact with their patients, which may be a strong motivator for them over becoming a surgeon for more money. And to boot, the surgeon is more specialized, so they have simultaneously learned less than the Gen Practitioner, but more specificity within their selected specialization. This is similar to boot camps, that provide a very narrow skillset that give someone the best chance of getting hired into that very narrow position type; where as, someone like the OP and I are happy with our broader knowledge that gives us different benefits. And probably most importantly, what do I care that someone else has optimized their job path for monetary gain. I could assign 5 minute increments to worrying about each person and still not make it through all the idiots that are employed in the tech industry in my lifetime.
- lordnacho 7y agoThere may be loads of people signing up, but I bet you've also seen a lot of people dropping out. Once you graduate, you'll see a lot of kids unable to find anything. Maybe not so many from your elite school, but for sure many people study CS without "getting it". Or liking it. Ultimately, you are gaining skills that will benefit you whatever you get up to next. Just the simple fact that you know a bit about how computers work will put you ahead in just about any white collar job, since pretty much all those jobs have people staring at a computer all day. This is a lot more than can be said for most majors. If you do decide to be a coder, there's lots of stuff to do. There's no walk of life that's far away from software these days. If you're there for sheer joy, my guess is you'll find something you like and where someone values your contribution. I wouldn't worry so much about FAANG internships, the exagerrated focus on that seems to be something that's bled from finance internships, where it is indeed important.
- oaiey 7y agoComputer Science teaches you to think on abstract stuff. That enables you to do so many other thing (e.g. business process planning, organization planning, etc.). You see things differently (and most likely you already do). In that way it is similar to an MBA degree. And if you wonder whether you make the big paycheck? Do not do that to yourself. Move somewhere where that is not important (and find the right partner for it). Maybe fellow posters have even better examples than me.
- mind-blight 7y agoThe supply of jobs is still way above the available workers. A lot of people conflate coding jobs with valley, FAANG, or startup jobs. The reality is that every industry, institution, and every company is in the process of migrating their business practices and operations to be digital. I think coding is going to become more common place in every business, including the small ones. Software development may eventually be seen as the new factory work - a blue collar job that pays the bills and helps you support a family. For example, most government forms require you to fill out physical paper and send it in. There are thousands of agencies across the US, each with hundreds of forms for different processes. Just upgrading those to be more accessible and less error prone is going to take over a decade and thousands of hours of developer time. It's not glamorous work, but it will help a lot of people
- crimsonalucard 7y agoYes but anecdotally I think the supply is accelerating faster than demand.
- omarhaneef 7y agoCS isn't a career. CS is part of all careers. I imagine when cuneiform was first invented, there was a group of people who were the first writers and they probably worried that it would get saturated. How can we all be writers? There are only so many things to write down: recipes, shopping lists, the kings desires, and heroic tales. What are the rest of us going to do? But of course writing is just a way of expressing and recording. Writing becomes an essential skill for law (and law itself is hundreds of professions), or science, or "business" (which is a catch all). Even within CS, I don't consider "machine learning", for instance, to be a single field. Whether you are using machine learning to apply astrology to the financial markets, or using it to diagnose diseases, makes a huge difference to your career. CS is a skill, but your career will involve other things: a specific set of problems, a specific set of attempted solutions, a network of people who might help you, brands you will want to be associated with, and half a dozen other things.
- giancarlostoro 7y ago> CS isn't a career. CS is part of all careers. This right here. I was in awe when I realized that software engineering affects all industries. Even farmers, it might not be necessary, but it can make a huge difference. Also I too have been coding for a long time because I love programming. The way I see it, if I ever tire of it, I can switch careers. I'd still code regardless of who pays me to do what.
- randomdata 7y ago> Even farmers, it might not be necessary, but it can make a huge difference. As a software developer by day, farmer by night, I'm not sure there is much overlap. Some of the problem solving skills I learned on the farm have made me a better programmer, I expect, but I don't see much advantage in building software for my farm. Anything you can dream of is available commercially at a fraction of the cost it would take to build it yourself. As the saying goes, technology is developed in the military, adopted by agriculture, and then exposed to the rest of the world. That said, the story is quite different for my new side venture in a consumer market, however. I could easily turn development into a full time job in that industry. There is a lot lacking in what already exists.
- osipov 7y agoYour thinking about going against the crowd is exactly right. Pivot either into a niche in CS, e.g. machine learning, or try an emerging engineering field like robotics. Alternatively, consider something like genomics.
- vichu 7y agoSo would you stop if it were a “bad” career choice? That seems just as disingenuous as you’re insinuating your colleagues to be in switching to CS. And anecdotally, having went to CMU, everyone I knew switched to CS or moved CS adjacent - and many of those that switched are enjoying it to the fullest - not as FAANG engineers but many as CS PhDs. In undergrad, the crowning achievements you can get are mainly the internships, especially at FAANG companies. Don’t worry about it too much. If it really is about the code and the work, just keep doing what you like doing. Computer science isn’t going to go away any time soon, and if it is, academics will be the last to let it go.
- toast0 7y agoPeople who are in CS for the money are probably not going to stay in CS long term. There's plenty of ways out for people who don't enjoy the work (management of people or products, technical writing, possibly design). Certainly some people come for the money and stay for the experience. My best advice for internship applications is try to have some interesting project on your resume --- preferably one of the things you've been working on outside of class, but mention interesting class projects if you can speak to the whole thing. And get the interview basics down -- clean clothes, appropriate clothes (ask recruiter/scheduler what people wear to work and match the fancier end), arrive 10-15 minutes early, try to be relaxed, etc. For video or phone interviews, if you can find a quiet place with no distractions, that's best. It helps to do practice interviews, which could be for local companies you might rather not interview. You didn't ask for interview advice, but I just mention it because I've interviewed some intern candidates, and it's always unfortunate when the candidate seems very unprepared or having a bad day, but may have been a good fit.
- martinesko36 7y agoI'm almost certain I'd never do an internship. It's not a way to optimize for learning and personal growth. And definitely not a whiteboard generic software engineering. Lots of things about internships in the tech field put me off. If it is a startup, I have had a startup, high chance it's a shitshow. FAANG, don't think so. Also what meaningful work can you really get done in 3 months? I feel like internships are a good way to learn if you haven't already been coding in the real world or on the subject matter and a good resume item, but if you have a good resume already and coding experience there are much better alternatives.
- tashoecraft 7y agoIt’s partly about working in a professional environment. You can get a 4 year degree and never use git, never work on a single codebase that has existed long before you came and will exist long after you leave. There is so much experience from just working in a professional setting that can greatly boost your resume. We take caution hiring people without this experience as it can be impossible to teach this to someone when teaching them tech skills is easier.
- slimed 7y agoIt's really not a career path you should get into if you're just in it for the money. Your friends will probably wash out within 3-5 years after they figure out they're not actually interested in software engineering.
- martinesko36 7y agoI think you underestimate what people will put themselves through to score a high-paying, high-status prestigious job (see: med school)
- slimed 7y agoThe thing about software engineering is that it doesn't require expensive post graduate education like med school. The barrier to entry is much lower. Many status seekers will eventually realize a few things about software: 1. Wait, I really have to look at this screen most of the day? 2. The pay check is nice, but the job itself isn't high status. I'm treated like a grunt 3. I have my whole life ahead of me, plenty of income, and a degree from a top school. I can leap frog to another position in the company, or go back and get my masters.
- kharak 7y agoDisagree. I don't care about CS at all. Still like the work, but wouldn't do it if it weren't for the money. Am I good at SE? No. But I went from terrible to average in a period of 4 years and am now earning 6 figures. All without side projects or unpaid learning.
- slimed 7y agoIf you've really not put in any time for independent study and have only 4 years experience on the job, you are not "average". You are below average, and apparently unaware of it. Not to mention a cancer on the industry. It's my job to make sure people like you don't pass the phone interview.
- kharak 7y ago
- kstrauser 7y agoI think since the 90s it was known that CS offered a good, well-paying career path. My classes were packed with fellow students who were in it for the money. Today, I don't know a single one of them who haven't moved into other fields (albeit often related fields, like managing software engineers). If you love software, you'll always have a job, however many other people enter the field. You'll be the one eager to learn new things at work, memorizing documentation, and earning a rep as the one who sees the big picture, not because you're chasing a career but because you love doing those things. That will lift you to the top of you peer group.
- ryandvm 7y agoI started playing with computers in middle school as a hobby and it basically morphed into a career. I've been in the industry since the 90s, well before everyone realized what a lucrative career it can be. And I saw the same thing - the field became flooded with people who were only chasing the money. My advice to you: don't worry about it. Do not underestimate the competitive advantage you have if you are passionate about software development. The people that are chasing the money clock out at 5. There's nothing wrong with that, but they aren't trying to teach themselves Haskell on a Friday night just for fun. You will work harder than those people, not because you're scared, but because you love the work. And that experience will lead to career success. It doesn't happen overnight, but skilled and passionate people do bubble up on the food chain (assholes do too, but such is life).
- martinesko36 7y agoWhat I see is a subset of people who chase the money who are actually very smart and willing to work hard for it in the long run - think those high schoolers who had to be type A students to get into Ivy League with 4.0 GPA and SAT scores so perfect they still put it on their resume.
- analyst74 7y agoType As don't tend to get into engineering, and even if they do, they'll quickly realize it doesn't bring them as much status, influence or whatever they're seeking as they thought. Very few companies are engineering driven, some are product driven, some a finance driven, some are sales driven, and the respective department will have more clout than engineering.
- finolex1 7y agoIt's not just people looking only for money that are jumping into the field. I know of several classmates who started off as math/physics/economics majors, took a couple of CS classes because they heard "everyone needs to know programming", ended up liking it and are now CS majors. Even if a majority of new entrants to the field are in it only for money, there's still a large proportion who truly enjoy it as well.
- akhilcacharya 7y agoJust because you may be out of touch because of your elite circumstances doesn't make it a bad career. Getting a FAANG internship is something most students can't (or don't, for whatever reason) do.
- Pandabob 7y agoIt's still a very solid career choice and probably will be for the foreseeable future. AFAIK, Thiel has a thesis about how most innovation in the past 50 years has come in the world of bits and not atoms. This seems unlikely to change in the near term as half of global population isn't on the internet and there are still productivity gains to be made in many industries by digitizing processes or rewriting legacy codebases. If you're still an undergrad you could also think about some of the adjacent fields where having CS knowledge is a benefit. These include (applied) math, physics, economics and biology. I majored in physics, but if I could do it all again I'd probably study equal amounts of math, economics and CS.
- poulsbohemian 7y agoCS is a fantastic undergrad path of study because it is fundamentally a degree in systematic thinking and problem solving. So, regardless of where you go in life, you'll have acquired useful ways to categorize and approach problems. Otherwise, rather than worrying about whether you are in the right major, think in terms of "what kind of problems do I want to work on in life?" If you can answer that, you'll be on the right path. And, if you think the kinds of problems you want to work on don't involve technology or aren't solved by technology, then either switch majors or add a second major that augments the skills you need for the problems you want to work on.
- jl2718 7y agoI was a kid programmer and it sounded crazy to spend college learning to code. I studied anything and everything else. More interesting, but not a good resume-building strategy.
- metanoia 7y agoModified for myself: I was a kid programmer and my parents thought it sounded crazy to spend college learning to code. I studied pre-med but didn't go to med school. This was in 1998 for me, and at that age I didn't know how to push back on my parents. Good 'ol Asian parents didn't know anything out of the big 3 (Doctor, Lawyer, [Licensed] Engineer). Still going to therapy for that. I am now in a software engineering job as a TL but I'd say I'm about 8 years behind in my SWE career, after soujourns in a microbiology lab, food manufacturing, retail inventory planning, and then product management in retail, and then to engineering. To be fair, this might still be the case as the dot-com implosion happened just before I graduated from college. I have amazing, varied experience as both an IC and people manager, but I don't have the ticket known as a CS degree. I'm thankful for the path I've taken but eventually I will have to make a jump to a "real" tech company, and I can't say that I don't have some apprehension about my lack of formal CS training, as well as age.
- torgian 7y agoSimilar boat here; not Asian, but I was in the military, and got into CS when I was 30; got a remote gig at 36. I get paid far, far less than others, but I also happen to live in a low cost of living country, so it (kinda?) evens out. I would like to get paid more money, and I think I could look for higher paying work at this point. However,I actually do like the company I work for, and it's fairly low stress. I also have enough time to work side projects and start on my Masters (in Geoinformatics, not CS) And yeah. I feel you on the age apprehension. I think it would be much harder for me to find a software gig back in the States now just due to my age.
- metanoia 7y agoLike other feedback in this thread has already covered, the upside is that coding is applicable anywhere, and in fact, I think that outside of our little tech-bubble, it has greater impact as fewer people have those skills. Even a small amount of tech applied to the right place can have huge value. It's just that the Asian kid in me is thinking I need FAANG on my resume even for a short time to get some street cred. Like you, I do like my job, the comp is OK, but eventually all things come to a end.
- thrower123 7y agoCS is probably one of the best fields to be in if you like doing it and you don't want to shackle yourself to the law/medicine/finance treadmills, with the expensive extra years of schooling and insane hours for the first years. There's probably not a better path to a comfortable middle-class lifestyle. Just stay out of the Bay area; there's tons of jobs in second and third tier cities with reasonable cost-of-living that will pay you a hundred grand after a few years.
- pcurve 7y agoHaving taken courses in both finance and comp sci while attending one of them elite schools they are two very different group of people. Even if they start at the same line their career path will probably divulge down the road. I would focus more on what specialization you want to pursue rather than worry about CS being viable. After a few years your degree begins to matter a whole lot less. You have a leg up.
- rb808 7y agoIts one reason I avoid doing too much front end work. There are so many bootcamp people now and most are good enough if they're motivated. I don't see how these high salaries can last.
- anon9001 7y agoIt entirely depends what you're trying to do. If you want to make a bunch of money, it's unfortunately more about politics and luck than merit. If you're trying to maximize income, you should focus on understanding finance/business and building soft skills. You're probably over the threshold of how much you need to know about computers. Maybe get some training on how to work better with others, or how to negotiate effectively. In other words, soft skills are going to be the value you have over your peers that have been cramming CS for the last 4 years. > I've been coding for half my life, out of pure interest for the building things and never got into it for the money. The reality of working in tech is probably similar to what you've already experienced: Lots of people working with computers, but most know less about what's going on than you do. I was kind of shocked by this when I started working, but now I realize it's because most people don't need to care about how their tools work to do their job.
- shantly 7y ago> If you're trying to maximize income, you should focus on understanding finance/business and building soft skills. You're probably over the threshold of how much you need to know about computers. Maybe get some training on how to work better with others, or how to negotiate effectively. In other words, soft skills are going to be the value you have over your peers that have been cramming CS for the last 4 years. This. Outside of FAANG(-alikes) and some finance software work, the real money remains on the business side. Managing others. Presenting & selling ideas. Communicating. Knowing some computer shit is a big bonus but isn't what'll get you the big bucks. It'll usually get you the medium bucks, though, before topping out, which ain't the worst. You'll also need that to go independent (start a business, start a consultancy, high-end freelancing) which is a third way (pure Tech in a handful of businesses; tech + people skills anywhere else; be your own employer) to make real money doing this stuff.
- anon9001 7y ago> It'll usually get you the medium bucks, though, before topping out, which ain't the worst. Can confirm. I make medium bucks. The way the economics work, it made more sense for me to make medium bucks remotely in a cheap CoL area than it did to try and get big bucks in a major city.
- ladybro 7y agoI went into CS without ever having programmed before and consider it the best decision I've ever made. As others have said, CS gives you a framework for analysis and problem solving. That framework can be applied to almost any other problem in life.
- meritt 7y ago> I've been coding for half my life If you already know programming and you're confident in your ability to continue self-teaching, I'd suggest you actually do a different route. MBA, Finance, Accounting, Medicine, Chemistry, Physics, etc. e.g. A good programmer who has a strong understanding of finance will do significantly better in FinTech than the programmer who has spent 4 years practicing CS theory. If you want to make a real difference, learn a specific field and then use your technical skills to help them solve problems in ways they never imagined possible.
- jlangemeier 7y agoI can't find the article now, but that was actually a suggestion I really liked; don't learn CS in college, learn History, learn Math, learn anything else, because someone who can program are about a dime a dozen; but a historian that can also program is unique. The domain knowledge is so much more important than the tool used to explore it - and having both is a golden ticket.
- ben_jones 7y agoA CS degree gives you a strong ability to automate work using software. If applied correctly it will be be a very lucrative career for a very long time.
- throwawaysea 7y agoPersonally I think that this entire sector is due for a reduction. Companies like Facebook or Amazon or Google or just soaking up employees to work on things that don’t really matter. Once they figure that out and manage more efficiently, there will be layoffs followed by the inevitable commodification of CS talent. This field isn’t special, it’s like any other field that went through a boom phase and a later regression to an equilibrium point. Soon everyone in every role/industry will have rudimentary programming skills and use them on top of safe platforms that don’t needtremendous specialization. It’ll stop being a differentiator and it’ll be more like a basic qualification.
- standardUser 7y ago"Soon everyone in every role/industry will have rudimentary programming skills" I'm completely baffled as to where all of today's workers in their 20's, 30's and 40's, almost none of whom have any programming skills whatsoever, are going to learn programming skills in this "soon" timeframe.
- uwuhn 7y agoAmericans won't, but immigrants will.
- torgian 7y agoImmigrants who study CS, yes. I live and been to countries where these immigrants come from. I don't think Americans would have anything to worry about if they stay competitive and take time to specialize. Your regular coding guys might get burnt after the next recession though.
- uwuhn 7y agoIran, China, and CIS countries are the ones I have in mind. Which ones are you thinking of?
- throwawaysea 7y ago
- closeparen 7y agoFor an assembly line worker who can serviceably crank out features from JIRA tickets in $framework_of_the_month, maybe not. But that's not what CS education is for. For someone who's genuinely, deeply good at it, who can think and debug and design from the network consensus protocol to the CPU cache line, there will always be work. Even within hot companies populated from elite schools, these people are few and far between.
- thorwasdfasdf 7y agoIf you're from an elite university, then you'll have a good chance of getting into a FANG. A SE at a FANG will make triple as much as a SE for most other companies, so do try your best to get into a FANG. If you're smart, You might be able to earn 400K or more in just 5 to 8 years. However, if you don't get into a FANG, it's not the end of the world. You might still be able to find another job at another software company if you're lucky. As the years go on, it'll be harder to get job due to the rapidly increasing supply of engineers. The US has not hit peak SE demand yet, so don't worry, those days are still far away from now. Oh and don't worry about wrong reasons. I know I'll get downvoted for this because it's politically incorrect, but: Working for $$ is the primary reason for work. If you didn't need to make money, then you don't need a job, you could just program on your own time whatever you wanted and have a hell of alot more fun than working as a SE.
- uwuhn 7y ago>However, if you don't get into a FANG, it's not the end of the world. You might still be able to find another job at another software company if you're lucky. As the years go on, it'll be harder to get job due to the rapidly increasing supply of engineers. And the great thing about FAANG is that it's only easier to get in as you gain more experience. You're not screwed if you don't get in as a new grad or junior.
- opportune 7y agoKind of, but if you want to have the highest comp at a certain time after graduating, the sooner you join FAANG (or similar places like Airbnb) the better. Because if you join at 10 YOE you will probably be downleveled compared to most people who started out there. Not that it’s a huge deal, but just something to think about.
- bcrosby95 7y agoI don't know about other places, but Netflix is pretty good at bumping your pay rapidly. A friend of mine that was working in education went to Netflix. He started at around 180k and hit 350k by a year then over 500k just another year later. After a total of only about 5 years he's making close to 1mil.
- nknealk 7y agoI'll throw this advice in because it's served me well in my career. Somewhat related. 1) You can be a big fish in a big pond with other big fish (eg FAANG). Or you can be a big fish in a pond with small fish (think like a regional grocery chain). Try both to see which makes you happier. There are tradeoffs in both cases. 2) Your boss and the people you work with (ie your local context) is often a much stronger determinant of your happiness than what company banner you're under or your specific title. 3) Try looking at things outside of tech/engineering orgs for places where tech applications would create value. A good friend works in supply chain optimization with a CS background. He tells me that basic automation and data analysis on CSVs larger than what Excel can open is seen as wizardry. He's in great standing in the org and is seen as invaluable.
- rezgi 7y ago> Try looking at things outside of tech/engineering orgs for places where tech applications would create value. A good friend works in supply chain optimization with a CS background. He tells me that basic automation and data analysis on CSVs larger than what Excel can open is seen as wizardry. He's in great standing in the org and is seen as invaluable. Where and how do you find these kind of jobs? Anyone I know who works in this kind of non-tech company hates it because it's a cost center and they get all the negative side of our profession (no budget for anything, outdated/poor tools, unreasonable expectations and deadlines, and no respect from the rest of the org overall)
- helen___keller 7y agoIn 3-5 years? Probably In 10-20 years? Maybe In 50-100 years? Probably not There's a lot of investment opportunity right now so the industry is white hot. When new investments dry up, there's still a lot of profitable companies with big moats, not to mention smaller players that have wanted more engineers but have been priced out of it, so things will be okay but maybe without salaries as insane. In the long run there will always be some jobs but things will probably slow down a lot as big players will want to collect their rent and cut costs (read: jobs) to increase stock values.
- czechr 7y ago>In 50-100 years? Probably not can you dilate more please? is it because the industry saturation ?
- 0kl 7y agoCS is one more tool in your box; you can make it your only tool and even build a good career with that one tool, but I’d recommend looking at your education as a quest for more tools, context, and mental models for building your career, and not as a training program. Side note: CS is the second highest ROI I’ve had for tools. The highest is clear communication due to its ability to be such a multiplier on everything else I do.
- _bxg1 7y agoThere's definitely been a huge influx of people jumping on the CS train for the money recently. But the thing is, from what I've heard, there's still a huge gap between how may programmers are needed and how many there are. Now, this state of affairs won't last forever. Eventually the market will level out. But I would guess we have at least another 5-10 years until that happens, and when it does happen, it won't mean the field crashes. It'll just settle into a more realistic state. Jobs that are "easy if you can understand code at all" will be the hardest hit. You might not get paid 6 figures to throw together simple web pages any more. Jobs that are intrinsically hard will be fine. So my plan is to stay ahead of the tide. To push myself, get good at my craft, and get into a sub-field that's hard instead of resting on the current boom. Then, when things shift, hopefully my value will speak for itself. In summary: yes, things right now are too good to be true. But that doesn't mean the whole field is a bubble. CS is very necessary in our world (and increasingly so) and there are lots of very hard problems out there to solve, it's just that there are even more easy problems. Edit: Here's a source I found on Google (I don't know the source firsthand, but it seems credible enough at first glance) https://www.daxx.com/blog/development-trends/software-engineer-shortage-us-2019 https://www.daxx.com/blog/development-trends/software-engine...
- swiley 7y agoIf that were really the case people would care about wether you can program or not rather than if you have a degree which is the primary thing that most companies filter candidates on.
- torgian 7y agoI think this is mostly true. People are still going to want custom pages, etc, but that's why _now_ is the time to "git gud" at building stuff. If you become a wiz, you'll be on the list of consultants for Company X to hire. And as for everything else... lots of industries need good problem solvers that are in the CS field. I'm going to be getting a Masters in Geoinformatics because it interests me, and it just happens to be a more niche field than others. I think this will help me in the long term as well.
- mtnGoat 7y agoIf i was going to get a degree. Id get a major in something else and a minor in CS. most of the engineers i know that are making very good pay, are an expert in something else as well. BUT only get a degree in things that interest you, a CS degree for someone not interested in computers, would make one horrible career.
- jlangemeier 7y agoCS is already in the realm of unsustainable hours: crunch times that last for months; "free time projects" to get hired; everyone encouraged to have side hustle start ups, freelancing, or consulting work. And this is all doubly so for anything FAANG or FAANG adjacent. As for unsustainable competition like medicine, what do you think the needlessly ridiculous hurdles are for interviews (whiteboarding, regurgitating interview specific algorithmic questions that most people don't need to deal with outside of their CS courses, in vogue requirements that don't necessarily match job duties, etc). And, medicine is a bad comparison, due to it being in the realm of forced scarcity; enrollment caps for medical practitioner programs create a bottleneck in the pipeline that hurts the system (so those only motivated by money don't even make it through regularly - you at least need the study skills and interest to push through the hours needed to get past the various gates in the programs). Just from my experience: Dev Ops for most companies doesn't need K8 clusters, running Docker instances, on your cloud host of choice, autobuilding through a cloud CI that has autohooks into your company's private GIT repos; no, they just need something, __anything__ that will provide them good enough uptime to keep their current customers and to gain new ones; and sometimes all they need is someone with a bit of domain knowledge that has strong computer skills so that their marketing department isn't also their IT department. Data Science for most companies isn't the newest deep learning algorithms but simple ANOVA, linear regressions, and decision trees to gain basic insights that they haven't had the resources to explore yet; and most of the time that's going to be on Finance, Accounting, and HR data (since your intake and output in dollars is the big quantifier for most decisions). Lastly, both PG and Thiel's thesis statements in these blogs are more about leading edge creators, not Bob the junior software engineer at Widget Corp; and doesn't apply to even most of the people on HN (no matter how much each of us thinks it does).
- davidajackson 7y ago>> "free time projects" to get hired these are the companies to avoid in my experience
- jlangemeier 7y agoYup mine too, but that rules out a lot of FAANG adjacent companies and start-ups which isn't tenable for some peoples' interests. I gave up on that chase for stability, weekends and holidays actually off, no on call schedule, and long term benefits.
- faissaloo 7y agoI don't think software engineering is still going to be a great career in 5 years but it might be alright, although I don't think it'll matter in 10 years. I think it's important to be a generalist, don't put your eggs in one basket.
- d--b 7y ago> Will CS become unsustainable hours like working in the quantitive funds Mmh no, people in quantitative funds do not work long hours. Much less than SV tech
- pnathan 7y agoI think it'll be pretty good career until some kind of tipping point is hit. My suggestion is to become excellent at CS, get an internship, then specialize in a fascinating area of forward-looking work (don't study COBOL. :) ). also if you love coding, keep on keeping on. if you wind up making average income, that's ok.
- timothycrosley 7y agoIt's funny you say this. I've always had a suspicision that every budding programmer I encounter studies forward looking things, and if a young person did study something ancient like COBOL, they'd probably have great job security and stand out for the few companies that need that kind of developer.
- cr0sh 7y agoSpeaking of COBOL - the next "big thing" of that nature is likely going to be Visual Basic 6. It's an albatross around Microsoft's neck, but every time they update Windows, they keep around the runtime DLLs - because so many businesses have software written internally and otherwise that can't migrate to something else. If you know VB6 - and you are confident in migration to another platform, or willing to maintain old code (maybe while migrating) - you'll likely have work long into the future. The most likely migration path would be from VB6 to VB.NET or to C# - staying on the Windows platform. Another option would be migration to GAMBAS or Mono (aka .NET for *nix). Those feeling adventurous might try Python with QT, or some other GUI framework; at some point, it might be better just to examine and understand the core logic and flow - then convert it all over to a web-accessible system (of whatever choice you want). I imagine that in time we'll see some kind of VB6 to WASM compiler or something, if someone hasn't already taken a stab at it. What we won't see, though, is Microsoft open-sourcing VB6 or anything like that. They've said they want to, but due to the various licenses used in the development of the language (and components) - it's virtually impossible for them to do it. I coded in VB (3-6) for well over a decade, but it's been forever since I last touched it. That said, I'll always have a soft-spot for BASIC (having grown up on a version of Microsoft BASIC on the TRS-80 Color Computer line) - so I could probably pick up where I left off once I rebooted the VS compiler/IDE, without too much trouble. I expect that might be where my career turns to as I get older (currently 46 and working in SPA Javascript/NodeJS apps).
- gniv 7y agoI’ve been thinking about this for a while. My view is that the software-is-eating-the-world theory is essentially correct and so demand will exceed supply indefinitely. That of course doesn’t mean the jobs will be as well paying as they are now, but I am not worried about lack of opportunities, barring a major recession.
- humanrebar 7y agoAnd software skills will still be handy in the next career if worse comes to worse. There is great job security in being able to spreadsheet, for instance.
- dasil003 7y agoIt's definitely the case that the social climbers, lifelong hoop-jumpers, and paint-by-numbers careerists are flooding into tech. Who can blame them? And these type of people definitely dilute the engineering talent pool. As annoying as this may be to those of us who came from more traditional hackerish backgrounds, this will likely self-correct at the next major recession. In the meantime don't throw the baby out with the bathwater. The bottom line is technical knowledge is power in today's world. You can take CS and pivot into any career you want, and if all you want to do is build cool stuff, well, it's never been easier!
- mesozoic 7y agoDon't do it for the money.
- TallGuyShort 7y agoI'm worse-than-average on predicting future trends, but for what it's worth I had the exact same thoughts 17 or 18 years ago and here I am, using a computer science education for things that I think are positive for the world and that pay me very well.
- antoniuschan99 7y agoThe prediction that everyone should learn to code is basically happening more and more now. I work at a bank and the business guys are finally coding. They’re using VS Code, Python, Jupyter Notebooks, React, and JS. I doubt they’ll get into Hadoop Spark or Java. Their depth of knowledge will never be as deep as a CS major, but it’s a good pause to think of a field to specialize in where you will be utilizing CS to solve things.
- vonseel 7y agoI'd like to know why business guys are writing React (or even JS). I can imagine why they might write Python and use Jupyter Notebooks, but React seems a little further out there, maybe they are prototyping some in-house applications or writing their own little apps for some small use case?
- antoniuschan99 7y agoYes, it’s a PoC. They want a UI for the calculations they wrote in Python. Eventually the devs will take over. But the fact they’re even using React and NodeJS now is something to think about. But also it’s more of the technically minded business people who will have the initiative to do this.
- mike128 7y agoDo what you love - as cliche as that. The best career is the one that gives you joy and fulfillment. If CS is what floats your boat then it’s the right choice for you. Go for career that pays much more but you must drag yourself from bed to go to the office every morning and you are set up for a life of misery - no matter how much money you make.
- enraged_camel 7y ago>> Do what you love - as cliche as that. >> The best career is the one that gives you joy and fulfillment. What? No. This is actively harmful advice.
- napsterbr 7y agoGenuine curiosity: why is it considered bad/harmful advice?
- tropo 7y agoUsually it leads to unemployment. People want to do the same things as each other, but we can't all be football stars. We can't even all teach kindergarten or nursery school, and the low pay of such jobs is the natural result of many people wanting those jobs. People enjoy getting BA degrees in psychology, then discover that they do not enjoy paying the student loans while working as unskilled labor.
- nineteen999 7y agoWait until you see what some 3D artists work for. Due to the fierce competition, many of them consider themselves lucky just to be working in their field of choice, and getting paid a minimal wage is just an added bonus.
- war1025 7y agoIt's only harmful advice when you consider all possible professions. If you limit the search space to fields where you will be able to earn a living, it's not half bad advice.
- nfRfqX5n 7y agohiring good talent is still extremely tough. i haven't seen the skill level in new hires get much better over the past 3-5 years. we get recruitment companies asking for $60/hr salary on people who can't even write a simple function in an interview
- Bob1234567 7y agoDemand exceeds supply of cognitive ability. This job requires well above average intelligence and there always will be a relatively limited pool to select from. I would guess the average intelligence/competence of developers has decreased over the last 10 years.
- commandlinefan 7y agoI’ve been thinking about that a lot myself for a few years now, since my 16-year-old son is talking about majoring in CS when he gets into college in a couple of years - he’s even optimizing his high school courses to maximize his chances of getting into a good program in a good school. Having worked as a programmer now for nearly 30 years, I see programming devolving as a career more and more every year: now we have open offices, scrum (i.e. micromanaging project managers), unpaid overtime, constant downward pressure from foreign competition and of course, nothing resembling job security: the older/more experienced you are, the _harder_ it is to find a job, which is apparently unique to programming. On the other hand, I don’t know what else to tell him to do - it doesn’t seem like there’s much else out there.
- wonderwonder 7y agoAs blue collar jobs vanish, programming is becoming the new manufacturing. Oftentimes that unfortunately involves a focus less on elegant design and more on a simple closing of x number of tickets. We have developed our own production pipeline where x number of widgets have to be completed each day. With that said, the pay is generally decent but if you have not made it to a Sr. level job by your 40's, it can be tough. Programming also has the unique benefit of allowing you the freedom to build your own business with almost zero capital. Even if that business only earns you $500 a month, nothing is stopping you from building 5 more. Complicating that though is very often its hard to muster energy after working 11 hour days 6 days a week depending on the job.
- malvosenior 7y agoIt's pretty much always been that way though. Death March was written 20 years ago: https://www.amazon.com/Death-March-Developers-Surviving-Impossible/dp/0130146595 https://www.amazon.com/Death-March-Developers-Surviving-Impo... I'd say the demand for programmers is higher than ever and pay is definitely higher overall. 20 years ago $150k was a good salary for a programmer, now it's more like $350k.
- heartbreak 7y ago> 20 years ago $150k was a good salary for a programmer, now it's more like $350k. That’s $50k and $150k for those of us who don’t live in SV.
- didip 7y agoOf course! It is the best bang for the bucks when considering student loans.
- saalweachter 7y agoOne of the hardest things in life is figuring out what you want; that can be as hard as getting it, sometimes. As it pertains to programming as a career, it's important to understand whether you are looking for a job or a calling. Do you want to work to live, or live to work? Do you want to make decent money without becoming consumed by it, or do you want to do something for a living that you also find deeply fulfilling?
- bdcravens 7y agoMy take: in the late 90s/early 2000s, we saw a lot of the same. The good times: the passionate rose above the income-chasers because there was a lot of mediocrity The bad times: So many people washed out and probably haven't come back. The passionate had less competition. The anti-fragility of it all: When the economy turns bad, companies look to software to optimize costs. (not exactly the same thing, but I was hired on as a contractor for a logistics company while they were in the middle of Chapter 13)
- microtherion 7y ago> in the late 90s/early 2000s, we saw a lot of the same. And I saw a lot of the same in the mid 80s, when I started in college. I remember talking to one of my classmates, who originally wanted to be a Phys. Ed. teacher, contracted a back injury, and decided that there was good money in CS. If you're passionate about CS and dedicated to acquiring and maintaining skills, I think there will be a good career in it for a long time. Out of curiosity, what would have been your plan B? Off the top of my head, I can't think of any profession that would obviously guarantee more long term stability.
- bdcravens 7y agoI would have done something in business, in accounting or the like.
- microtherion 7y agoSounds pretty solid to me, but (a) do you enjoy accounting? (b) that may be a job I could see as potentially vulnerable to AI.
- bdcravens 7y agoI actually did. Something about the balancing of double entry accounting was oddly satisfying to me. While I agree much of it can be automated away, it seems there's no shortage of companies that still struggle with profit/loss and balance sheets. I also remember really enjoying business statistics. (I was a pretty terrible college student with regard to discipline - both biz stats and accounting were rare courses that held my interest, as well as being classes where others seemed to struggle while I did very well)
- rconti 7y ago3-5 years is an incredibly short horizon. I got an Information Systems major just after the .com crash. I did it because I liked it. The major had gone from 100+ to just 8 in my graduating class. If it's not obvious, the industry has recovered since then.
- patorjk 7y ago> honestly makes me worried about the future of the field in terms of whether it'll still be a good career in the future. I had the same thoughts back in the late 90's and early 00's. Everytime I told someone I was interested in CS, they thought it was because of the money. While working on the major many people told me my job was going to go overseas and that the future was in managing developers. In fact, during my first internship, my boss thought that way and said in the future programming would be done by low paid individuals overseas or that programs would be generated by computers from flow diagrams (which she liked creating). Things turned out differently and the field has grown and only become more lucrative. I only see the number of jobs for CS majors growing, and I actually wonder if there will be enough good programmers to fill them. Not everyone can write code, and I still run into developers who can barely code. If you're good at coding, you can go far. Additionally, I really enjoy programming. It's fun and rewarding to solve problems and to build things that people use. If you're good at coding, I wouldn't worry about the future, I see it being very bright.
- phkahler 7y ago>> While working on the major many people told me my job was going to go overseas and that the future was in managing developers. I had a friend in the 90s tell me the entire workforce in the US was shifting to management. Everything will be outsourced and people here will just manage everything. This was an MIS major drinking the business school koolaid. I thought it was rather arrogant to think China or India could build anything under the sun but wouldn't be able to manage people and run a business... 20 years later many the companies that followed such thinking are gone or having problems.
- Gibbon1 7y agoI'm pretty sure the current spat with China is due to the Chinese gaining traction in a) Branded products. b) Product design. c) Distribution. d) Finance.
- iliketosleep 7y agoNo. It's China's market protectionism and one-way trade practices. For example, many products of major US companies are banned in China (think Google and Facebook). Whereas Chinese products are able to enter international markets with minimal barrier to entry. There are many more barriers for an American company to enter the Chinese market than the other way around. This is just part of it, there are many more aspects.
- d-d 7y agoUnpopular opinion: it's not a good career unless you are the best of the best. IMO blue collar work is a better option because it's easier work and more stable, and lets you have a life outside work. In software the hours are increasing to no real benefit, and free time is burnt just keeping with the times. The evolution of tools, best practices and high availability of quality knowledge has made it trivial to spin up new hires which makes everyone highly expendable; not to mention that there are now millions of unwashed masses happy to accept lower wages just for their chance. There was a HN post a while back where some guy was begging to pay for a code job. What does that tell you? Software workers are also now pitted against a global market with outsourcing and programs like H-1B which has raised the bar by increasing the pool of highly educated candidates and people who commit resume fraud. They're likely also more willing to work long hours for less pay just to be in the US. Software wages have also stagnated for ten years.
- jdhn 7y agoInteresting take. Personally, I would say that even as a middling developer, you'll be earning more than the vast, vast majority of blue collar workers, and probably putting less wear and tear on your body.
- vsareto 7y agoThis is a pretty extremist point of view. It's kind of like saying you shouldn't drive a regular car because you're not a Formula 1 driver. There are plenty of companies who value working a max of 40 hours per week. If you are the best of the best, that isn't going to be a good fit for you. Much of the visa fraud is probably large companies that have a regular amount of visa hires in the first place. A mid-size company that has zero H-1Bs is not likely to have resume fraudsters through that channel. This post paints every business as some sort of vicious meat grinder and the reality just isn't true. You have to avoid bad companies just like with every other field. Even if you are expendable and get let go from a single company, it's not a death knell for your career. Explain the situation, and that it wasn't a good fit, and try to highlight other strengths during the interview.
- codingslave 7y agoThis is my opinion exactly. Programming is great if you are in the top 1% maybe 2%, you can make 400k - 800k as just a senior engineer. Everyone else is fighting to keep their knowledge base current, working for companies that do not value them, etc. Basically if you cant pass hard algorithms interviews with a bit of study, you should leave the field and do something else.
- torgian 7y agoCS is a part of everything nowadays. I never studied CS; I taught myself. My bachelor's is in Criminal Justice, which I never used other than to find work in other countries (mostly as a teacher) Now I work as a remote programmer for a Geoinformatics company. My masters will be in Geoinformatics because I found that I like maps and that cool mapping tech that uses different kinds of sensors and stuff. It sounds like your friends, who got into it for the money, may be the kind that burn out and not get into it later on in life. If what you say is true, you're more passionate about it and will continue to code even in the bad times. Use it as a platform to find problems you want to solve, and use your knowledge to solve those problems. CS has _always_ involved unsustainable hours. The trick is to get good enough so that you don't have to do that. Maybe go into a more niche field (like what I'm doing)
- Dowwie 7y agoI think you have no idea how privileged you are for having the opportunity to enter the market with your background and a computer science degree in three years. I interned during summers during university starting around 2000. The dot com bubble had burst before I even graduated. The party was over. Managerialism was in full force. IT Managers at what was then a Fortune-10 financial powerhouse were going on an on about how all of IT consisted of commoditised workers and the only way forward was as a manager of offshore consultants. I felt like my degree was worthless. The last ~20 years have proven those managers very, very wrong. In fact, many of those managers didn't go much further with their careers, as they were very reliant on politics, but the talented programmers and admins continued to grow in depth and breadth of in-demand expertise. Pursue computer science but challenge yourself with it. Don't waste these years just getting by. Double major in something that will help you work with artificial intelligence, if you want to do something practical, but double majoring in something such as philosophy could help you develop skills that you'll use for the rest of your life. Summer internships can help you gain perspective about what you may want to do after graduation. A lot of people change employers, and some even change careers, within the first four years after university so anticipate change.
- jmccorm 7y agoIt's always nice to find a reply on HN that captures so much of what you wanted to say. I came to that same perspective from a non-financial Fortune 50. After Y2K was when a very good chunk of those who got CS degrees for all the wrong reasons (didn't have the raw talent or personal interest) got weeded out. I've seen the same thing happen in other industries with a bust/boom, such as petroleum. Anyhow, OP doesn't sound like someone who's into CS for all the wrong reasons. I personally wouldn't get focused on FAANG as the next step, but if they're already going to an elite university, resume building with FAANG seems reasonable enough. Above all, having a real interest in what you're doing is one of the greatest multipliers to your efforts... and your enjoyment.
- JimboOmega 7y agoI was basically born into CS; there was no question even from Kindergarten that I would ever go into another field. Got my first real full time job at 25, and it was mediocre, it was definitely not a FAANG paradise, and I remember we worried a lot about getting off-shored in those days. I'm really glad the thing I was naturally interested in turned out to pay so well. Though I do wonder what do I (as an SF dev) offer that an offshore contractor making 1/5th as much doesn't? Or heck never mind offshore, somebody outside one of the big tech centers (like where I first worked after graduating). The future of engineering always seems to be remote, but here we still are. But you're right, the .com crash totally washed out a lot of the "HTML Programmers" and their ilk, people who couldn't pass FizzBuzz but got hired because they knew buzzwords and the hiring teams didn't know any better and were desperate. I like to think today's FAANG interviews are good enough to at least not repeat those mistakes. Besides, I'll probably always worry I'm not worth my salary on some level (impostor syndrome, yay) - it's hard to come to an objective conclusion on this, anyway.
- stopachka 7y agoAdvice for you: Try personally pinging the people you respect the most -- send an email to Paul Graham, Peter Thiel, creators your respect. You'll be surprised with two things: first, they'll respond, and second, their responses will surprise you. This is a public forum -- it's going to be hard for you to separate signal from noise.
- mLuby 7y agoThis is good advice, but also keep in mind that they experienced highly unlikely outcomes (survivorship bias), what they say caused their success may not be what actually did, and the playing field may have changed since then.
- lucb1e 7y ago> every smart kid I know [is] majoring in [compsci] At least, every smart kid in your bubble. You did mention you've been programming for a long time. I know that my friends are mostly gotten through that "career": first programming forums, a nerdy open source game, then through doing IT studies and friends of friends, now through work and hacker spaces. Trends that I see and opinions that I think are generally held, are probably just happening in my bubble. I would expect that your "ever smart kid does this already" is also quite biased.
- throwthisaway2 7y agoIf you care about mony be a stocktrader quant. If thats you thing which it seems like from the peter thiel quote then do that. If you like programming fo that, its not for everyone.
- devinplatt 7y ago> I am currently in an undergraduate university considered "elite" in US. As someone who went to community college and public university, and has worked at FAANG companies, I think your perspective is heavily influenced by your current environment. In elite schools there is a heavy selection bias for the type of classmates you describe.
- TrackerFF 7y agoAbsolutely. I went to a small no-name school for my engineering degree, where people didn't give two sh!ts about prestige or band names. Most of my class-mates ended up with above-normal paying jobs in small companies, and the rest at big multinational companies. Then I got my MBA at a top school, and the culture was completely different. The majority seemed to be driven go-getters, viewing the job market / their careers as go big or go home. They usually follow the safe bets, and flavor of the decade - which right now happens to be tech.
- cylinder 7y agoreflects poorly on FAANG hiring practices more than anything. how are they not sniffing the phonies out?
- mdorazio 7y agoThe "phonies" are good at interviewing and do well on the non-technical aspects of the jobs. Also a fair portion of top positions at FAANGs have long since been populated by MBA holders, so there are built-in network effects and biases at play.
- nuclear_eclipse 7y ago"Elite" schools literally have classes devoted entirely to teaching students how to pass FAANG level interviews.
- hrishid 7y agoWhat are you referring to? I go to an “elite” school and haven’t heard of anything like this.
- sytelus 7y agoCS will be even better career 3-5 years down the road. Software is indeed eating the world and its only accelerating.
- gord1anknot 7y agoIt depends on how you see your career evolving. If you pick computing you will have to shift gears, eventually - which isn't to say you will switch OUT of computing, but rather you will eventually need to ADD to it. Right now, computing behaves both like a trade and like a profession depending on the lens you use. You just so happen to be able to get a job based on tech stack at the moment (like a trade), I believe the trade aspects of it will go away as tooling becomes more sophisticated (10+ years), leaving the profession bit. I believe this is already happening; the distribution of compensation has become far more bimodal in the US since I started in 2009. I often meet tech professionals not living in sf/ba that don't even believe me when I say a 200k/yr+ comp package for a non-executive is possible. Either way, in computing at the moment, there's no licensing or regulatory body, and the obligatory cartel that manages it, so it's hard to predict the specifics around what the profession piece will look like in 10 years. I'll attempt it, if you excuse the conceit. I suspect as tooling matures, the industry will decompose into larger numbers of smaller firms, in which a smaller number of people will be needed to create and maintain more and more specialized applications. The differentiating factor in comp and career growth will be business domain knowledge, as opposed to deep knowledge of particular technologies. It's already the case, for example, that firms don't have to field an ops team of 5+ just to get a good deploy process going. The idea that I can get handed a fairly comprehensible spec and just write code all day may go away but computing as a career won't.
- echelon 7y ago> I suspect as tooling matures, the industry will decompose into larger numbers of smaller firms, in which a smaller number of people will be needed to create and maintain more and more specialized applications. The differentiating factor in comp and career growth will be business domain knowledge, as opposed to deep knowledge of particular technologies. It's already the case, for example, that firms don't have to field an ops team of 5+ just to get a good deploy process going. Why do you assume this? There will always be more work to automate and more products to build. As processes become more complicated, you need engineers to support the systems they run on. Nothing manages itself. We're limited in what we can do right now due to the (relatively) small number of software engineers available to throw at problems.
- unnouinceput 7y agoLet them do CS, let them become coders for the love of money, and even support them. Meanwhile you keep coding and become good at it. Then when their employer(s) will hit hard times, present yourself using the network you developed through your friends. And do contractor jobs, for real money. They will get paid good money, you'll get paid real money. They will sell their souls for money, you'll rack in the dough. Welcome to the freelancers club, best there is.
- sub7 7y agoProgramming is a commodity. You learn to program in Ruby and the next platform makes you irrelevant. CS is a foundation. When you understand how the languages themselves are built you can figure out any of them. The fundamentals don't change often.
- christiansakai 7y agoI graduated from a programming bootcamp about 6 years ago. I decided to go into full CS degree but my bootcamp instructors said to me "it is a waste of time and will cost you a lot of opportunity cost". A lot of my friends from that bootcamp without CS degree already have good careers as engineering managers, senior staff software engineers at startups, or regular engineers (around junior and mid level) at Facebook/Google, some of them are content enough and stop improving, some of them are still improving. Meanwhile I still failed the interviews. (For some reason I have a history with many rejections. I got rejections 9 times from programming bootcamps and admitted into one, that changed my life. I also got rejected twice from a programming bootcamp that was known for "anyone can get in"). I didn't regret a thing. I'm glad I studied CS. (Disclaimer: I had 2 other unrelated degrees: Industrial Engineering and Biblical Theology, this is my 3rd career change). For now, even though I already graduated and worked at a decent paying job, I just started to revisit compiler and want to study all in about it. In my opinion, tech field moves really fast, even a hardcore techies will have hard time and regularly experienced burnouts due to the fast nature of the field (cough cough, frontend dev and devops). But as long as you have passion, you can still be the last persons standing. It will last you a long time. I think people with passions will go above and beyond of what is expected from the regular job to practice his/her craft, and the world can't get enough of people like that. As long as it is fun, would you mind? I don't mind. If CS pay only half of what it pays right now, I would still do it.
- knr2345 7y agoYour comment resonated with me. Sounds strange, but - any advice on finding a worthwhile bootcamp? I'm in in the middle of a career-transition effort myself. I'm a ChemEng & do fine financially so the motivation is not money-based. Honestly though, the faster I can switch the better. I completed a Graduation CS Foundations program (5 courses at Master's level university credit) and now I'm starting a Master's CS program. I originally explored bootcamps but my impression (purely online based, no friends in the industry) was that it could be hit or miss and all were not created equal. Plus, the cost seemed high compared to other options. The online research leaned a bit more to the doom & gloom side but I figured reality was closer to neutral. At this point though, I'm exploring all options to make the move as soon as possible so curious if a bootcamp might help speed up the process. The MS program will take 2-3 years since I will be working full-time in my current position (which I plan to complete regardless). I'd really prefer that my after-work efforts be more closely tied to my day job as I continue with such a workload the next couple years (not to mention the synergistic benefits).
- deleted 7y ago[deleted]
- TrackerFF 7y agoThe thing with tech is that, I think you need some passion for the trade, in order to make it any longer than a couple of years. Doing something you hate, even if it pays well, becomes a drag real quick. Before you know it, you're hitting up your network, trying to get _something_ more interesting. I think most people will hit a point in their mid/late 20s, where they think hard and long "Is this what I want to do for the rest of my life?".
- afpx 7y agoIn the 1990s, there were a few hundred thousand good programmers. In the 2020s, there will be a few hundred million good programmers. I agree with the other comments: programming is no longer a good career to make money, but it’s become an essential requirement of many overlapping professions. I charge $100 / hr. There are people on upwork who are much better than me that charge $20 / hr. The market forces will quickly play out.
- cableshaft 7y agoThere is not a "few hundred million good programmers" right now. As of 2018, there's only 23 million software developers worldwide total, let alone whatever you qualify as being "good". From my experience, I'd guess that the percentage of "good" programmers is probably maybe 30% at most (and that's probably being generous). If so, that would mean 7 or 8 million "good" developers out there. At least two orders of magnitude lower than your claim. "According to a study by EDC, as of 2018, there are 23 million software developers worldwide. This population is expected to grow to 27.7 million by 2023." Source: https://www.c-sharpcorner.com/article/how-many-software-developers-are-there-in-the-world/ https://www.c-sharpcorner.com/article/how-many-software-deve...
- nscalf 7y agoSomeone capable of making an app, website, software used inside of a company, script that gives a company insight, or whatever else you could possibly think of can make a 6 figure company on their own within a year for nearly zero dollars. This is not going away. If you think everyone will go into software, GOOD! We need more people in software, we have too many people doing less important or lower leverage things. Beyond the competition, a skilled person in CS is much easier to differentiate. In the same thread though, being able to build any company you think of in your garage for peanuts means you can do the most good or work on the most interesting things you can imagine at cost. It's much much harder to have massive impact without a CS background if you haven't had huge success already.
- iliketosleep 7y ago> Someone capable of making an app, website, software used inside of a company, script that gives a company insight, or whatever else you could possibly think of can make a 6 figure company on their own within a year for nearly zero dollars. I think you are overemphasizing the importance of technical skills in the context of starting a business. Marketing and management skills are far more important. I have seen people with zero technical skills start successful tech businesses by means of their business acumen. They hire contractors to do the tech work. On the other hand, there are exceptionally talented engineers who spend a year or two developing a successful product, yet the product gains minimal traction and they end up working for the type of individual that I mentioned above.
- nscalf 7y agoIf you have any capacity for those things though, they're far easier to learn and practice with. It takes years to become good at building products, but I've gone from almost no knowledge to being good enough to manage a product's marketing/advertising in just a few months. But I disagree, I think having technical skills is the most important part to starting a business. You can test as many things as you want before committing, you can build a project you're committed to for "free" (no cost out of pocket, just your time) until it's ready, etc. I don't want to understate the value of the non-technical roles, but I don't think you can overstate the value of being able to own the entire tech stack yourself.
- keithnz 7y agoBe careful about any narrative of what your life should be. You should enjoy life, and if you enjoy programming, optimize your career to do things you enjoy. CS isn't FAANG. There are many many many many companies around the world doing all kinds of interesting stuff. I'm 48, I've worked for big and small companies often in the electronics/mechatronics/software world. I know I've done far far more diverse stuff than most people I know who work in large organizations, and get to make super critical decisions that change the destiny of a company. I enjoy that. However people in larger organizations often get to laser focus on one specific thing and put a large amount of effort and thought into it, that can be good too. Good news is, you can make money whatever way you want to go, just be prepared to adapt and change over time
- 8bitsrule 7y agoIf you can manage to wangle a double-major that includes CS and some (the right) other field, you might be in a superior position. Including to be well-paid and worked to death. Banging on a keyboard can be great, fulfilling fun when you get to decide what's worth doing. OTOH, I heard that many experienced university glassblowers make more money than the full professors. If/When you get tired of coding, that second major might be the escape tunnel. Even if it costs you an extra semester or two.
- deleted 7y ago[deleted]
- sevensor 7y agoConsider switching to engineering, especially MechE or EE, or maybe industrial engineering if you can't handle calculus. To distinguish yourself in pure CS, you need to come up with something really smart. There are many, many subdomains in the engineering disciplines, and only a few of them have received much attention from ambitious computer programmers. You can distinguish youself in some of these areas just by showing up. Plus, it's seriously fun to write programs that engage with the real physical world.
- baking 7y agoDo what you love, but first decide if what you love is writing code for others or for yourself. If you think it's the former, by all means stay in CS, your skills will always be needed. If it's the latter, then find a field that you are interested in where you can use your coding skills. If you are not sure, do a double major so you have a fallback.
- antaviana 7y agoIf you study something that you really like, the worst thing that can happen to you is that you work on a field that you really like. That will give a you a huge edge over everyone else.
- lsc 7y agoKnowing how to tell computers how to do things is essential, and there will be more and more computers that need to be told what to do. the question is "can we teach everyone to do this job?" if the answer is yes, then of course, it will get cheap. If the answer is no, then we're going to be wealthy for the rest of our days. Nobody knows the answer to this question. In the '80s and '90s, programming tools got better and better and we all thought that we'd have some rational case tool type deal that managers would voice activate and make software without programmers, or, if programmers were still needed, they'd be regular joes making regular joe money. And that looked realistic. as a teen in the mid '90s, home computers were super common and a bunch of people at my (not very good) high school did basic programming. None of us thought this was the road to dentist money. (but then, most of us would have been pretty happy with manufacturing money. Expectations were low.) In the aughts, this idea fell away, and now in the teens, it's nigh unthinkable; big companies throw a lot of money at the best computer people they can find, and these people then code in editors that look primitive compared to the IDEs of the late '90s. I strongly suspect we'll see some swing back towards more reliance on tools and less reliance on genius in the coming decades, just 'cause I expect things to cycle that way. I personally think there's something to genius? but... I also think that things won't always be as good for us as they are now. Perhaps it is because I started my first programming job in '97, but I expect business cycle swings to be extreme and temporary. The business cycle goes up and the business cycle goes down. If you had my opportunities (i.e. no college) I'd say that CS was almost certainly your best bet; go deep, go hard, ignore everything else and get yourself a job while the getting was good. learn breadth later. But if you are the sort who got into an elite school, well, you have a lot more opportunities, most of which I probably don't entirely understand (and that I'm certainly not qualified to evaluate) I would bet all the money I can borrow on the continued importance of computers... but my personal bet? my personal bet is that in the future it will be more like literacy. Sure, sure you need to be able to tell computers what to do. but you also need to know a thing so you know what to tell them to do. Tools will continue to evolve. There will be lots of spaces for people who can understand both what we are trying to get the computer to do (be that business, medicine, whatever) and how to tell the computer how to do it. My own advice to you is to get some breadth. I mean, if you can, get that FAANG internship; working at a top-tier company has huge differences in pay and prestige from working at a second or third tier company. Do that now while it's hot, if you can. (this is general advice I'd give to young me: don't be so afraid of super hot trends, they are fun, and super remunerative!) It took me two decades (more if you count the IT work I did in high school) to get to a top-tier company, and it is a huge difference. If you can do that out of college? you will have a huge leg up financially. (and in terms of choices as to what you can do next) All that said, you have a lot more opportunities than I did. You'll be fine. Enjoy it. Learn stuff. meet interesting people. Leave college with a full rolodex (or linkedin or whatever) and call (or email or however you kids communicate) every now and then. friends are great on a bunch of levels.
- lsc 7y agoThe other thing I want to mention is your negativity towards chasing money. It's... well, it's a tell for someone who either is rich or is trying to sound rich. For most of us? The money and security is the first goal when choosing a career. It has to be, for most of us. I mean, sure, if you are (or are trying to pretend) that you are wealthy enough that you don't need to work for a living, I mean, that's great... I'd love to be in that position, and I understand that for some jobs, you've gotta pretend like you are when you aren't. but note that to those of us who aren't, uh, "financially secure," it comes off as bragging in a particularly insensitive way if you pull it off and we believe you are rich, or insincere if we know you have a car payment. I mean, sure if you only work with other people who are super rich, it's different, but be aware that you are usually in mixed company. I personally think that seeing genuine joy about being wealthy is nicer to see than this "oh, money means nothing" - I mean, I want to be rich too, of course, and I can understand that you enjoy your fancy new car or whatever; that's not insulting me, even if I can't afford the car. But saying that there's something wrong with picking a career for the money is insulting me and everyone else who doesn't have a large trust fund.
- dc443 7y agoI think you're overthinking it. I totally get where you're coming from, but overwhelmingly what you wrote makes me feel that you've given up on actually enjoying what you do for work. You should place more value on that, if for no other reason than when you enjoy something, it's a positive feedback loop for improving everything: your own mood, your productivity, your self-improvement motivations, and your compensation.
- lsc 7y agoFor me, solving technical problems often gives me a great deal of satisfaction. I mean, it is sometimes a real slog, too... nothing is fun all the time... but sometimes the worst slogs come with the greatest satisfaction. and sometimes not! Sometimes you work hard and get nothing. it happens. It's okay to work hard sometimes. It's okay for that to be unpleasant sometimes. Difficult experiences are part of what it is to be a human. I mean, sure, it's impolite to complain all the time, but I would have to be way more desperate than I am to take a job where I always have to pretend to be happy; I have a pretty nice technical individual contributor role, and that's one of the strongest reasons I avoid management when I can, even though, as you point out, if I had better emotional regulation; if I was better able to be happy (or disappointed or angry) on command I would be able to make more money as a manager. (don't get me wrong; I can totally see myself being that desperate. And if I thought I had a reasonable chance of holding down a management job for very long, I'd have to think long and hard on it.) It's more than that, though. Those roles, acting happy all the time feels... inauthentic to me. For that matter, nearly all of the "self improvement through positive thinking" stuff feels inauthentic to me; self-improvement, for me, is accomplished through introspection and work.
- AareyBaba 7y agoCS is not just about {IT, web frameworks, mobile apps, javascript, python, java, SQL, noSQL} CS is not just work at Google, Facebook, Twitter and San Francisco software unicorn startups. CS is universal fundamentals of computation, algorithms, data structures that can be applied in multiple areas. With a CS degree you can work in biochemistry(simulation), genetics (bioinformatics), mechanical engineering(finite element analysis, modeling), Hollywood visual effects (simulation, graphics), medicine (scanning software, visualization), Oil & Gas exploration (data analysis, visualization), semiconductor engineering (algorithms, design automation, simulators), automation (computer vision and machine learning). CS is not going anywhere - it is fundamental to modern technology.
- MaximumYComb 7y agoYou also forgot to add in cybersecurity. It requires in-depth knowledge of how computers are operating and a lot of outside the box thinking.
- AareyBaba 7y agoYes - that's an increasingly important one. Add cryptography too.
- davidgay 7y agoWhen I chose to major in CS, I got a nice letter from the university suggesting that maybe this wasn't the best choice, that too many people were picking this, that it would be worth considering other majors. This worked - I can't quite remember the numbers, but probably the entering class was 2/3rds the size it would've been otherwise. And clearly, it was going to be a terrible idea to graduate in Computer Science in 1992, so who can blame them? The field had clearly hit its peak by 1987... (this was in Switzerland, on a 4.5 year degree program)
- PlanetRenox 7y agoWhile I really enjoy how you framed that, I want to add that I still do strongly believe that things are going to look much different in 2025. Reports predicting it as the year more than 50% of normal workplace jobs being taken by AI, I believe the goalposts are going to morph into something we do not have the capacity to imagine yet. I'm a student too similar to op with 1.5 years left to graduate, yesterday I got shivers waiting for my appointment with my advisor. Phone call within seconds of phone call, the receptionist was getting calls about students wanting to change majors into cs.
- kmbriedis 7y agoWas it a university like ETH Zürich, where anyone can get in but there is a limited number of spots from the second year onwards? Then it really made sense to suggest that
- anonu 7y agoWhat are your other options? (Sort of rhetorical question) Learning technical matters early in life if easier than learning them later. Engineering, math, CS should be done early. It's a great foundation and structure for learning into the future. Also, CS is a bridge to automation. Our world will become increasingly automated. People with the right skills to automate will be at the forefront of this wave.
- ssivark 7y agoSince most commenters are talking about the importance of CS and the value of a CS degree, let me share an opinionated response touching on a more nuanced underlying assumption. You're not in college for getting certified in a particular "major". You are there to develop a strong (broad) foundation of understanding and skills, on top of which you can (in the future) paste domain-specific knowledge to rapidly level-up and acquire skills. IMHO, concentrating on CS to the exclusion of all else (eg: as an undergraduate major) is too limiting, too early in one's development. Computers happen to be a very "artificial" system with arcane rules, and an understanding of computers tends to be less generalizable than an understanding of natural systems -- both physical systems (science/engineering) and human systems (humanities). The more mathematical aspects of CS are definitely generalizable (to the extent that computation is basically applied math!), but IMHO CS as a field has not developed enough to make that link obvious -- let alone teach it to undergrads. Also, when you have a hammer, everything looks like a nail -- we are currently infatuated with "CS". That should (likely) relax to a more reasonable state in ~10 years. (eg: there is absolutely no reason for "machine learning" or "artificial intelligence" to be considered a sub-field of CS, other than the fact that incidentally it happens to be implemented on computers. Breakthrough ideas in ML will likely come from other fields.) Computers are definitely a fantastic tool, and offer great leverage, if and only if you have developed a refined "taste" of problems worth tackling, things worth building, and visions worth pursuing. You will likely not acquire that taste by just studying CS. A little pondering will make one realize how it is quite impossible for every "major" to have the same number of "credits" worth of knowledge -- and exactly enough to fill up 4 years of requirements. The corollary is that not all course credits are equally valuable. If you want the best value for your time in college, try to pick the most challenging/foundational/important courses in a field, and then, instead of spending too much time on the relative "fluff" in the same field, go find equally foundational courses in an adjacent field. The easier stuff can be tacked on top later with little effort. That way, you are uniquely well-placed to make interesting connections, and are better prepared to respond optimally to a changing environment. (See: https://dilbertblog.typepad.com/the_dilbert_blog/2007/07/career-advice.html https://dilbertblog.typepad.com/the_dilbert_blog/2007/07/car...) The analogy in the context of investing would be: it is crazy try betting on a single company over the long run (~50+ years); better to bet on a broader portfolio. If you are looking for a very concrete suggestion, one way to operationalize that advice: in addition to programming/CS, learn a bunch of math, a bunch of at least one of the hard sciences (Physics/Chemistry/Biology), and the basics of engineering / systems modeling (linear system theory, control theory, signal processing, etc.). IMHO, the humanities can wait till one is older/wiser -- it can be learned easily enough outside university, and is probably wasted on 20 year olds without enough life experience. Nothing wrong with the minimum humanities requirements -- pick something you find interesting and try to get the flavor rather than getting bogged down with the details. All that was just individual learning. If you can work on collaborative projects, and learn to work well with others and lead when necessary, it will serve you well in life (that is a rare and extremely valuable skill). Needless to say, this is not the path to a 4.0 GPA, or the highest paying internship/first-job, etc. but you get out what you put in, so if you work sincerely, you'll be fine in the long run. See https://thezvi.wordpress.com/2017/08/26/play-in-hard-mode/ https://thezvi.wordpress.com/2017/08/26/play-in-hard-mode/
- paggle 7y agoYou have to realize the limits of “if everyone thinks something is a good idea, it's probably a bad idea.” It doesn’t apply to things like brushing your teeth or learning to program computers.
- xivzgrev 7y agoAlso remember just because someone is smart doesn’t mean they can code. The most lopsided class in college I took was a computer programming one - half the kids got a reasonably easy “A” and half got very hard “C”s, even though everyone was smart there. I don’t remember very many people in the middle. Likewise I think you will find many of these kids drop out before college is out. Swim in your own lane. In demand majors rise and fall but your passion can last a life time.
- kcb 7y agoHalf of these comments exist in some alternate reality where programming is unskilled labor, jobs are scarce, and wages are low. Weird.
- bjornlouser 7y agoAre they trying to unionize Google in your reality?
- yxhuvud 7y agoThe main issues at Google doesn't seem to include the size of salaries. That said I wish we had a dedicated code monkey union in my town. The existing choices either wouldn't cover everyone in the field or is covering way to many other fields. With the end result of doing a really crappy job at some parts (no, we don't need or want companywide agreements saying everyone get an extra 2.5%).
- spyckie2 7y agoI am exposed to low wage careers on the daily and while there are higher paying jobs than programming, programming is one of the more robust jobs in the market. There are very few jobs that are very stable in the modern economy. If you want a long term stable job, become a professional plumber or other technical service house-call. Steady demand, technology is not going to reduce needs for plumbing, not an attractive market so there's not that much growth.
- trashface 7y agoAge discrimination is real. If you choose a programming career and don't enter management, then when you are 40+ you might find that you have trouble getting hired for a decent paying job, even if the industry otherwise appears to be booming. When I was studying CS 25 years ago I didn't even think about the age problem. Even if I had, it would not have seemed real at that time, but its real now. That said, I don't know what else is a good career now. Perhaps primary care physician. I understand there is a shortage of them, but it's also the least paid medical profession. On the other hand, in the future few people may be able to afford most specialists. I already avoid going to them due to high copays. Generally it seems like the US employment situation is getting less stable over time. But I admit my outlook is rather pessimistic.
- deleted 7y ago[deleted]
- 2rsf 7y ago> when you are 40+ you might find that you have trouble getting hired for a decent paying job I am surrounded by talented people over 40, none of whom had problems finding a decently paying job. I am aware that there's some level of survivor bias here, bad or mediocre developers have dropped along the way. To be fair those developers tend to work anyway in places that pays less and on not top-of-the-line products.
- watt3rpig 7y agoThere is an artificial shortage of physicians. The number of people that graduate from medical school >> than the number of residency slots.
- bjornlouser 7y ago"All the worries my classmates have is how to get an internship at FAANG." Hopefully you'll give yourself permission to worry about something other than corporate behemoths before you graduate.
- jonstewart 7y agoIt sounds like you love CS. I got hooked on programming when I was a kid and couldn’t imagine doing anything else. There may be lean years—I “started” my professional career in 2001 and it was a terrible time. But, honestly, it’s been great and I love it. It takes conscious management, but, really, if you focus on continuing to learn and work on challenging problems, your expertise will compound at a higher rate than those who only have a passing interest, and you’ll be set.
- fogetti 7y agoOK, so this will all be anecdotal. But what I am describing is not that uncommon. And I only worked for a very short time in the US. So if you plan to stay in the US for your whole working life than this advice might not even apply to you at all. What you are asking and describing is happening right now. In some places around the world the industry is already an unsustainable shit-show, which offers zero financial incentive to a CS undergrad. Some such countries are Japan, Germany and Hungary. The working hours are extremely long!!! You have to work 60 hours or more most of the time, but managers will try to sell it as a big plus (like, look you can go to all these flashy conferences and you can have kicker table + free buffet, you just have to work hard in exchange) even in face of concrete evidence that the industry in large is to the detriment of your well-being mentally and physically. This management technique is also called stick and carrot. Also there is real age discrimination. Especially in startups. So it's really difficult to get work-life balance if your life does not revolve around the actual business that your company is doing. If you can put up with all this shit, and you can save enough money let's say in 10 years so that you can quit, then it might be a good idea to pursue this kind of "career". But again, what kind of career is that sets it's goal as quitting in a reasonably short time. Salary-wise your payment is gonna be slightly higher then let's say a simple journalist, accountant or let's say an average salesman, but not that great, and because of the long unpaid overtime you will basically get a quite low amortized salary.
- Mauricio_ 7y ago>My friends have switched from finance & medicine to CS majors - for the money Don't worry, something tells me they won't get very far.
- j45 7y agoIt is a good career as long as you keep learning. If you stop learning it will be like being stagnant in other careers It’s far more important what you make of your education once you have it.. and not what your education makes of you.
- paulsutter 7y agoFew CS majors are good developers, and few good developers are CS majors. But you're a natural so you don’t need to worry about where the crowd is surging. They’re not relevant
- deleted 7y ago[deleted]
- arcticbull 7y ago> I've been coding for half my life, out of pure interest for the building things and never got into it for the money. This gives you years of valuable experience and insights your colleagues won't have as they switch in from finance. > CS career being obviously a good choice and every smart kid I know majoring in it, mostly for the cash, honestly makes me worried about the future of the field in terms of whether it'll still be a good career in the future. It's been this way for ages. What the folks switching in don't realize is those folks won't get hired at a FAANG because people like you have a decade of experience on them, and there's only so many spots. So long as there's more folks like you than spots the rest is noise. > I think smart people will do good work, just for the wrong reasons ($) and this might impact the field negatively. Only if they get hired :) Once you're aboard you get to help shape who makes it in after you. If this is something you're passionate about, get involved in recruiting and hiring. Bring in the folks with non-traditional backgrounds who are amazing, and leave the switchers aside. > In 5 years maybe things will still be okay, but if the trend continues for 10 years? Will CS become unsustainable hours like working in the quantitive funds or unsustainable competition and workload like in medicine, or both? It already is. It's been like this forever, and will likely remain like this anywhere competitive, and at every start-up. Work-life balance is lip-service at most companies certainly as you level up (exponentially more so the smaller the company).
- topkai22 7y agoI suspect CS and programming will still be a very good career choice even if there is a shakeout. More importantly do you see anything out there that looks like a better career choice in 3-5 years? I don’t see any clear winners. You sound like you love computing. That’s fantastic, because you love something that also happens to be a viable career choice. Even if there is a serious downtown in the market (which will be painful) it’s like there won’t be a continuing need for programmers, and it sounds like you are/will be a good one with excellent credentials. The start of your career might be less remunerative than you’d like, but I find it unlikely you wouldn’t be able to establish a career in computing at all. That being said if there is another path that truly interests you consider a double major or minor. I was about to pick up a 2nd major in Poli Sci with only 3 extra classes and a whole lot of creative accounting of my other credits. I did it because I was interested in it, and because all the coolest people I know also had multiple majors. As I reluctantly enter what can only be considered a mid-career stage with increasing non-technical responsibilities , I find myself reflecting a surprising amount on the lessons I learned in that second major. It’s proven surprisingly valuable to me.
- erosenbe0 7y agoIf only it were not the case that our top talent aspired to work on advertising technology we might have nice things like an HIV vaccine or mass adoption of renewable energy.
- fierarul 7y ago> I've been coding for half my life, out of pure interest for the building things and never got into it for the money. Since you are passionate about programming you'll probably be miserable in many other fields, say, medicine. So you have to include CS in your future. But maybe you could minor in something else? When I was in school we had an actual doctor come to our class since he needed IT knowledge to manage an IT grant their hospital was taking. In many ways IT / CS knowledge is worth more if you do it on top of the actual job. Very few people like this. I think a good career is one where people come to you. You have to be very skilled or popular for companies to come rushing to you when a system crashed or something. Otoh, people will rush to a doctor or mechanic or attorney, etc. Accounting is also very logical and companies need good accountants.
- phlakaton 7y agoSmart people have been doing good work for the wrong reasons for decades. Really, for a lot longer than that. There's nothing new there. The quality of life you have as a junior programmer depends hugely, hugely, on the company you work for. So does the amount of money you are likely to pull in. The two are not necessarily inversely proportional. Interview wisely. Fresh graduates typically have a disadvantage in having little concept of what it takes to get things out the door in a supportable manner, and they will heroically throw themselves into projects they have hilariously underestimated. If you end up working unsustainable hours, there's a good chance you backed yourself into it. Find people and places that can help you avoid those traps early on. CS as it is taught bears little resemblance to most of the technical work done in Silicon Valley. It also probably has little resemblance to the passion projects you did as a kid. It is not necessary to be a CS major to become a software engineer, no matter what the recruiters think. But, for the most part, it doesn't hurt, and you probably start out with a broader foundation than a non-CS major typically will. As a programmer, your job is to reify thought-stuff. This gives you an extraordinary flexibility to push your career in a direction you want. Heck, you might find yourself practically switching careers every few years, or you might decide to stick in one area and specialize. Either way, there's plenty of places to turn in CS if you wish to avoid following the herd. You will hear folks wring their hands about whether their jobs might be automated away in a few years, or whether the economy will hold, or whether the demand for CS jobs is really a myth perpetrated by FAANG to pay below-market wages to suckers, etc. etc. etc. The world has a thousand ways to make you question your worth, and you will probably hear most of them at one point or another. When I entered the industry a little book had recently come out called "The Decline and Fall of the American Programmer." It predicted that "the American programmer is about to share the fate of the dodo bird." Yet here we are, decades on, just as likely to bang through projects like bucking broncos as ever, but managing to turn out some fine work along the way. Don't believe everything you read.
- personjerry 7y agoI think this is a really biased group of users to ask this question to.
- Mave83 7y agoI don't care about any degree of my employees as the projects they did in the past (commercial or private) are much more important When you want to target big and unsexy companies, just to have a nice resume, a degree is the right way to go. If you plan to be an entrepreneur, founding a business or freelance, it's mostly useless and I don't believe it will change in the next 5-10y as it was that way the last 20y. Todays trends are to work less with better money and better work life balance, not the opposite. If you encounter the difference, run as fast as you can :).
- kerkeslager 7y agoI think that people who think money is a wrong reason to do something end up spending more time and effort getting money because they don't bother to come up with a system for making it efficiently. Which is a bit ironic. If you really don't want to care about money, make it efficiently so you can spend less time on it. If I were to do it all again, I'd do something that produces more passive income. You can make a lot of money working for FAANG, but you are going to be working hard and for long hours. It's not an easy job, and it's fairly pointless to have money if you work away all your best years. Programming is a service industry, and real money comes from owning things, not from doing things, because things you own make you money even when you're not doing anything. Sure, you can go off and create an app that creates some passive income but it's a crapshoot whether you'll actually be profitable. They aren't making more land, and everybody needs somewhere to live. Real estate requires little education, the legwork is mostly looking at places with people. It's not a glamorous job but it gives you the time to do what you want with your life.
- andreilys 7y ago“ You can make a lot of money working for FAANG, but you are going to be working hard and for long hours. It's not an easy job, and it's fairly pointless to have money if you work away all your best years. Programming is a service industry, and real money comes from owning things, not from doing things, because things you own make you money even when you're not doing anything. ” Except the principal you earn from your FANG job can then be used to purchase income generating assets (equities that produce dividends, real estate, etc.) It’s not uncommon to save $50-100k+ per year which can then be put to work making money for you. This is still one of the few industries where if you start working at 22, you can achieve financial independence by 35-40 years old with fairly high probability.
- mrep 7y agoWhile there are definitely some shitty teams at FAANG, there are plenty of teams where you just need to put in your 40 hours a week and then go home. I've worked for multiple teams at 2 FAANG companies now and never worked more than 40 hours a week. Also, as andreilys mentioned, the high pay allows you to invest a ton of money into equities which is what I am doing.
- GlennS 7y agoI think this is a pretty good question. My dad told me about how, 50 years ago, getting a toolmaking apprenticeship was a license to print money. That certainly changed, and I don't know if anyone expected it? My guess is that the job market is going to stay good to programmers and IT for some time. I think there are lots of people with money trying to build, improve, and plug together bits of software right now. I also think that a lot of people will drop out of the profession during and after university. Most people find programming really boring and/or frustrating. Still, it would be interesting to have some evidence on all of this.
- okareaman 7y ago"Do What You Love, the Money Will Follow" by Marsha Sinetar is a book that helped me. I worked for years writing code, excited to get up in the morning to get started, My performance was excellent. I worked for other years dreading looking at a code base that sucked for managers that sucked, My performance was subpar. Only you know what brings you joy. I think it's a mistake to look at what others are doing to decide what you should do. I'm surprised to read that you feel computer science as a whole is a hot field. Most of it seems fairly prosaic these days, but certain parts are really hot, like machine learning
- zkid18 7y agoI think CS mainly distinguish from other areas that it requires far less resource for both studying and doing research. I was majoring in fluid mechanics in my undergraduate, but I could barely do good research as it requires the access to cutting-edge infrastructure. The same happens in many areas of research, but for IT the cost of infrastructure is smaller. One the other hand is a great advantage - we see more in more good research from Africa and Asia with was almost impossible a couple decades ago. But on the other hand the labor market is expanding. Maybe last century there were some positions for “ivy league” grads only, but now companies hire worldwide, and care more about the skill (probably not he case for US due to the current state of H1B). As for you question, people are very bad in forecasting. Rather than following the answers on HN on this question try to invent more in exploring yourself- working on different domains, meet new people from different countries and fields, contribute to open-source, run startup and etc.The more information you obtain about the environment the better you can adjust your policy to maximize the reward. I don’t believe that on the horizon on 5-10 years there would be a dramatic drop in demand for CS degree professional. Consider the tech companies’ R&D investment and the VC investment deep-tech startups we need professionals to meet these expectations. Moreover I think many students are attracted by non-linear professional growth of IT-specialist. Hardly in any other area you can find 25-years old C-level professional. That makes IT career very attractive from both risk and return.
- jamil7 7y agoA lot of good answers in this thread and I think most of the answers you'll find are from people interested in programming for reasons other than money. A few off the top of my head: 1. A lot of those people you're studying with may never finish, may transfer to other areas, find a job in a different field or gravitate to management or business side of things if they are money driven. The ones who truly enjoy it will keep doing it. 2. There is an enormous amount of software yet to write, whole industries, systems and governments have yet to be digitized. We will need both really clever engineers and rank and file programmers to get us there. 3. There is a large (and growing) amount of legacy software already written, we need more and more developers to maintain and keep it running. 4. Software is currently pretty clunky and inefficient and has a long way to go in comparison to other areas of engineering and with hardware topping out we need CS grads to make our software more efficient. 5. CS is a massive field with all kinds of interesting areas and as others mention programming is seeping into other industries making a CS education pretty versatile choice and basis for an education. If everyone is aiming for FAANGS look elsewhere, use your time at uni to explore niches that interest you and focus your time there.
- throwaheyy 7y agoI’m saving money as much as I can and thinking about future exit plans. Personally I’m of the opinion that the “sweet spot” of business automation and application development has passed. What’s left is boring, dystopian, or political. - Optimizing delivery of ads and selling crap. - AI to fulfil the above. - Developer tools treadmill to make new ways of fulfilling the above. On top of this, with the careerist switchers has come the BS corporate politics at a higher degree, and it’s slowly turning me off this vocation.
- 2rsf 7y ago> "if everyone thinks something is a good idea, it's probably a bad idea" Note that this is not the situation in CS, everyone thinks CS is a good career but luckily for us not a lot of them can actually try it out. CS is tough, your average next door manicurist can't take a short evening course and become a successful developer. Even smart doctors, accountants or lawyers are not guaranteed to be decent developers or even survive the basic education.
- Blackstone4 7y agoAmazing developers will probably always be in demand particularly if you are self-aware, able to communicate and have emotional intelligence. You are probably top 5% on technical capbilities so it would be worth focusing on improving your soft skills. The main problem with offshore developers is not necessarily techical competence...it's communication and culture.
- mcv 7y agoThis already happened 20 years ago. During the dotcom boom of the late 1990s, many non-CS university graduates were retrained as programmers, which led to a lot of questionable code from people who knew the basics but lacked the underlying theoretical grounding. The industry survived. It will also survive a new batch of people getting into it for money. Of course a larger supply of labour may depress salaries somewhat in a free market, but I don't think salaries are really a free market; it's more about who has enough power to leverage a higher salary. In any case, there's plenty of new stuff to be done with computers, and I think someone doing it for the love of it has a bigger chance of finding those things than people looking for the well-trodden, well-paying path.
- DrNuke 7y agoYou could improve your long-term return on investment by complementing CS with one or two applied domains, maybe? Fintech and industrial applications are not going to disappear in the next 50 years for sure.
- andreilys 7y agoOP your comment comes across as very puritanical. It’s okay that some people haven’t been coding since they were 8. It’s alright that they choose to have hobbies outside of work that don’t involve coding. It’s also okay that they are getting into CS to make money. Programming has turned into a very lucrative career. Yes some people might be getting into it for “all the wrong reasons”, but it’s a job. Mercenary or missionary, both have value. If you’re concerned about your viability in the marketplace, you shouldn’t be. The cream always rises to the top, it’s just a matter of time.
- giardini 7y agoandreilys says>"...The cream always rises to the top..." That may be true for workers, but I heard the management version: "Shit always floats to the top..."
- thewanisdown 7y agoIf it's what you like. You'll be just fine. In the grand scheme of things, that degree just opens a few extra doors early in your career. It's still up to you, and your personal drive to succeed, to get anywhere past that. You have passion, and that is a massive advantage. Stoke the fire.
- jiveturkey 7y ago> I've been coding for half my life, out of pure interest for the building things and never got into it for the money stick with it. that there is money is CS is icing on your cake. so many folks have to do something NOT their passion because there is no money in their passion and they weren't born with silver spoon.
- phendrenad2 7y ago3-5? Absolutely. 20-30? Expect to find it difficult to find jobs. You're a bad "culture fit" they'll say. Personally I'm looking forward to working as a Long-haul truck driver once my web developer Logan's Run is up.
- turingbook 7y agoThe digitalization of the world is just beginning.
- sparcraft 7y agoWhen I was close to graduating high school, I faced a similar situation. So many people were going into CS or software engineering, mostly for the cash, and adults in my life advises me that CS was a saturated field and there was not much growth potential. That was in 2004. Looking back, these concerns were ridiculous and had I not listened to these people, I would probably have had a much quicker career progression (I ended up learning to code, not that well, on the job as an important skill set for my work as an actuary). Personally, I think there is a lot more work to be done in the computer software field. Although there is competition, if you have strong knowledge and work ethic this field would put you in a great position to succeed in a wide range of industries. Best of luck.
- monicatie 7y agoI agree with many of the responses here. The easy jobs will go to people who are less passionate than you are and there are still tons of jobs available so I wouldn't worry about them making the field unstable quite yet. I also wanted to point out that even though many people enter the field for the $, that doesn't mean they can't or won't fall in love with it the same way you have. I say this as someone who didn't know what they wanted to do, was encouraged to go into CS, hated it because everyone around me just wanted to prove how much they already knew than their other classmates, but I ended up loving it when I started working. At the end of the day, people still need to work to provide for themselves and their family, and that's not a bad thing. I'd focus on sharing the joy you have of computing in hopes of motivating others and be grateful that your preferred career also pays extremely well.