“Stack Overflow and Google”
“It’s Stack Overflow and Google”
“Stack Overflow and Google”
How dare you expose my fraudulent career!!!
It’s not fraudulent if everyone does it
Wall Street, 2008 (colorised)
Any idiot can check Stack Overflow and produce ugly code that barely works.
It takes a genuine professional idiot to check Stack Overflow and produce beautiful code that barely works.
tbh, I feel stackoverflow went to shit. Most questions are now closed as duplicates of other unrelated ones. I rarely use it anymore
“Stack Overflow, Google, and ChatGPT”
“It’s Stack Overflow, Google, and ChatGPT”
“Stack Overflow, Google, and ChatGPT”
It’s Bing, it’s all Bing now
tbh I’ve switched from Stack Overflow to Documentation and Reddit (yes I know)
I’ve found Stack Overflow answers to be either not helpful or so outdated the answer doesn’t work anymore
It’s definitely had a massive reduction in quality as of late, that’s for sure.
Stack Overflow barely answers my questions most of the time unless they have a very specific problem that word for word matches mine. Me, I turn to Discord, since it’s just a lot faster.
Fives years of fucking around and breaking shit. Worth it though
Keep it up. I’m on 37 years of breaking shit. Never gets old.
This is the one
“how do you code so well?”
“I don’t”
That used to be a problem for me too, now I’m a senior dev and my day job is just criticizing junior devs for their code.
I used to dabble in coding. Never done it professionally. To be a full time developer would probably kill me, I remember constantly thinking of how to build this or that function, or how to do a certain thing, or why something keeps failing. I’d constantly be thinking these things, in the shower, while brushing my teeth, while driving, it was making me insane. Don’t think I could do it professionally.
Personally, I enjoy the problem solving. Debugging is fun once you’re good at it (and when there isn’t major time pressures).
Professional software dev is also waaaaay more than just coding, too. And the more you do it, the less coding you’ll do. A junior dev might spend most of their time coding, but senior devs are spending a lot of time doing high level design, helping the juniors, and reviewing various kinds of things.
…well, I do that, and enjoy it, so I guess that’s why I feel like an impostor that has my hobby for a job. “If they figure out how much I enjoy doing this, they’ll cut my pay…”
Well, the second I clock out I’ll stop thinking about how to solve a coding problem for work.
(Instead I’ll start thinking about how to solve a coding problem for a
never to be finishedhobby project.)This seems more likely thinking about it, before I was doing coding as a hobby. If I was working on something at work that I wasn’t particularly passionate about I may not obsess as much.
I remember being like that when I was learning, I literally couldn’t get problems out of my head, my brain would be trying to solve a code issue while I’m trying to sleep.
Now I do it everyday it’s learnt to just switch off when I’m done for the day (most of the time).
wait, you guys are good at coding? i thought we were all just joking!
No, you heard wrong. We’re good at googling, not coding.
Yeah, all that ‘practice’ isn’t coding practice - it’s practicing our Googling techniques at finding the right answers more efficiently.
I am finally comfortable saying that I’m good at it, but I’ve been doing it for 20 years. So like the comic said, “it’s practice!”
I’m fifteen years in… I need more time in the oven.
I’m good at what I’m currently doing. If I had to take a tech interview for a new job, I’d be right back to full-on imposter syndrome and nervousness.
Some people were programming over 40 years.
It is practice, but there’s a gift element involved too. My gift is that I enjoy ridiculously complex challenges. So I enjoyed learning and practicing code. Someone who doesn’t enjoy that, probably won’t enjoy learning to code, just like someone who doesn’t enjoy creating things won’t enjoy all the time it takes to learn how to draw well.
This is maybe less of a gift than you think and can also be learned with practice. It’s about having a growth mindset. If you practice framing things in terms of growing ability then everything becomes achievable and the challenge becomes enjoyable.
Yeah, cultivating a growth mindset is really, really important. And it really is cultivating…you’ll have a hundred reasons why you “can’t” knocking on your door, and you’ll have to be persistent to slay each one.
But once a “growth mindset” is habit, it gets easier.
Its the same with drawing.
Its funny how no one gets confused about lawyers having to practice law, etc. We need better PR.
Blame Hollywood - every movie programmer is just a natural savant (probably on the spectrum) who operates a computer in more or less the exact same way a wizard operates a wand
That’s exactly what my mom sees when she can’t find her tabs in chrome, and I open edge because I figure that’s what she’s inadvertently been using since one of the windows updates.
Meh, let her use it, they’re the same browser anyway.
Wait until you see the original version of the comic…
To be fair, as someone who cannot see things in my brain at all, there is some amount of innate talent to drawing, but obviously as with everything it takes practice to make it actually good.
Yeah it’s like how I am with mechanical aptitude. I had a bit of a head start, followed by decades of practice and instruction.
Ok, but I’ve never really seen anyone casually lauding the skills of a lawyer either.
The Onion did in their Amicus Brief, kinda.
Ehh as an artist I disagree. Yes practice helps immensely and you’ll only get better with it. But there are absolutely levels of art you won’t get to if you naturally aren’t that good. You do need talent, too.
There are tons of pieces I could never draw even if I practiced for a billion years, Groundhogs Day style.
I wouldn’t say practice alone… I’d say practice and a particular predisposition. It takes a special kind of madness to see C++ compile errors and think, “I want more of this in my life.”
I’d say it’s more than just practice. It requires a certain way of thinking too.
We hired a greenhorn dev several months ago. He had two years experience at a larger company. I only have about five so far and my company doesn’t really pay all that well to field great talent, so I wasn’t hoping for the world. But we were expecting at least something a little above entry level experience.
The guy did know how to write basic code. Frankly not to the degree I hoped for, though. Also lacked all auxilliary skills like effective use of version control, logging in to remote servers over SSH, documenting code with doc comments. He doesn’t even write particularly legible code without the formatter to fix it for him. Very sloppy with spacing, braces, etc.
But those are all of little concern. Those could all be taught. It meant more effort needed to be spent in onboarding than we wanted, but it could be done. Helps that he has a very positive oulook on constructive criticism and he uses it to improve.
One thing that I don’t think I can teach him in any reasonable amount of time, though, is how he mentally tracks the structure of the program he’s working on.
When I program, every time I change anything, I construct a mental web of everything this piece of code might affect when changed, and the ramifications it might have. I think of neighboring code and concepts looking for patterns, and whether the new thing I’m adding or changing could be better expressed differently to leverage those patterns. I think of the future trajectory of the module or feature, and whether it would be advantageous to bake-in a certain kind of forward-thinking extensibility now rather than after it becomes partially entrenched later. And most of all, I think of how someone completely unfamiliar with this code might read it, and how I can improve the way it is written to make the most important parts stand out clearest.
And when I’m debugging code, even if I see the problem and think I immediately know the solution, I still take time to read the surrounding code. I try to piece together the original bugged code’s intent. Is this onvious-looking problem the real problem? Or is it a poorly documented, poorly structured mess that looks like it wants to do one thing but is intending to do an entirely different thing? This hesitation has saved my ass on several occasions.
New dev doesn’t do any of these things. He pulls a bug ticket, figures out what module or function is the supposed source of the problem, and bangs on it until the effects of the problem disappear. Little research done to understand what the intent of the code he’s altering wants to do, and even less spent on figuring out what downstream systems will be affected. And once he achieves his singular result, he just pushes it as-is. No cleanup pass, sometimes forgets to format it the way we ask him to.
To be fair, it’s a big new codebase. I can’t expect him to reason around things he is not familiar with, nor would I think it reasonable that he study the entire codebase before touching it.
I also don’t think these things can’t be learned. I had to learn them at some point, after all. But I do believe that people like myself and one of my fellow devs are more predisposed to picking these programming soft skills up, whether it be through nature or nurture or some combination. That, and I don’t think these kinds of soft skills can really be “taught” in the traditional sense. These are wrenches you can only really learn to dodge after being hit by a few.
Ironically, as I’ve become more senior (11+ years at a faang company) I’ve had to do less and less of that “look around and understand everything” work because of time pressure. But I rely on my experience to be more confident that I can ignore the details and focus on the reason I’m in this file.
Well, that, and if it gets too messy I give up and call in a junior engineer…
Yeah, how much time you get to dwell on it will depend on lots of factors and the needs of your client/employer.
I happen to work at a place where timeframes for fixes are quite lax, and the codebase I’m working with is slowly being recussitated from a decade of bad decisions from a D-tier web developer. (Dreamweaver was involved… let’s leave it at that.) I can imagine if you have a codebase that was somewhat competently designed from the start and/or your client/employer has a “I need this fixed yesterday or else your ass is FIRED” urgency, you don’t have time to dwell on such things. But it helps to have the experience that at least lets you do it a little bit rather than not at all.
True. I have issues comprehending text and I suck at coding since I can’t read documentation well. Being bad at math is the cherry on top.
Every time I mention that I have a very modest ability to write code, people instantly think I’m a genius and can make a computer do anything.
Can you get this virus off my computer?
Look, I’ve just had this incredible idea for an app. It’s like Netflix but better, you can probably code it in a month and make us billionaires
I’ve literally had a guy with the same pitch, but it was LinkedIn that allows embedded videos.
Haven’t heard from him in a while. I think he may still be in rehab.
My guy wanted to use drones to cut hedges.
I think its more about how some people can get really dedicated to one thing and others cant and those who are dedicated practice more so it looks like they are just better. And then there are 10x programmers. They are a different animal(get it?(furrys)).
It’s also probably rewarding for people who can put half the time into something and get 2x the result vs just normal people grinding slowly.
Or ponies
Some people are and aren’t cut out for it. A natural predisposition will take you very far.
Practice alone only gets you so far. Think web dev.
Some talent absolutely comes along if you want to do more than a [ complicated ] website. Think linux kernel.
I think you need to enjoy it to be good at it and I think you need a certain kind of brain to enjoy it
Feel like it’s kinda telling that my dad and both of my uncles are also devs
That as well.
Even knowing this, I’m still both in awe and jealous of talented people. Some people I know who can practice so much that they become exceptional at something seem to be immune to burnout on their passions for long periods of time, or seem to have a brain chemistry that remains resilient in the face of it, and that ain’t me. I’ve suspected I have ADHD but it’s hard to get a diagnosis and my doctor said he’s hesitant to diagnose his patients even though he thinks it’s possible (and I’m in Canada where I’m lucky to even have an assigned family doctor so I can’t really get a good second opinion on that). Programming just happens to be one of the few things that I get burned out on the least compared to everything else and even then it’s hard to sustain interest in it for long periods.
I can relate with this so much. My friends joke that my hobby are collecting hobbies for that reason. I get excited about learning something new, practice enough to get passable good at it, realize how much more there is to learn to hit fully proficient, try to work towards it, and end up burning out.
I thinking coding has stuck for me because you don’t really just learn programming when you program. You are typically making a tool for another skill or profession which means you end up learning alot about that different skill while building out a project. That I, for me, helps stop the burn out, because each new project comings with learning outside of coding directly.
I like to think about programmers as the modern jack of all trades, but of course I’m biased.
“my hobby are collecting hobbies” oh gosh that is so relatable. I simply cannot decide on a single hobby, and all of my hobbies end up getting lost one way or another - but even if I sometimes stop programming for months, I will always come back to it and just look at the magic of how fun it is when you solve a problem, because it’s different every single time.
For anyone who wants some coding challenges, I’ll leave this image:
If you’re interested in any of these topics, great. If you’re not, even better. The important thing here is to set task and push yourself to complete it.
Where has this come from? Looks like a screenie from a CLI which I might give a go
Nah it’s not a CLI, it’s just an image, sorry.
Looks scary.