8 ms·
Ask HN: Year old CS student. Should I continue?
Hello. I'm 17, I've loved computers since I was 5. I'm a pretty decent programmer, I've done some big projects, worked with teams on extended projects, and have a pretty decent understanding of programming/linux/networking/security/etc. I generally write C, Rust, Python, and TS. I attend a STEM school that specialises in CS and engineering, and I'm in my first year of A Levels (UK) studying Maths, Further Maths, Physics, and Computer Science. I'm on track to get As and A*s.
The plan 6 months ago was - get good grades, go to a good uni, get a CS degree while doing programming to pay for uni/do a degree apprenticeship, and go into a CS career. Without LLMs messing the world up, I think it's a pretty good plan. I'm a good programmer for my age and I'm academic.
However, with recent developments, that seems borderline foolish. I'm interested in physics and engineering, I think I could enjoy a career in either, and I've still got time to pivot to either. I might be able to write better code than GPT-10 - might - but there would surely be increased competition. I also just don't find asking a LLM in the "correct" way and having it spit out code trained on millions of other programmers interesting in the slightest. I worry that actually knowing how to write code without a LLM will go the way of knowing assembly and having intimate knowledge of a computers internals.
I'm frankly tired of hearing about LLMs, but I know that I can't just pretend they don't exist. I have less than a year to make a decision on which uni courses I apply to and I don't know whether I should abandon a sinking ship or hope it's alright and it stops here, as an aid but not something which ruins programming.
I've seen people saying "But we'll still need to translate client requirements to prompts" - 1. I doubt that'll pay well, and while that's not my primary motivation it is something to consider before committing myself, 2. I'm not interested in being a human-bullshit to AI-bullshit translator.
And yes, there's more to CS than programming, but not in a way that pays the bills. If I pivoted I'd still write code "The old fashioned way" for fun.
So: What do I do? I'd appreciate some advice.
Thanks :)
- Zetice 4y agoTake a class on machine learning first. I suspect once you know how the sausage is made, you'll understand how short sighted this question is. Also if you want to make the most money, get the heck out of CS and into finance.
- 0r30 4y agoCaveat for finance advice. Investment Banking, trading (quant or otherwise), drastically different pay-grades than corporate finance, intern first to consider quality of life.
- karaokeyoga 4y agoMy advice as an older programmer who has a son in engineering school (who is asking similar questions) … stay in CS. The world will change as a result of LLMs, of course, but new opportunities emerging will be one of those changes, and a CS background will help you prepare for such opportunities. My $0.02.
- rgrieselhuber 4y agoAgreed. There will be even more need for humans who understand CS to direct the LLM-based systems.
- xtracto 4y agoProgramming in the 2010s was nothing like programming in the 2000s, was nothing like programming in the 1990s, was nothing like programming in the 1980s , was nothing like programming in the 1970s... etc.. I personally experienced the paranoia of the "end of programming " when VisuslBasic was first released, and when UML code generation ('member Rational Rose?) Tools arrived. I'm still doing a good living with my programming skills.
- jonny_eh 4y ago> 'member Rational Rose? oh boy I do. Had a whole course in engineering school on it. Never touched it since. LLMs will just be another programming tool to help us be more productive, at most.
- adastra22 4y agoIgnore all the hype about LLMs. They will automate a lot of jobs, and become critical to others, but it will be a very long time until there is no need, or even declining need for computer science majors.
- rektide 4y agoIt's disruption from below. It radically drops the cost of doing simple/forumlaic things, probably/possibly. But so far, to me, these are all cool amazing demos, but none of them at all mirror the real challenges of working significant & interesting systems. There's a real chance that means significant job loss. Maybe this is a "I never thought the leopards would eat my face" mistake, and it has some ego to it, but I personally cant imagine wanting to do any of the work these systems have done. Code tends to be kind of long journeys, iterative, and we've seen from ML what, so far to me, look mostly like boilerplate-generators and modest-tweakers. I cant imagine spending months building product with one, it being a coworker. We're in a new day, but I've been preaching a book that meant so much to me, After the Internet: Alien Intelligence (2001), which is pretty wild & course & miscellaneous & not super gripping, but sold an interesting core message to me of expert intelligences that are in their own realm. That have incredible powers, but which are unintelligble & vast & distant. Right now these coursely trained ML systems have a lot of embedded expertise, but whether they can show up again and again and become a useful ongoing part of workflow, can work with existing systems & ideas, is very much unknown & tbd. So, yes, I agree: > it will be a very long time until there is no need, or even declining need for computer science majors.
- woooooo 4y agoMost of what we do in business is figuring out requirements and breaking down a big project into manageable tasks. The code winds up feeling like an easy afterthought once that's done.
- readthenotes1 4y ago...and patiently explaining why one requirement interferes with or contradicts another...
- joewrong 4y agodo what sounds the most fun to you. there's no clear pre-planned path with all of the answers, so enjoy what you can
- zamfi 4y ago> I also just don't find asking a LLM in the "correct" way and having it spit out code trained on millions of other programmers interesting in the slightest. Think broader. Right now our only interface to these powerful models is prompts, but this is an artifact of how we discovered them. Future you will not be (paraphrasing) "finding the right prompt to have an LLM spit out the right code" nor "translating client requirements to prompts". Instead you'll be letting an LLM fill in the basic details of code, syntax, systems, and propose algorithmic approaches that you pick and choose from, while you think bigger and write programs with with substantially more complexity and capability. How this could become a less-remunerative activity I have no idea!
- radlad 4y ago> Instead [...] you think bigger and write programs with with substantially more complexity and capability. I fear that this is true, but that the complexity will be accidental rather than incidental. Humans are capable of understanding architecture and design patterns - as far as I've seen so far, Copilot and the like do not.
- zamfi 4y agoI think...that's my point? You program at the level of architecture and design patterns, and Copilot and the like fill in the details. Do you need to keep a watchful eye on the details? Of course. The complexity will either be necessary for the great things we build, or unnecessary but time-saving, or just bad all around -- but that's true as software grows independent of LLMs.
- ShouldIPivot 4y agoYeah, I use copilot quite extensively to help my RSI (though I always know what the expected output is, it doesn't solve problems for me) and that doesn't ruin my enjoyment. If what you describe is how programming ends up, I think I'd enjoy it. (And my wrists will appreciate it :) )
- slibhb 4y agoIf you're good at math and know how to program, your major doesn't matter. You'll be fine. And if you're not, it won't be due to your major. Decide based on what interests you most.
- ShouldIPivot 4y agoThank you.
- electric_mayhem 4y agoYou might get something out of Profession, by Isaac Asimov: https://www.abelard.org/asimov.php https://www.abelard.org/asimov.php You could also take some classes in AI in addition to the run of the mill CS stuff.
- MatthiasPortzel 4y agoThe crux of your question is whether LLMs will replace programmers. I’m prepared to stake my career on the prediction that they won’t. GTP3 was a breakthrough. We’ll figure out how to integrate this level of AI into our lives, and there will be incremental improvement, but who knows when the next breakthrough will be. What you’re predicting, with GTP10 being able to write large amounts of code is just not possible with incremental improvements. GTP has no internal representation of the world, and so it struggles with novel problem solving that would be trivial for a human.
- joshxyz 4y agolol it's just a tool, chill out. https://twitter.com/ID_AA_Carmack/status/1637087219591659520 https://twitter.com/ID_AA_Carmack/status/1637087219591659520 nothing stops you from enhoying both industries though.
- outworlder 4y agoWhy are you interested in CS in the first place? Computer _Science_ will not be affected by LLMs and other technologies at all. I friend of mine once said that if all computers were wiped off the face of the Earth, her Computer Science research would be unaffected (except that she would have to use typewriters for her papers). One can reason that - barring development of AGI - that improved AI capabilities won't affect the basics that much. Until they can prove P = NP, create entirely novel algorithms or solve the halting problem, we don't have to worry on the science front. Now, if you want to go to CS just to get a programming job at some company and you are doing this for money, I would indeed ask you to reevaluate. If you like programming as a hobby, a good way to kill the passion is to turn it into a boring 9/5 job. Physics and engineering may use programming as a tool and that may be more interesting to you? That said, LLMs will not make a dent anytime soon. Yes they will plagiarize code and spit it out in a way that's similar to what you have requested – and for this very reason, have been banned at my Fortune company (Intellectual property is tricky). But they have no reasoning capabilities, there's still demand for solving actual problems. These days, writing code is a fraction of what I do, a lot of work goes into syncing with other teams and figuring out _what to write_. When I actually sit down to write code, that usually takes just a few days. That pales in comparison to all the architecture and coordination work that had to happen to reach that point. Even if we assume that computers will write the code for us and it's no problem, that would only save a few days for most of my tasks. And any task where it would save more than that probably isn't worth my salary at all. This might heavily affect pure programming outsourcing companies that only write code and require detailed specifications. That might be a true concern for them. Everything else will just adapt to the use of a new tool. Like you mentioned, few people program in assembly these days (although some still tweak and plenty more read assembly) but I don't really see anyone complaining about that.
- tdeck 4y ago> I friend of mine once said that if all computers were wiped off the face of the Earth, her Computer Science research would be unaffected (except that she would have to use typewriters for her papers Somehow I think having no computers on the planet might affect the funding for her CS research.
- alfor 4y agoDo what you like, follow your curiosity. Go broad, things are changing fast it’s better to hedge your bets. AI, computers science and robotics will completely change our world in this decade.
- yunwal 4y agoMy advice: if you major in physics and keep getting A’s, you can still easily get a programming job, and probably in areas that are more AI-proof than webdev. The opposite is not true. IMO, taking programming classes in college is a waste. It’s nearly all the type of thing you can learn on the job or in an online course. The real reason to take CS is if you’re interested in applied math, because most math departments lead you into pure theory, but this depends heavily on the school.
- q845712 4y agoI agree there's many courses in a college where you can learn almost as much on your own or through some other mechanism, but I'm not sure that qualifies as a "waste." there's been other threads on this site where people talk alot about how much they learned in either or both their compilers or operating systems course. This rings true for me -- the value of my first few semesters of CS was that it prepared me fully to tackle a short list of really helpful courses. Honestly finishing the major wasn't all that much more helpful (in terms of what I learned), but the degree itself has worked out fine. One last thing, but for me there was a sort of retrospective signal -- I did have a second major and other areas of study, but eventually I realized that I had always saved my computer science homework for last because i found it the most fun, and gosh, maybe that was a hint of where to build my career. So to make it more general, the other "use" of a bunch of mediocre CS coursework is that you can gauge your own interest level. We're all built differently, but honestly taking a wide variety of courses to learn what you're interested in while in your late teens / early 20s isn't such a terrible thing (if you can do it without too much debt).
- twelve40 4y ago> taking programming classes in college is a waste my algorithms class definitely helped me pass interviews like Microsoft. I know many people learn this stuff on their own, and many people don't, but i can't call it a waste by any stretch of my imagination.
- ShouldIPivot 4y ago> My advice: if you major in physics and keep getting A’s, you can still easily get a programming job, and probably in areas that are more AI-proof than webdev. The opposite is not true. Thanks, I'll consider this. > IMO, taking programming classes in college is a waste. It’s nearly all the type of thing you can learn on the job or in an online course. The real reason to take CS is if you’re interested in applied math, because most math departments lead you into pure theory, but this depends heavily on the school. Yeah, I'm near to a few good unis that run what seem to be high quality courses with lots of optional courses on ML/maths/etc. I would avoid doing CS at an average uni due to its reputation. I'm alright at maths, but I really have to work at it - it doesn't come as naturally as physics and compsci. I'm not sure I could succeed in a pure maths degree.
- adas4044 4y agoI'm an incoming freshman to college for CS and I've thought about this a lot. Here's some of my thoughts: 1. There has always been competition in CS. If not LLMs, there are international developers and bootcamp people and just regular engineers. However, good software engineers from universities are still finding good jobs. Generalists are common, specialists are hard to find and companies will pay the specialists what they are worth. 2. Modern software engineers reply on networks similar to LLMs all the time. Think StackOverFlow or google. LLMs will just be able to generate better responses that will be quicker to find. 3. If there is a LLM that can program as good as a well educated SWE, many more jobs will be replaced besides programming. I reckon a LLM will have a much easier time understanding physics, which changes a lot less than CS. 4. Don't concentrate all learning in one place! You could do a double major with physics or a minor. You could do computer engineering or you could do a business minor with CS. Nobody knows the future, we can only guess. However, in the case that CS becomes totally replaceable by LLMs, it will be good to have other skills. 5. Remember that your major does not define you! I know many people who studied physics in college and ended up in the banking industry. Many others who studied engineering ended up in a software development role. Just because you chose a major now does not mean it defines you for the rest of your life. You can always pivot careers, go to grad school, or shift departments within your company! It is more about becoming a specialist in a subset of CS where think you may be thinking about it 1. Programmers will always be needed for maintaining and upgrading LLMs.
- Moissanite 4y agoIf you like writing code, CS is the most sensible option regardless of LLMs. If you want to make money, the picture is less clear - hopefully LLMs will reduce the demand for code monkeys which is skewing dev salaries to such absurdly high levels (though admittedly this is less of a problem in the UK). If you want to feel some sense of pride or accomplishment in your working life, I'd advise engineering instead. I work for a FAANG company but my friends all have real jobs like "teacher" and "engineer". I'm much wealthier, but they are much happier. For now, don't worry about it and just go to a good uni and enjoy the 4 years (definitely do an undergrad-masters course, not just a BSc). Keep an eye on the economic climate in years 3 and 4 - if you think you have it in you and no obvious better options are available, do a PhD with the intent of ducking out of academia immediately afterwards. Good luck!
- dougmwne 4y agoRight now, no one knows. I think we are all exactly as shocked as you are. These LLMs have been a toy for so long that it’s hard to really know where we are going to end up in 5 years. But personally, if CS is your passion and top choice, go for it and don’t doubt yourself. It’s true the field could be changing, but someone is still going to need to understand something, even if the LLMs do a lot of the lifting. And if you think programming is at risk, there are 100 other roles in the office that are much worse off. The Office 365 demo from this week has got to scare the pants off middle management and anyone who’s job is responding to emails, attending meetings, taking notes, interpreting simple data in excel and summarizing a project status in a PowerPoint deck. And by the way, that tends to be most people in most offices. Actual knowledge work is rare and usually rests on a few shoulders. Personally, I am betting that the impact is large, but will be spread out over 15 years and create a ton of work for technical folks in the meantime.
- choxi 4y agoThis is possibly my favorite PG essay, the metaphor about gliding seems very relevant to your question: http://www.paulgraham.com/hs.html http://www.paulgraham.com/hs.html My two cents: If you’re interested in engineering and physics, you should explore that. Does your university have a CompE or EE program? At mine a lot of the classes between different eng programs overlapped so it wasn’t difficult to switch. But you could also just pivot because no one in the tech industry really cares if you have a CS degree, and it sounds like you’d still enjoy coding anyway so you’ll keep learning on your own. The CS curriculum is going to feel painfully old fashioned compared to what you’re learning on your own, though there are some useful fundamentals in there.
- ShouldIPivot 4y agoThank you for the recommendation. I just read it, and I think it's really what I needed to hear: Work on difficult problems for the purpose of self improvement, find intelligent people, and keep my options open - "Stay upwind". This thread has some really great advice, and that essay is a significant part of it. My university has a Compsci+EE program that I'm going to look into. If you're already competent, are CS programs less time consuming, or are they easier but still as time consuming? I'm wondering how much time at uni I could spend working on difficult problems in my own time.
- GianFabien 4y ago"translating client requirements to prompts" (specifications until recently) is exactly what business analysts do and it is amongst the best paid IT jobs. Project managers and security consultants typically earn even more. In my experience, in both business and academia, bullshit intolerance is a severe career limiting trait. With your aptitude for physics and mathematics, have you considered some other field of engineering? In all fields of engineering strong programming skills are a strong form leverage for your core work. A friend of mine was in a similar situation to yours many years ago. He choose surveying and he is now the owner of a substantial company, making a comfortable living.
- rektide 4y ago> In my experience, in both business and academia, bullshit intolerance is a severe career limiting trait. How very well said. I've craved a book describing the alienation of the engineer, how strange it is to be so well connected to such self-speaking details, to be such a hyper-critical beast on the hunt for issues, a monster at scoping out problems & understanding their bounds, at evaluating possibility. And being trapped in a world where so much around us can feel like bullshit, like a removal of information, only making things vague. Where so many goals & intents seem detached & decoupled. This simple phrase rather puts a pin on some of the difficulty of life as a developer. I don't have many recommendations to explain or explore The Most Important Life Aspect Of Being A Programmer, which you've so very really captured imo. Ellen Ullman's Close To the Machine (`97) is a relatively-early memoire that has some very nice capturances of this weird world, of the life of being a machine-speaker, a truth-finder, apart from the rest of the adrift weird world. Haven't picked it up but her new book (Life In Code, `17) yet. I really crave a lot more discourse on this. This is the most undersung reality. Programmers & would-be/could-be programmers should know. The world should know.
- ShouldIPivot 4y agoThanks for your response. I have considered other engineering fields. My school also specialises in engineering, many of my friends are studying it, and many areas of it interest me. Nuclear, electrical, and aerospace all interest me. I'd like to learn more about them, and I'm planning to talk to some of the engineering teachers about it. This isn't the first comment saying that programming can be useful as part of another field. What would the route be into that kind of work? Would it be a normal engineering route and adding "Proficient at xyz" to your CV?
- ajkjk 4y agoYou've been duped by the LLM hype. Naive people (imo) are losing their minds and the rest of us are just left wondering: wtf is wrong with all of you. You don't hear the sober takes ("neat chatbot, who cares, it seems cool but won't be useful for most work, certainly not for decades") because they're not freaking out so they're not as loud.
- nothrowaways 4y agoPivot or double major but not for the reason you mentioned, if you are already a descent programmer you will easily pick what you would gain from a bs in cs.
- jmillikin 4y agoLLMs automate the uninteresting part of programming, which is the physical typing of code. They are not capable of reasoning or logical induction, so the job of being a programmer is still safe. They're basically just fancy codegen. A lot of the articles you see floating around about "the end of programmers" are written by people who think software is designed by managers, which is only true in workplaces that you would not want to be in. If you can independently design and implement software, then you can work at a company that treats programmers like craftsmen, which is more rewarding both mentally and monetarily. That said, the tech industry tends to move faster than undergrad currriculae. It's likely that any specific technologies you learn in school are already obsolete[0]. Focus on the fundamentals (CS as a subdomain of mathematics) and you'll find your knowledge has a much longer shelf life. [0] When I was in university, the more "vocational" classes offered by the CS department tended to teach libraries and languages that had already fallen into disuse outside. Things like OpenGL immediate mode when the world had moved to shaders, or CVS when everyone used SVN and Git had been just released.
- ShouldIPivot 4y agoThanks, that's good to hear. I haven't got much exposure to programming as a career other than a week's work experience at MS, so I think I've overestimated how much it can automate. I personally haven't used it much when programming, though I've used copilot since release as the reduced typing massively helps my RSI.
- noncoml 4y agoAre you in CS just for the money or for the love/enjoyment/fun of CS? If you don't do CS what would you do? If for some hypothetical reason you were forced to do something for the rest of your life for 8 hours a day without getting paid, what would that be?
- 29athrowaway 4y agoWhen it comes to developing simple CRUD applications with simple shopping carts and such, there are still gaps to be closed but those gaps will close. Schmidhuber says that between one key innovation to the next, the time interval is divided by 4. We have entered the most noticeable part of the exponential growth where each year from now to 2040, you will be seeing very noticeable progress. By 2030 your life as a software engineer will be very impacted.
- MattGaiser 4y agoWait until it automates even customer service or insurance claims processing. The great employment apocalypse of AI has been just a few years away for a decade now. More likely it will be slow and gradual. People used to say that computers themselves were going to cause mass unemployment.
- UncleEntity 4y agoNow we get to say they’ll cause mass extinction. And, to be fair, they did end a bunch of jobs but also created more new ones so people didn’t really notice all that much. How many companies still have typing pools?
- cameldrv 4y agoI like this advice from PG: http://www.paulgraham.com/hs.html http://www.paulgraham.com/hs.html It's very hard to say what fields will be less affected or will be affected positively by AI. I will say some of the best programmers I've known didn't study CS.
- jwilliams 4y agoIf it makes you feel any better, I started my career in the '90s and the same vibes were around then. Back then it was all RAD (Rapid Application Development) tools were going to replace everything. After that is was outsourcing. After that it was something else again.
- angarg12 4y agoMy cynical take is this: if you are worried about LLM taking programming jobs away, why do you think your alternatives are safe? Not gonna lie, as an experienced engineer I'm also worried and anxious about ChatGPT (combined with the economy, tech layoffs, inflation...). But what else can I do? If my job disappears due to LLMs, I can't think of anything else I could do to pay the bills that wouldn't also be at risk. So being pragmatic the best thing to do is to continue doing the best job I can. If that involves using LLMs to increase my productivity, so be it.
- pllbnk 4y agoI think that the next few years will be very interesting where we will see many new companies being created by prompters and many "oh crap" moments when they will be about to hit or start hitting production and just not working, especially if the tests are carried away by the same prompters. Then the hiring pace for programmers will pick up again and we might see a new 2020-2021 boom.
- ShouldIPivot 4y agoWhat does your day-to-day work involve? I don't really know what day to day engineering looks like, I just assumed engineering would be more difficult to replace.
- throwawaymar22 4y agoIf programming can be replaced, then everything can be modelled on a computer will be as well.
- rossdavidh 4y agoI have been a professional programmer since 2004. I have two degrees, both in Electrical Engineering. I worked in the semiconductor industry for over a decade, then pivoted to programming when the semiconductor fabs seemed to all be going overseas (they are now being brought back). All of which says: 1) you don't need a CS degree to work as a programmer 2) you aren't going to be able to predict the future well enough to know what's happening ten years from now anyway, but... 3) you don't need to, you just need to keep being able to learn new things and adapt Many people who got physics degrees in the early noughties ended up working in finance. Many people who got engineering degrees ended up working as programmers. If you get a technical degree of some sort, it demonstrates that you can handle technical work, but you shouldn't expect it to turn out to be the "right" major, regardless of which specific one you pick. Things change too fast, and rarely in the predicted way. We might end up using LLM's a lot in programming, although this sounds a lot like lots of previous hype, both around "AI" and around various other methods of programming without programmers. But I wouldn't advise choosing your major based on your ability to predict whether or not it will pan out, and if so whether or not that will increase or decrease demand for CS majors.
- ShouldIPivot 4y agoThanks for your reply. A lot of my concern is because I feel I need to make a decision soon. I'm taking A levels that allow me to easily change to other STEM subjects, but my impression was that a CS degree would limit my options. It's good to know that that isn't the case.
- davidgerard 4y agoStay in CS and finish your degree. If in doubt, get more mathematical. The main thing is to finish the degree, whatever you do.
- chiph 4y agoStay. What you will bring to the table is the ability to reason about the problem that needs solving, and crafting a solution. Whether that's through directing a LLM or writing it yourself - it's not something your typical "suit" is able to do.
- camhart 4y agoIs my understanding of GPT's "coding" ability wrong? From what I've seen, GPT isn't architecting systems. It writes code snippets--basically the stuff you can copy/paste off stack overflow. The only difference is now instead of Googling and searching for the code snippet, GPT will sometimes just give it to you. But once you need something unique, or something that's not just one little piece of the puzzle, it can't do it.
- Myrmornis 4y agoThe thing is... we've only seen a few months of these LLMs. And it is not unknown in the world of software for the early versions to seem laughably primitive a few years later.
- camhart 4y agoLLMs have scraped the internet for their "knowledge". Asking it to go from copying/pasting a code snippet that's more or less found elsewhere on the internet, to architecting a unique system is a massive leap. More breakthroughs are needed before there's any real significant threat to programmer jobs.
- akmarinov 4y agoThey’re pretty good if you know what you’re asking and what they’re giving you as a response. They’re pretty bad if you’re asking them about something you have no idea about.
- _nalply 4y agoProbably GPT could give answers about architecting systems when prompted right. But I think it still needs an experienced programmer to discern hallucination from useful answers. In other words, dig shit for gold nuggets. Still useful, though.
- Delento 4y ago[dead]
- themitigating 4y agoStay and ride out a potential economic problems. This is assuming the cost isn't too high.
- jrumbut 4y agoWe always overestimate the impact of a technology in the short term and underestimate it in the long term. When I was young, people told me that if I didn't study engineering or medicine I risked a life of poverty or suffering in dirty, dangerous, or degrading jobs. So I studied computer science (and was lucky to find I do enjoy it). Well now that LLMs can write code I can tell you that if you study CS you might still end up unemployed. I doubt it, but the possibility is there and it's real. If I was 17, I would want someone to tell me the field that is so challenging and in demand that no AI could ever master it and my future will be secure. I don't have know any off hand. So I think you need to look inward and read more about these fields you are considering, reach out to current students and/or professors, and see which one will make you want to get out of bed in the morning and be your best self even if you had to do it for minimum wage because AI has destroyed the labor market. (But I don't think will happen for a couple decades at least.)
- turtleyacht 4y agoStudy as much math and physics as you can. Study business, accounting, finance, and marketing. Study the classics and philosophy. Once school winds down and life picks up, you'll have less time to sit down and deeply read anything. Build your mental toolkit while you have the luxury of time. At least, that's what I'd tell my younger self. I'm not saying not to study computer science, but a lot of it is free and its applied foundations are in the open (free and open-source software). Novel ideas come from the synergy of thinking and implementation. Mathematics is the baseline.
- ShouldIPivot 4y agoThis sounds pretty interesting, and not something I'd considered. I've got other interests (geopolitics, military aviation, history) that I've put on hold due to the level of schoolwork. You say to "Build your mental toolkit while you have the luxury of time." What would you say your mental toolkit consists of? Where does classics and philosophy come into it? What do you typically apply that toolkit to, and how does it help you?
- turtleyacht 4y ago> What would you say your mental toolkit consists of? Not much! In place of the ideal hard science stuff, for a while it's been Stack Overflow, tenacity, and a nose for useful solutions. I feel if I had educated myself in rigor, I could implement that paper, prove solutions, and have an assortment of physical phenomena at my disposal. All the books I have and not read speak to the need for knowledge, and while applications abound, words can only be consumed one long tape at a time. > Where does classics and philosophy come into it? It's your secret weapon: it's the quote or phrase or context that comes to mind, to flower one's thoughts amid numbers and process, that inspires and renews. > What do you typically apply that toolkit to, and how does it help you? Programming, of course! Mostly in pattern recognition for solving problems. Whatever you decide, I hope you end up owning "something that is yours." It's hard to describe. It could be a business, or a codebase that is maintained a long time.
- Atlas22 4y agoI think you are worrying yourself about LLMs for no real reason. Dispite what the large LLM investors and irrational fanboys claim, it won't displace _skilled_ workers that evolve themselves like I'm positive you are. That said, you should specialize to some balance of what pays well and your interests. You should consider majoring in something other than CS, not because of LLMs or anything like that but because there is tremendous value in having an intersection of trades that you are good at. I went for Electrical & Computer Engineering in school for this reason (and the fact that I didn't want to waste my time&money taking formal classes for the vast majority of things I've already learned before entering college). Electrical/Computer Engineering is a sweet spot because you get to learn hardware very intimately but also usually take upper-level CS classes. Learning the hardware also makes much better software engineers. I've yet to run into a single employer in the tech space that doesn't treat the degree as the same or better than a CS degree.
- ShouldIPivot 4y agoThanks, I'll consider it and take a look at the available CS+EE courses. What would you recommend for learning some electrical engineering before committing myself with a degree in it?
- Atlas22 4y agoEE is a pretty big field with a lot of different areas so its somewhat difficult to give general recommendations but if you are looking to see what your intro courses will look like you might take a look at MIT's open courseware or edX for intro to circuit analysis or digital logic. Many schools also publish which textbooks they use for most courses which may be helpful if you want to check them out. If you want to get hands on with some circuits, you can make some cool projects pretty quickly with an ardunio (or similar cheaper knockoff) (it uses a subset of C for programming). If your considering the textbook route, I have some resources in a google drive from my undergrad I can share if you send me an email to add (my email is in profile).
- whoisjuan 4y agoLLMs are to programmers what calculators are to mathematicians. I think LLMs will augment programming skills, not make them obsolete.
- ptero 4y ago> If I pivoted I'd still write code "The old fashioned way" for fun. This, to me, is all the information you need (even though you are making this statement as an argument for the opposite viewpoint). You are studying an in demand field that you love. That makes it highly likely that it will pay your bills and then some. The field will change. So will the tools. Possibly interfaces. You might leverage LLMs as your trade tools. They may replace google search for finding answers to well-formed queries the way google search replaced comp.lang.x . But unless humans stop having ideas we will always need human engineers that will transform them into an actual thing. As a last thought, I would pick a decent knowledge in an adjacent domain that sounds fun (aerospace, biology, chemistry, mechanics, economics, EE, whatever). This will make your core CS skill even more in demand. My 2c.
- zumu 4y ago> I'm interested in physics and engineering, I think I could enjoy a career in either, and I've still got time to pivot to either. > And yes, there's more to CS than programming, but not in a way that pays the bills I'm curious what bill paying career you think is readily obtainable with a physics degree. Moreover, while the GPT/LLM stuff is very exciting, it is coming out of the CS field. If you truly think it's transformative, that shows you the potential of CS and programming and is all the reason to pursue a CS degree. Stick with CS if you like it—the career prospects aren't going anywhere. However, if you're just trying to get paid, there's always finance.
- flashgordon 4y agoRemember AI still cannot prove whether P=NP or not . So folks like Sienna (algorithm design manual) and their way of thinking will still be in high demand. If anything (thankfully?) Jobs where you write yet another crud service fronted by an app may go away so you can actually focus on hard problems instead of wasting prime years on crud problems. Edit: another thing to remember. To be able write code better than gpt10 you need lot more rigor than going to a coding boot camp so folks like you will be even more valuable!
- dorkwood 4y agoMy prediction is that in 20 years, we’ll have a shortage of programmers. Most of the hype seems to rest on the assumption that LLMs will eventually stop hallucinating falsities. But what if that doesn’t come to fruition? I subscribe to the law of contrary public opinion: if the man on the street is saying one thing, bet the other way.
- punkbit 4y agoYour choice should be whatever makes you happy!
- scyzoryk_xyz 4y agoYou’re 17 - don’t just think about paying bills. Not yet. If this interest stems from money and ambitions then you’re trying to build your foundations in sand. It’s not really about what you choose but how you do the thing you do. How well you can apply yourself to it. You want to find work that gives you flow state. My 0.2c as a cinema studies/filmmaker turned PM - there are so many soft skills I acquired pursuing a totally different dream. And yet they all turned out being exactly what I needed. HN is filled with squares hyper-optimizing for sensible logical choices. Advice is older folks give each other is more conservative and about capturing trends because that’s the safe thing to do. We have kids, deteriorating bodies and brains. At 17 you should do opposite: maximize risk for the next few years - you will regret not taking advantage, not developing character, not using your youth to it’s full potential (especially spectacular failure). If building things on computers is what you want, no new trend will change the fact that you will build great things.
- ShouldIPivot 4y ago> maximize risk for the next few years - you will regret not taking advantage, not developing character, not using your youth to it’s full potential (especially spectacular failure). In what way? This sounds like pretty good advice, but I'm not sure how to practically apply it.
- scyzoryk_xyz 4y agoSorry I haven’t come back around to it. I meant every type of risk - how you practically apply this sort of advice is 100% your part. You know yourself best, you are at the center of your universe etc. In a way what you choose will then become an integral part of your identity. Coming back around to this AI stuff - I think there will be plenty of need for smart people to be doing CS stuff. If that’s who you are - lean into it hard.
- majestic5762 4y agoGet a job, finish CS, learn product/marketing/cloud architecture. In any order but the point is you have to remain competitive while others fall behind. Sticking to HN over the years will teach you good lessons btw
- TYPE_FASTER 4y agoI've had some success asking ChatGPT to write some simple Terraform for me. That's useful. I asked it to do something a little more complex. In three tries, it got about 75% of the way there, then just...ground to a halt. Each time I asked, it took a completely different approach. I mean completely, ranging from wrapping native APIs to spawning a process to run commands. If you like to write code, keep going with it. I look at ChatGPT like Jarvis from Iron Man, or SolidWorks for mechanical engineers.
- cirrus3 4y ago1) yes, if you find something more interesting, go do that 2) no, LLMs are not taking dev jobs anytime soon so you shouldn't worry about that. I know this is probably boring to hear to the point you don't believe it, but LLMs don't and can't replace actual good devs, and yes, someone still needs to translate requirements to code. You may not understand this until you get into some real projects with some real dumb people at a position higher than you for a while to realize that. You seem to have the same misunderstanding most CS/programmer students have - Your job and your skill is likely not going to be writing code. Writing code is the easy part. I would love to see a test where a company hires fewer devs and the managers/product teams try to supplement using AI to write the code. It'll never ever ship. You won't be a "human-bullshit to AI-bullshit translator"... you will be a problem solving human. It's up to you if you want or find value in using AI to help get you past some boilerplate code, but that is a small part of the job. If you don't think it will pay well, that's maybe a fair gamble, but not one I would take that bet having been in the field for 20 years... even face to face human interactions struggle to do this job well, this IS the job in many ways, not the code itself. AI is pretty far off from filling any gaps besides giving a good answer to a great questions IMO. I have used it in my day job, and it kinda sucks, you have to know what to ask and have to recognize what are bad answers based on experience. It's basically just stackoverflow++ right now.
- rich_sasha 4y agoEven if AI takes over, we will still need people to run it. And stupid people won't be able to do it, just as now they can't use Excel, smart toasters, or understand internet scams. So even in that pessimistic world view we will need smart problem-solvers, and CS is as good a training for this as any. Enjoy! And if we don't not even need people to run it, then I hope we enter the glorious future where we don't need to do anything thing anymore. AI will build and run our powerplants and our farms, provide healthcare and brew our whisky, and we can all collectively retire. Somehow I don't see that happening.
- nathants 4y agoif you enjoy it, definitely. if you are in it just for easy faang money, maybe not.
- rawgabbit 4y agoAgree with other comments. LLM will make it possible for programmers to automate even more things. LLM cannot write itself; that is hyperbole. In practical terms, LLM will open more doors for programmers. Not less.
- throwawaymar22 4y agoOne way to look at it is if programming is largely automated, then this implies that any thing that is reducible to programming(as in could be modelled on a computer) is as well. This includes all engineering fields that I know of. So if you want to stay in engineering there are not many options.
- includeguard 4y agoI'm twice your age. I wouldn't worry. Will things change? Of course. When I was your age the software world couldn't shut up about how programmers would be replaced with UML diagrams. XHTML was gonna be the next big thing for the web, and a social feed was a collection of RSS XMLs. So, as someone who was also unsure of things once, and also have an interest in physics and engineering at your time: Chances are, even if you pivot to one of those focuses, you'll end up in programming anyways. A lot of physics majors end up in programming, many computer and electrical engineers end up in programming. There's just more of those jobs available. I should know, I was a computer engineering major, I worked in embedded firmware for 2 years before I was pulled back in to web development. I wanted to design processors. Don't worry about GPT. It's like saying VSCode is going to replace software engineers because it has autocomplete. It's going to make you more productive, it's not going to replace you.