[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip / qa] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology


Thread archived.
You cannot reply anymore.


[Advertise on 4chan]


File: IMG_0336.jpg (103 KB, 961x566)
103 KB
103 KB JPG
How I become good programmer anons
>>
>>101545315
hard work like with everything
what not many people will tell you tho
is that programming is all about problem solving.
and for that you need a variety of life experiences and pluridicsiplinary knowledge to borrow parralels, or inspiration from

learn to weld.
learn some woodworking
learna bout nature
go hiking
interact with stuff
thats how you work your lateral thinking/problem solving
>>
consume foot fungus
>>
Avoid this board at all costs and work on solving a real problem
If you’re not here to taunt these people that is
>>
>>101545315
>chop off your cock and balls
>take hrt
>become as degenerate as possible
>change skin color to brown or black (preferably black)
>use linux or mac os
>become a /leftypol/dot/org user
>>
Not OP. Love for an actual good-faith answer here. I've been struggling so hard to be good yet I still cannot reach that level of mastery I so desire.
>>101545345
Thanks for this.
>>
File: tpoint.png (363 KB, 482x680)
363 KB
363 KB PNG
Read Dijkstra's books. I'd recommend, "A Method of Programming".
>>
>>101545345
not a programmer, but this read like the sort of thing I'd tell someone if I wanted to have a laugh
>>
>>101545427
SEE >>101545405
>>
>>101545315
https://teachyourselfcs.com/
>>
>hard work
lmao
if you didn't become good when you were kid, it's too late
>>
>>101545315
you can't
>>
>>101545427
happy to help.
maybe thats the secret sauce that you were missing
theres more to variety of experience than just parallels and inspration
you also learn new thought patterns and work the physical aspect of your brain in new ways

i feel like when i work with programming in C i use the same part of my brain as i use when i do anything that has to do with composite materials.
wood, gluing layers toegether, reinforced concrete
anything that has to do with visualization

