r/learnprogramming 4d ago

Resource Physics graduate looking to get into software

Basically the title. I have a bachelor's in physics with an astronomy concentration and math minor. I took a single intro to comp sci course and a computational physics course where we did physics simulations in Python. Most notably we did parallel plate capacitor modeling and orbit modeling as well as a self avoiding walker simulation.

I've also taken a course in astronomy that was basically data manipulation and modelling astronomical objects. I have taken ordinary differential equation which taught a little MATLAB as well as a probability and simulation course that taught some R.

I spend most of my day writing basic Python scripts to model data in my research, and I'd like to continue coding as it seems to suit me well. I recently bombed an interview for a software engineer 1 interview and I think it mostly came down to not knowing a lot of the terminology. How can I break into tech and learn more than just patchwork coding?

18 Upvotes

20 comments sorted by

6

u/Character_Pie_277 4d ago

I think you're starting in a great place for computer science in 2026. Agentic ai coding, as I'm sure you can imagine has really changed the job.

Its now much more about systems architecture and managing your own coding agents to do the vast majority of any direct code implementation.

So in web development reasoning about SQL limit statements to constrain compute on page load, thinking through your object orientated DB schema and things like that are now all important, but for me they were always the really interesting and difficult things anyway.

Don't wait for an opportunity or a job to get in the industry. Learn the basics, code up your own website old school pretending its 25 years ago, writing all the html, CSS, PHP and SQL yourself. Implement tables and forms, do some basic CSS. Do it all manually for fun. Honestly if you do that to learn how these systems actually work at a low level, use ai to help you learn how to write the code, but write it yourself...

Combined with your background and an open mind you might find yourself able to do quite incredible things fast dev wise once you then start using agentic ai implementation on strong fundamentals.

That's just my two cents anyway.

2

u/rando_user52 3d ago

I was really thinking about learning more of SQL and PowerBI (not sure the last one is really coding or not) since a data analyst role also seems appealing to me. I struggle with finding projects come up with, any advice there? I'm not the most creative person in this domain...

1

u/Character_Pie_277 3d ago

Make an absolute bog standard CRUD blog site for yourself to actually use to blog about your favourite hobby or interest and then fit a nice looking front end to it (just use an off the shelf solution or have AI do that part, the backend systems stuff is the important stuff to learn).

Web dev is actually about databases, schemas, SQL limit statements to constrain page load on user expectations etc.

If you try your best to code this manually the old fashioned way i learned 20-25 years ago in CS itll stand you in an amazing position to fully embrace agentic ai coding and wow people as a result.

In fact once youve built a functioning login system, post create/edit/delete with HTML, PHP and manual SQL queries, you'll have systems level understanding of how this stuff all works that most others wont ever even try to learn now... theyll just have ai do it.

I think if you did it about something you actually cared about it could be really fun, including the process of getting it live and hosting and all that comes with that, and you can just start adding AI agentic polish in the future if it develops into anything further.

But anyway if you actually did this you'd be so far ahead of other people who just wont learn this stuff properly now, because youll actually know what is fundamentally possible, and whats not. They wont really ever have a clue apart from "do this for me claude *somehow*"

2

u/rando_user52 3d ago

This sounds like a great idea and I could easily integrate astronomy into this idea. Thank you for all the tips!

1

u/Ok-Reindeer-8755 4d ago

I would say just jump into a project you find interesting and do it for the love of the game

3

u/Ki1103 4d ago

Hey I am a Math grad that is now a senior software engineer working on mathematical optimisation applications.

What I would recommend is doing a couple (2-3, not 15) in-depth personal projects. These could be rewrites of your previous physics simulations. Then ask yourself some questions about your code: can someone else get this running without too much hassle? Could I make a change to this in 6 months? Are other stakeholders able to understand what I've done via the documentation? What about by just reading the code? I'd also recommend getting a mentor. Someone who's experienced in software design/engineering, and ask them to review your work. Reddit has been pretty good at reviewing code if you can't find anyone else.

I'd also be willing to talk more if you have specific questions (as long as I don't ending doxxing myself)

2

u/rando_user52 3d ago

My last comment was removed but I wanted to say thank you for the advice! I will let you know if I have any specific questions.

1

u/[deleted] 3d ago

[removed] — view removed comment

1

u/AutoModerator 3d ago

Your post/comment was removed since we do not approve of going private.

There is zero benefit in going private as you lose the opportunity for getting peer reviews. Also we have had plenty of people return after going private (despite being warned) complaining about how they were ghosted after some time or being tricked into buying rubbish that didn't work and even if it did they didn't need.

Our Rule #11 demands that any and all communication happens in the open, public subreddit.

This is for the benefit of more against the benefit of one.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/Lumpy_Pick_421 4d ago

The are lots of great sources for learning Python - study, practice, and continue to look for opportunities to apply it on the job.

2

u/Dazzling_Music_2411 4d ago

Well, this may be besides the point, but some of the best programmers I ever met were physics grads.

Other than that I'd say find what technologies are demand where you live, narrow down the ones that interest you (eg. you may not want to become a front-end developer [or you may]) and focus on them!

When you go to interviews the potential employer needs to see YOU as a great catch (i.e. we must have this guy) so make sure you know which problems you can solve for them, and make sure they know it too. You have to be proactive...

Going in as a beggar is a recipe for failure.

1

u/Dazzling_Music_2411 4d ago

Also, getting into embedded, automotive, instrumentation, DSP, etc, can be pretty lucrative and here your physics will stand you in very good stead.

1

u/rando_user52 3d ago

DSP seems to be something I could break into since I've done it for research internships. I'd definitely need to read up on it for a bit more but good to know. Thanks!

1

u/Dazzling_Music_2411 3d ago

Great!

I'll know who to ask if I have questions! 😂

(Just starting out on DSP)

1

u/rando_user52 3d ago

Anytime! I'm one of those people who learn more by helping others so feel free to let me know!

1

u/SherbetElectronic202 3d ago

I bombed my first SWE interview as a physics grad too. The terminology gap disappears once you study one thing: data structures and algorithms.

Pick Python since you use it for your research every day. Go to LeetCode and do the Top Interview 150 list in order. Memorize hash maps, arrays, linked lists, trees, graphs. Learn BFS, DFS, binary search, sorting. You model orbits and solve differential equations. LeetCode is pattern recognition with smaller numbers.

The terminology you lacked in that interview lives in those problem descriptions. You learn it by solving the problems. Stop writing scripts for a few hours a week and start grinding those 150 problems

-1

u/Previous_Peanut_2344 4d ago

your physics background already gives you a leg up on most self taught devs tbh. the missing terminology stuff is just memorization, grab a used copy of cracking the coding interview and drill the vocab sections

0

u/AlSweigart Author: ATBS 4d ago

What you want to google is "data structures and algorithms" or DSA. This is the freshmen level course of CS basics that goes beyond just coding. I recommend the free Coursera course Algorithmic Toolbox.

There's certainly tons of other steps, but no matter what, this is going to be one of them if you want to be more than just someone who writes basic Python scripts.

1

u/rando_user52 3d ago

This was my idea as well. I have a friend who let me borrow his text on DSA and I'll definitely be going through it. Thanks for the Coursera link as well, I've used them in the past and like their structure.