Graduating highschool and wanting to work as a programmer, advice?
from randomname@sh.itjust.works to programming@programming.dev on 24 Mar 13:42
https://sh.itjust.works/post/34957522

I’m a junior in highschool and will be graduating next year, and the degree that makes the most sense to me is computer science. I’ve always loved using and tinkering with technology, and learning about it when I can.

I’ve taken the CS50p course as an introduction to coding, and have really enjoyed the problem solving nature of programming. I just don’t know what the industry is like, and people keep saying the job market for CS majors is terrible. so I’m not 100% sure that a computer science degree would be right for me. any advice?

update: I’ve gotten a lot of good advice from comments and have decided to start a personal project of some sort, to test the waters and see if this is something I can do and enjoy as a hobby outside the CS50p course. thanks to everyone who responded!

#programming

threaded - newest

lucas_givens@lemmy.world on 24 Mar 13:47 next collapse

The job market is pretty bad right now. There are lots of high skilled and talented devs that need work after all the large layoffs. Out of college I applied to over 300 jobs and only heard back from 2. That’s with tailoring my resume and having intern work experience.

My friend who went to a far more prestigious school then me has applied to 2x more then I did and heard back from 3.

It’s pretty rough out there right now especially with the way the economy is going.

shortrounddev@lemmy.world on 24 Mar 13:56 next collapse

Only way to get hired with your credentials is with some serious networking. In your local area, look for code/tech meetups and talk with people. Look for “Code and Coffee” on meetup or facebook or something (though I must warn against caffeine consumption for teenagers!). You’ll most likely have to look for an internship rather than a Junior Dev position at first, which is typically the pipeline that companies use to hire Jr Engineers.

Another option is to look for “Tier 3 support” or “Integrations engineers”. Often, companies will look for people with minor coding skills to work directly with clients to help implement the company product for the client (for example, adding some custom widget to their wordpress site, new features for their salesforce instance, etc.)

These engineers don’t create the company product but they do get some experience scripting things and often they can use this position to transition to a full time engineering role. In my experience, these roles have far lower requirements to entry

0x01@lemmy.ml on 24 Mar 14:56 next collapse

Nobody knows the future, but we can definitely speculate. Programming is still a good career if you’re talented, but it may no longer be the golden standard of well paying jobs that it has been for the last few decades.

More important than anything, if you want to program, then do it. Don’t wait for university to tell you how, get your hands dirty and start making something cool, a game, a web app, whatever.

Getting a job is hard for junior devs right this second for largely macroeconomic reasons, that may change in the future or it may not. You can sidestep that issue entirely with a solid portfolio.

Learn to use the latest ai tools, but don’t rely on them to do the work and learning for you, “vibe coding” may or may not be a future career but if it is the salary will likely be significantly lower than software engineering.

A degree does not make a programmer, but programming does.

folekaule@lemmy.world on 24 Mar 15:26 next collapse

A degree will help you get in the door and it will teach you the theory behind the practice, which is helpful for the problem solving parts.

Other than that, read good code and write lots of code, even if it’s crap, as long as you’re learning from your mistakes. Experiment and venture outside your comfort zone. Don’t focus too much on leet coding.

Contribute to open source if you can. I’m always happy to see a candidate with a solid GitHub profile, where I can see actual code that they wrote. It will also teach you to collaborate with others.

But mostly: stay curious, and don’t stop learning.

AMillionMonkeys@lemmy.world on 24 Mar 16:19 next collapse

Just a heads-up that Computer Science is a branch of mathematics, and some schools lean into that more than others. There’s a lot of theory in addition to the practicalities of writing programs. I’d assess how comfortable you are with math and abstraction, then try to figure out where the schools you’re looking at place their emphasis. Since you want work as a programmer, make sure the school offers some software engineering classes in addition to the theory.

Kissaki@programming.dev on 24 Mar 17:45 next collapse

If it’s the one that makes the most sense to you then do it.

Even if the job market is at a low, I doubt other industries fare much better. If you’ll be a good dev you’ll likely be in good demand. (Even then job hunting may be a hassle, but I doubt that’s different elsewhere.)

Go for it! It’s not like you’re stuck on that road forever anyway.

dirtycrow@programming.dev on 24 Mar 18:38 next collapse

It’s extremely flooded at the moment. Going to any state college you will see how many other kids decided this was the path for them. If you like it, it makes sense. It’s extremely hard to get that kind of job (a programmer) unless you really study and work outside of school and actively apply to internships. A computer science degree is not necessarily limited to programming, however, and do not feel ashamed if once you come to college you feel like this is not for you, because there are always opportunities outside of software engineering such as network engineering or system administration.

