Is it too late to enter software engineering in 2024?
I am really concerned about this future. What if I graduate and face a job market that is even worse than the current one for new grads, mainly due to the impact of LLMs?
I am really concerned about this future. What if I graduate and face a job market that is even worse than the current one for new grads, mainly due to the impact of LLMs?
What ChatGPT and other tools like it can do for you is regurgitate knowledge that would be harder to find otherwise.
But programming a great system requires heart, creativity, collaboration skills, as well as original knowledge and unique experiences.
It also requires having ideas that no AI can regurgitate based on training from other folks’ ideas that the AI devs scraped off the intertubes.
The current situation is macroeconomics, IMO. It’ll be hard to secure internships during any period of economic uncertainty, skimpflation, and higher interest rates than the prior equilibrium.
So, keep programming. Focus on the skill of getting code to work and focus on what makes you unique as a programmer. If you like programming, stick with it.
In fact, I actually think unless your getting into foundational work in AI, "AI" is probably a riskier career then "traditional" programming in the near future. Everyone seems to want to pivot "work in AI" so there's gonna be a TON of relatively inexperienced people looking for work in the field in the next 2-5 years..
I won't be sure as to where you are geographically, though if I was to predict - jobs are harder to find a) because they are shifting to third world countries or b) in third-world countries due to a large work force
My humble opinion is no. It is not either late or wrong to enter software engineering. Only the requirements have changed. When I have started my career in software engineering, the requirements was completely different, you should be knowing mostly used programming languages and popular operating system. 10 to 15 years later object oriented programming and functional programming approaches became base requirement but software engineering stayed as is. Another 10 to 15 years later, all the applications became web based with new methodologies but job has stayed. Now I am witnessing and adjusting myself to 3rd revolution but I am sure that I will be relevant if I develop my required skills. Do not lose your motivation and aim for being the part of the today and future. Get your foundation from the school and in the meantime develop your skills. Do not let current hypes to overwhelm you. Best of luck.
There is some overlap there with code made by humans, when it involves terrible outsourcing and/or language-barriers, but otherwise you can usually ask the human author questions when reviewing it.
Here's the thing though: make sure you really want the job. A good test to see if its right for you is this: have you ever programmed a game? If you have, that means you really like programming--enough to play with it. If you haven't, you might not like programing enough to do it 60 hours a week.
I see you are already a CS student, so this doesn't apply to you, but if anybody asks me "should I learn computer programming" the answer is no--if programming was right for you, you'd have already learned how to do it. If programming is right for you, you aren't wondering whether you should start doing it--nothing could possibly stop you from doing it.
If you are a programmer, very bad things will happen in your career. You will work 60 hours a week for year on a project, just to have it canceled and all the code thrown out. You'll have two or three death marches---where everybody knows the project is going to die, but management expects you to work overtime on it, with absolutely no hope of success, until the bitter end. And then you'll get blamed for the project failing--you just didn't work enough overtime :-)
It is almost impossible to measure the productivity of programmers, so very frequently your boss is not going to understand how valuable your contributions really are. You will unfairly get passed over for raises and promotions.
When your hair turns grey, you will face age discrimination, in many forms. When your boss wants to try the next programming/management fad--which you've seen variations of fail miserably at other companies--your boss will not value your opinion, he'll just think you are an old dog which can't learn new tricks. It will be harder and harder to get a new job. Eventually, your 30-years of experience will be valued at exactly 0, because everybody just assumes you haven't kept up with the latest trends.
But...if you really really like programming, that will keep you going through all these trials. For some people, its such a great fit that they can't wait to go to work in the morning, and hate to leave at night. For most people, though, eventually it would become a nightmare of tedium and burnout. A big salary is not enough to get you through. You have to actually love programming.
The large majority of my career (26.5 yrs now of 35.5 yrs earning) has been as a very senior engineer with multiple patents at a very large formerly SV HQ company.
I never have seen age discrimination - in fact have productive colleges who are nearing 70 (I personally am a long way from even normal us retirement age still) both male and female and still learning and writing great code.
I just thought my anecdote could counter your more dour analysis- although despite that I agree with the heart of your message…
You have to love it to do it for a lifetime.
Also, AI is mostly Artificial and not so intelligent. I do not fear for your generation once management realizes that it isn’t all that.
> in fact have productive colleges who are nearing 70
Yeah, its not like you turn 47 and your brain just turns to yogurt. The changes are real, but subtle; e.g. I'm better at foreseeing and avoiding risks.
Here's the thing though: the things which didn't happen to you are, by and large, completely out of your control. I won't name any names (cough a south-american river cough) but some companies are notorious for throwing engineers into the thunder dome until they burn out, and are then summarily discarded.
Whether you face age discrimination, or whether your code is thrown out, or whether you are thrown into a death march, but can't leave the company because your options haven't vested--those aren't things you do to yourself, its something other people who have control over your income do.
There isn't some technique you can use, or some effort you can put in, to ensure you don't see age discrimination. Although I have had colleagues who color their hair and beard. But by and large, if you don't experience any of those, its just because you got lucky.
Engineering management is hard, and not many people are good at it. Whether you get a good one or bad one matters.
I have no illusions that the company at the macro level doesn’t value the individual specifically and my divsion’s mgmt could be forced into getting rid of people on a whim (ie not enough revenue per headcount, we changed the deal), despite them being genuine amazing humans as managers (a very rare thing)
I believe programmers make their money at the 'ends' - leading/bleeding edge or old legacy tech no-one remembers anymore. So I'm often the guy the company comes to when they want to try the new shiney.
My point isn't to disagree with you so much as to show ageism isn't inevitable - getting old doesn't have to be a career ender :-)
> ageism isn't inevitable
It's not inevitable, but it is something outside of your control. Whether or not you experience agism isn't up to you, its up to recruiters, hiring managers etc. And when you do face it, there is absolutely nothing you can do about it.