carving wood would be a barely noticeable way of working that aspect (i guess not everybody deals with reinforced concrete on the daily. its fascinating stuff doe. its about adding elasticity to concrete, or a part thereof)
>>
>>101545452
>>101545508
kek, im being dead serious
i dont have a hard list of paralels i draw from non-tech related things, but i when i look at the difference
in my (limited, mostly from a hi standard school) experience variety of experiences plays a factor in whos good in what
>>
>>101545558
>plays a factor
for my excuse its 06:43 where i live and i havent slept yet
>>
>>101545315
50 years experience
>>
>>101545315
Step 1: programming socks to get more blood flow to your brain
Step 2: program
>>
>>101545621
Age racism will filter you out at that point
>>
>>101545315
Bump for interest
>>
>>101545315
The real answer is the same, no matter the kind of programming: you get good by doing hard things. The selection of learning resources matters and a good book is worth its weight in gold; but in the end, trying to get good by just reading and discussing things, without actually doing them, is like trying to get good at climbing by reading about climbing all the time and never actually going to climb a mountain.
The things you do don't have to be "objectively hard", just hard for you. Pick something that feels intimidating, but also doable if you stretch and google a lot of things.
Only used scripting languages? Pointers and memory allocation are a mystery to you? Time to work through a C book. Never done scripting? Time to learn Python. Interpreters seem intimidating? Time to start Crafting Interpreters and make your own simple language. Writing algorithms seems extremely difficult? Go and implement the blossom algorithm, or create an exact TSP solver that can do 100+ cities on one computer. Never done networking? Write a UDP-networked 2D game with C/C++ and SDL.
A big fraction of your time should be spent working on 1000+ line, longer term projects. Working on something for weeks, months, or years is qualitatively different from just doing short exercises. If you only do the latter, you won't be get important practice of organizing things, having a good git workflow, etc.
Lastly, you should probably find a better community. In 2024, most people here are completely retarded. They talk about programming without ever actually programming; they just repeat dumb memes they've heard from other anons: Python bad, Bash and Lua good; systemd bad, traditional Unix good; etc.
>>
>>101545315
First step: you start around 11-14 years of age.
>>
>>101545345
Welding and hiking will make you good at mental tasks like programming. No amount of copium and naivety will change that. If that was true then you could easily notice that pattern among students or coworkers. But the reality is the opposite.
>>
>>101545315
Experience. Best way if you want to do it professionally, is apply for a programming job I'd reckon.
>>
>>101548714
>find a better community
you mean like stackexchange? every other place seems no different than regular social media
>>
Learn how to play the harpsichord and focus on Froberger and Frescobaldi.
>>
>>101545315
memorize 400 leetcode questions and all sys design questions. also memorize some made-up behavioral situations
>>
>>101549072
The Handmade community and lobste.rs have a high density of smart people who actually do stuff instead of arguing all the time. I think that the Handmade people can be too dogmatic with their approach to software development; lobste.rs is leftie, with a gigawoke tranny on the mod team; but both are still miles better than the den of retardation that is this place, HN, and Reddit.
There are also some niche IRC channels and small imageboards that are decent, but I won't name them here because I don't want to attract the average /g/ user to them.
>>
>>101545315
Listen to others in this thread, but also master the art of using hentai as a reward for solving programming problems. Audio porn helps a lot, particularly the kind made by asmr content creators, as they’re both relaxing and erotic
>>
>>101549494
thanks for pointing me in the right direction
I guess the only way to really leave this place behind is by learning more and doing things to be able to fit in with other do-ers
>>
>>101549636
Yeah hopefully. I'm intending to leave this place myself. Every year, I have less and less in common with the average 4channer. But it's hard to stop coming here...
>>
>>101549965
Came here pretty late, I’m not tied to it as lemmy fulfills my “anon but not really” forum needs without being corpo like reddit or schizo like here. Only here to browse /x/ really, there’s nothing like it on the internet
>>
>>101545315
Memorize all leetcode answers to even stand a chance against your Jeet competition.
>>
>>101550571
OP asked about how to level up as a programmer, though. Sure, it helps to grind some LeetCode and re-read DDDI before the interview if it's for a company that does brain teasers. But I can honestly say that my biggest level-ups as a programmer came from projects that seemed too large and intimidating at the time. I think it's kind of like strength training. You're not going to get strong if you just lift a tiny 1kg weight thousands of times. You've got to progress to higher weight, better form, more challenging movements. The programming equivalent of that would be working on challenging projects that can't be completed in just a few evenings, and the programming equivalent of better form would be learning to manage your time better and to make effective use of git and refactoring tools.
>>
>>101545444
I just downloaded this book. You know it's gotta be good because it comes with jeet repellent; Dijkstra starts off describing mechanisms using a toilet as example.
>>
Wear the socks
>>
>>101545315
experience
you need lots of time focused, butt in chair, hands on keyboard
no way around that
>>
>>101545444
>>101551056
Ok, maybe it also has me repellent. I'm struggling to understand the syntax he's using while describing functional specification. I'm only reading in a a few minute breaks between waging though.
>>
>>101545315
(You) won't. Because asking means you don't even have an instrinsic motivation to do it for the money only or for the sake of fun alone.
>>
I don't want to learn programming.
>>
>>101555367
>asking means you don't even have an instrinsic motivation to do it for the money only or for the sake of fun alone.
explain further. I remember someone asking how to start programming and another anon answered "if you have to ask, you don't"
>>
>>101555404
Don't take my post serious i was just doom posting.
>>
>>101555440
fair enough
>>
just b urself bro :)
>>
>>101545315
On the broadside, do as many code problems and challenges as you can.
Solving new code problems is more an inference on your past experiences than bruteforcing them with "geniality".
Use a decent site tho. Like SPOJ or something. Not those monetized sites full of "print hello world only on prime numbers. Yay you did it!" bullshit.
On specific topics, like clean code, theory, certain framework, etc Just read books on that, I guess.
>>
>>101555367
I would say that the fact OP is asking how to get good indicates that he does have intrinsic motivation. Otherwise he'd just ask how to make the most money with the least effort.
There are definitely effective and ineffective ways to practice, even if you're having fun. I'd even say that the ineffective ones can be more fun. I wrote my first program at 10, but I don't think I've exceeded 500 lines in one program until I was ~18. I was having lots of fun writing shitty little Bash/Perl/Ruby scripts, but my programming skill stayed pretty low. It skyrocketed when I got into a famously difficult CS program and they made me write several-thousand-line programs on a deadline, in a variety of languages. Then I got better again once I started contributing to open source and programming for money.
>>
>>101545315
dont fall for the competitive programming meme, i did as a kid and it was the biggest mistake i made
>>
>>101556454
anon is trying to trick you
competitive programming is good and if you cant into leetcode you are unhirable
>>
>>101556728
lmao nice
>>
>>101555773
I have to say that I disagree with this strongly. If you make solving little coding challenges your main focus, you'll just get good at solving little coding challenges and will still be lost when faced with something bigger. A firm grasp of the basics of algorithms is a part of being a good programmer, but not the biggest part.
A skilled programmer is one who can take a vague and intimidating real-world problem, come up with a plan of attack, make good technology choices, make steady progress towards the goal, and end up with something maintainable that works well. The only way to get good at that is doing it repeatedly. Your recommendation is backwards, it's grinding a relatively small part and "just read a book bro" for everything else.
Oh and by the way, Clean Code is a very stupid book and it's a disaster that many people take that eternal junior Robert Martin seriously. If you want a code style book, you're much better of with Code Complete 2 despite it being older.
>>
>>101545444
>>101555068
Dijkstra's intellectual musings are diammetrically opposed to profitable employment as a software engineer.

and if Dijkstra was alive today, he would be proud of this. but its not gonna help anon.
>>
>>101545315
Same way you train for other skills, by practicing. Write small and simple programs, then progress to increasingly complicated and larger programs.
>>
Make something you want to have.
Let the motivation of wanting that thing motivate you to keep trying and failing until things start to work.
I don't agree that you should start with "simple programs".
Read a book on a programming language and start making the thing bit by vit.
>>
>>101558254
This 100%. Don't make my mistake of writing tiny program after tiny program for years on end. Pour the energy into larger, longer-term projects because that will teach you things that working on small programs won't.
And btw, people in places like /r/cscareerquestions are hyperfocused on a few of the most competitive corporations on Earth, so you have to take that into account. Most companies won't even think of grilling you with LeetCode hards. They just expect a good understanding of the basics, like how to reverse a linked list (shows understanding of pointers), what is a hashtable and when to use it, what's the difference between O(n^2) and O(2^n), how to avoid making things accidentally quadratic when they could be O(n) or O(n log n). Beyond that, they'll be more impressed if you can talk intelligently and passionately about a project that isn't just the same basic React exercise that everyone does: what technical choices did you make, why, what did you learn, what would you do differently now. It shows initiative and self-reflection.
Also, if you're currently a college student: internships are important, they can jump-start your career. Pay attention to them.
>>
Good thread, bumping
>>
>>101545315
Leave this site and engage with actual knowledgeable programmers
>>
>>101545345
welder here, game dev by night, this. just this. general problem solving skills transfer to programming and it's a lot easier to learn from things you can touch. it's just a monkey brain thing.
>>
>>101545315
become Indian chad



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.