FizzyOrange@programming.dev on 24 Mar 21:06 next collapse

Honestly I think the complaints about the job market are overblown. If you are good then there will always be a job for you somewhere.

If you’ve already tried programming and you enjoy it then it is a really great career. Crazy money (especially in the US) for low effort and low responsibility.

Just be aware that CS is usually a lot more theoretical than most programming. You’ll be learning about things like Hoare logic and category theory. Tons of stuff you only really need in the real world if you’re doing formal verification or compiler design.

Still, I kind of wish I did have that theoretical background now I am doing formal verification and compiler design! (I did a mechanical engineering degree.)

Also you don’t need a CS degree to get a programming job. I did a survey of colleagues once to see what degree they had and while CS was the most common, fewer than half had one. Most had some kind of technical degree (maths, physics, etc.), but some had done humanities and one guy (who was very good!) didn’t have a degree at all.

I wouldn’t worry about the market. Maybe take a look at the syllabus for places you might apply to, e.g. here’s the one for Cambridge. Also I guess an important question is what’s the alternative? What would you do otherwise?

Mikina@programming.dev on 24 Mar 21:59 next collapse

I did Software Engineering Bachelors and then gamedev masters, and while I didn’t really appreciate it at the start, since it felt like I’m learning a lot of stuff I’d never need, I’ve eventually come to be really glad that I did it.

Throughout the classes it felt pretty meh, I didn’t understand why I have to do so much stuff that I’ll never really use, and always felt like I’m just forgetting 90% of what I was taught the moment I was done with finals for that class. Why do I need to learn Smalltalk? Why Lisp? What even is Prolog? Does anyone even do UML anymore? I want to be a C# programmer, I don’t need this.

And it was true. From most of the languages I’ve had to go through, I don’t remember almost anything. But that’s not what it was about, and that’s something I only came to appreciate with time - it was not about learning Pharo or Prolog, it was about overcoming the initial learning curve and getting somewhat familiar with OOP or formal-logic style of languages. And while you forget the details, the familiarity will stay with you. The goal is not to make you a Prolog programmer, but to make you a programmer.

I’ve eventually realized that I can pick up any language pretty quickly, no matter what it is - because I’ve already seen and learned all of the different styles or types of languages there are, and no matter what it is, it’s similar to something I vaguely remember seeing somewhere. And that’s an immense help. I picked that up naturally, I’ve kept hearing the question “what programmer are you? What language you can program in?”, and it felt weird - sure, I do know the most about C#, but I never had issues with picking up whatever was close at hand or needed, and writing anything I needed with a little bit of documentation and googling. And it was thanks to what I learned in school.

And the same applies to the math and data structures that they hammer into you. Do I remember the difference between red and black tree, or a min-heap, and can I prove it? Not really, but I know they exist, and when I see a problem that sounds like it could use some obscure data-structure, it comes to my mind and I know what keywords to look up. And that’s a skill that I’ve notice is missing from most of the people who didn’t have formal CS background. Same goes for algorithms like FFT - you know it exists and what it’s used for, and seeing a problem that could use it will trigger your PTSD.

So, I highly recommend giving college a try. You will learn a lot of cool algorithm, and some of the classes were fascinating, and it will give you a vague overview that will stay with you throughout your carreer, feeding you with keywords about stuff that might be usefull for the problem at hand. It’s the best thing I’ve done in regards to programming.

Mniot@programming.dev on 25 Mar 00:21 next collapse

The job market is not terrible. But there is a frustrating thing where a “senior” developer with 3 years of experience will get tons of recruiter-spam offering them $200k+ positions, while a junior developer (your position) will get ghosted when you apply for a job that’s offering to pay $50k. So it can feel demoralizing because people you see as your peers are having a very different experience. (And if you go in some circles the FOMO just never stops; people telling you you’re wasting your life not being a Meta dev getting $800k TComp or founding a unicorn start-up…)

You say you enjoyed programming, which sure sounds to me like you could enjoy getting paid to do it. But it’s easy to overwork yourself because your boss says that real developers pull 80-hour weeks. Or burn out because it’s so frustrating to watch bad decisions ruin your good work. If you can find the right balance of caring and not caring, you can make good money and enjoy your job.

And it only takes a year or two to get rid of the “junior developer” label and then jobs are a lot easier. (Others have said that the market is bad. And it is bad compared to how it was in, like, 2020. But it’s still a very good market all things considered.)

ICastFist@programming.dev on 26 Mar 15:05 collapse

Get certifications, those end up being worth more than degrees

Also, friends in high places. Anyone that can help you skip the bullshit automated job market (filling infinite forms and tests for 1000 openings, only to never get any reply) is extremely important.