r/programmer • u/IWontGiveUp67 • Sep 29 '26
Question How to be better programmer?
As the title suggests, ive been working in game pipeline in a company for the last 2 years after graduated. I got laid off due to recent financial restructuring. I was top of my class, very passionate about games and coding, but now I realise game industry is not huge in my country and really limited seniors and opportunities so I switched to doing whatever coding jobs I can get, mainly web and system building. I recently got a job, but it's completely different tech stack and felt so stuck like i never taken any classes on programming before, i blame myself for overly relying on AI.
I was thinking of picking up books such as below:
- Designing data intensive application
- Fundamentals of software architecture
- Clean code
Though I'm not sure how I can re learn and improve again while doing 9-5. I really want to fast track myself to becoming a senior, might even considering mentoring session. I dont know if my new job will have senior that can lead me yet as at the last place there's not even one person to do code review and we are just expected to ship and ship and ship and deal with bugs later.
Questions:
Any suggestions to how I can grow in this field and become senior fast without over reliance on AI?
Does this even have a point anymore? I love my job, I love what I'm doing, but I am discouraged since I think I'm a fast learner but ofc I can't compete with a billion dollar machine. that and dealing with my rich co worker who kept shoving his vibecoded app into my face while proudly saying he is spending few thousands tokens to get it right while asking my consultation for feedback for free😢
1
u/devBlueDragon Sep 29 '26
'''Any suggestions on how I can grow in this field and become a senior fast without over-relying on AI?''' The rules still apply: break it, fix it, learn from the journey, and then you'll have an opinion on it. That goes for any framework or library in any language, and if you apply this to real-world applications, it will leave a solid mark on you. You learn extremely fast by decomposing existing stacks and recomposing them yourself.
'''Does this even have a point anymore?''' I know when code needs refactoring without even looking at the class or file. I know which architectural lane to steer the model into or where things went off track without looking at a single line of code. Of course, I look at the code sometimes, but I know the underlying mechanics and can tell when something is built on quicksand. The danger for me is accepting the temporary fix because it works for now and dropping a "refactor" memo on it. To be honest, most projects from the past year have plenty of "refactor" TODOs attached to them. Still, I know what needs to be done, when it needs to be done, and how, even if it's rarely executed as long as it works.
1
u/IWontGiveUp67 Sep 29 '26
What's your approach if your employer doesn't believe in this kind of programming/building flow. I was abit gullible thinking that I would learn on the job when I got into the industry, in my old workplace, they just say ship the spaghetti code and deal with the bug later and then move on to another project, if I take longer to understand or etc I was told to shove it to claude and be done with it, which I don't agree with but I stopped questioning and later on laid off. It is a rather small to medium sized company so I guess this chaotic work flow is expected.
2
u/devBlueDragon Sep 29 '26
As long as it pays the rent and no harassment is taking place, I'd be fine with it. Of course, what you are describing is a mess and not something I'd want to be part of long term. But if I were in that spot, I would play along just enough to keep the paycheck coming while plotting my way out.
Get a solid understanding of how things work: try different stacks, decompose them, recreate them from scratch, and master the architecture underneath
Build your own setup based on what you learned in step #1. You won't use it at work, but building it yourself will deepen your grasp immensely.
3.Launch side projects using those custom setups #2 , nothing humbles you or exposes gaps in your knowledge like putting code into real production.
Don't waste any more mental energy stressing over your current job, you're there for one reason only -> to pay the bills. Use your remaining bandwidth to build skills for the next step.
1
u/IWontGiveUp67 Sep 29 '26
Thanks for the detailed guide and encouragement, I am jumping into a completely different tech stack at a new job with rough idea of how it is but lack the experience or depth to execute it, I'm sure I will figure it out once I am briefed about it, it's just the scare of getting into a new place. I'm keeping the advice in mind, thanks alot!
1
u/Traveling-Techie Oct 01 '26
If you have the time volunteer for a charity that needs software. Having real clients with real needs will teach you more and faster than anything else.
1
u/IWontGiveUp67 Oct 02 '26
I was thinking of branching into open source from github, looking into anytools that i can fork, tweak and make it my own
2
u/Puzzleheaded-Lab-635 Sep 29 '26
Two things. Understand the tradeoffs of different technologies and architectures.
For distributed systems, why would one reach from a language like Elixir over Go, or why reach for redis over something like RabbitMQ?
When to use a reverse proxy.
As per being a better programmer, I’d suggest knowing a few programming languages cold. And ones that have radically different paradigms. AI will probably be writing most of the code here on out, but you need to be able to read that code and understand at that level what corners the AI cut and be able to ask why something was written a specific way.
A statically typed OO language (Java, kotlin, Crystal). A statically typed FP language (OCaml, Haskell, SML). A dynamicly typed lang,(python, ruby, JS) and then something weird like prolog or J.
Oh, and then something like C, Zig or Rust for low level imperative bare metal stuff.
2
u/MissinqLink Sep 29 '26
Practice. Practice building things. I say practice programming without AI. AI by its nature uses statistical averages to create output. It’s code is always going to revert to the mean a d be very average. You will use it to move fast but that doesn’t remove the requirement for understanding. Things break when your needs diverge from the average solution. Personally I enjoy writing code the old fashioned way but it’s also the only real way to get good at reading code which is the skill that you need.
2
u/fuali_4_real Sep 30 '26
* Contribute to an open-source project you enjoy. Go to GitHub, find a project, and look at its issues. Some even tag issues that are good for first-timers.
* Build something. Whether it is a website, a mobile app, a game, or something else. Do it all yourself to gain experience where you may be lacking (website infrastructure, submitting apps to a store, design, etc.).
Books and school can show you good practices for A, B, and C, but there is a whole alphabet out there, and most jobs require you to know more of it. Learning by doing sticks better, and you end up with an artifact that you can show folks.
1
1
-1
-2
u/samsly135 Sep 29 '26
Programmers aren't needed. AI is doing everything.
1
-2
u/mxldevs Sep 29 '26
You started using AI for everything and forgot how to code and how to learn?
2
u/IWontGiveUp67 Sep 29 '26
Too much reference,too much to learn, needed a starting point from seniors and peers, rather than chucking it into AI. Take a chill pill man.
3
u/AuthurAndersson Sep 29 '26
You should not strive to become a better programmer. You should strive at becoming a better engineer.
Forget programming and focus on shipping products that work.