this post was submitted on 24 Feb 2024
1522 points (99.2% liked)

Programmer Humor

19589 readers
887 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 124 points 8 months ago* (last edited 8 months ago) (3 children)

I was originally a chip designer. Then I shifted into embedded development. Now I'm mainly a C# guy.

But when I shifted into embedded development, I also shifted into doing power engineering. I grabbed a couple of books on the topic at hand, taught myself a lot, and designed the electronics to meet the need. We sold the product to city utilities.

I remember one time I was in a room with probably 10 engineers from one of the utilities. After having described the product to them, and went through a lot of our settings and stuff, I was explaining the difference between two of algorithms we put in (because different utilities use different algorithms, and I just wanted one device that could do both). At some point I was like "which of the two algorithms do you use?" and one responded "well, which do you recommend?" So I talked about why I thought one was better than the other.

They all started looking at each other and nodding and saying "Yeah, that's the one were going to use." I realize I could have said anything at that point and they would have agreed. They thought I was expert. And that was my "last two frames" of this comic moment.

Now as a senior dev, I've seen enough shit to realize that most people have no idea what is going on, and are flying by the seat of their pants. So I figure my ignorance is a little less than theirs, and that gives me a lot of confidence, but I also realize that I can learn a lot from most people.

[–] [email protected] 37 points 8 months ago* (last edited 8 months ago)

I've always felt like I don't deserve my role, I climbed the proverbial ladder quick and I am very young for my position (Principal Engineer). But I sleep fine at night because at the end of the day I was always honest with my skills, my intentions and my motivations, and I'm always sure to get full agreement from everyone before doing stuff. If after all that nobody figured out I'm a fucking idiot just making an informed guess, that's on them.

I always fear the next company I join will have "real technical leaders" who will inevitably show me my place, but it hasn't happened so far (3-4 massive companies in the last decade).

Maybe one day I will meet this person, but it is not this day... And then I try to teach the same to younger engineers to work through problems as a team and just do it until somebody stops you, because in a lot of cases nobody has a clue either, and that's what it means to lead.

[–] [email protected] 16 points 8 months ago (1 children)

Now as a senior dev, I've seen enough shit to realize that most people have no idea what is going on, and are flying by the seat of their pants.

What's helpful in my industry is that new development happens so frequently that the absolute best answer today is probably the wrong one in the next few years. Since I'm never on the absolute cutting edge, I have to trust my team to pitch the plan and we roll with it.

What I think makes me a senior is me knowing that we don't know anything, but being able to create a plan if/when we have to make changes.

[–] [email protected] 6 points 8 months ago* (last edited 8 months ago)

When I was working stand-in positions such as after a move, for example retail, my favorite go-to when asked "Whyyyy?" was "I have no idea. No one told me anything." I sometimes miss those days.

You're right though. Most people have enough knowledge to do the steps of the job or task. For many of them skipping a step shuts down that memory, if only temporarily. I've met only a handful of true experts. People who can do things forwards, backwards, upside-down, and mix things up on the fly. They are BY FAR the most uncommon.

[–] [email protected] 118 points 8 months ago (2 children)

I’m not in software development, but this is how the entire company I work for operates.

We’re just kinda going forward with no clear direction, keeping stuff ticking over and constantly coming up with future plans that never come to fruition.

[–] [email protected] 74 points 8 months ago (5 children)

This is how the world is. No one is really an expert. No one really has the answer.

[–] [email protected] 16 points 8 months ago (1 children)

and we all look up to the people who look like they know what they're doing (they don't but they are very convincing at looking like they do)

[–] [email protected] 22 points 8 months ago (7 children)

In their defense, if they don’t pretend like they know what they’re doing everything would fall apart.

[–] [email protected] 11 points 8 months ago

Oof. Painful truf.

load more comments (6 replies)
[–] [email protected] 6 points 8 months ago (1 children)

There are people who are knowledgeable and good at their job. Knowledgeable enough to be experts. Those are usually subject matter experts, including developers.

The issue is that no one can guarantee an outcome or that they've picked the right approach.

[–] [email protected] 0 points 8 months ago

And if they didn’t pick the right approach, they aren’t an expert.

[–] [email protected] 5 points 8 months ago (1 children)

But this is really more a product of capitalism than anything else. Under capitalism you just have to keep moving even if you're just making garbage and debt. There's no reason to stop and think, because that is seen as a cost (even though it costs more to move without thinking).

Even the best companies that do factor in planning (at least in concept if not actually in practice most of the time) end up with the other problem of "resume driven development" where things that are totally fine and actually working get replaced with things that don't work because someone needs a new project to get their promotion.

Capitalism produces garbage and puts the people who are least qualified in decision making roles. This still happens in natural systems, but much less. In (healthy) anticapitalist organizing, the people who know the most are generally asked to lead and when they don't know what to do they stop and figure it out before moving forward.

Aimless wondering can still be a problem, but it's not forced by the system to continue it's just people who are learning.

[–] [email protected] 1 points 8 months ago

people who are learning.

That’s the problem. The majority of them don’t learn, and really fuck shit up for the ones trying to.

[–] [email protected] 3 points 8 months ago (1 children)

I'm an expert and I have all the answers.

[–] [email protected] 3 points 8 months ago

Obviously anyone named Ricky Rigatoni is gonna have all the answers. If you say he doesn’t, he’s gonna snap you like dry pasta.

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago)

There are answers, they just take a level of experience to reach that most people aren't cut out for. You gotta be several principal+ IC roles or Dir+ mgr roles in before the patterns congeal into a plan.

Challenge is operating at those levels for extended periods requires a super fucking insane level of competency and dedication. Most people hit that spot and coast till retirement cause you're at $500k+ at FAANG. Few keep looking for new opportunities unless forced to or they're those corporate robot sharks with the dead eyes.

[–] [email protected] 33 points 8 months ago

This is how all enterprise companies I worked for operates too. Only when I joined a smaller company with 80 people I realized that it can be really fun to work. We get a lot of stuff done and hardly any meetings. Really enjoying it.

[–] [email protected] 64 points 8 months ago (1 children)

That was me in the first few months after I had to replace the senior dev when he took a better job. I was only junior for like 5 months prior to this, I also lied about having 2 years of experience in the interview and the team misunderstood my quick learning with expertise. At the end they thought I was good enough for the position but I was freaking out because I was lacking a lot of experience, I still took it because the raise was huge. I couldn't sleep well for months while I was trying my best to learn how to do my job.

[–] [email protected] 63 points 8 months ago (1 children)

One of my favorite managers once told me while I was struggling with a severe case of imposter syndrome "if you're faking it well enough that others can't tell, you might not be faking it as much as you think."

[–] [email protected] 17 points 8 months ago (1 children)

Yup, the good old imposter syndrome. The truth is no one really knows what they're doing,

[–] [email protected] 4 points 8 months ago

If you feel like you're sprinting into the dark, you're doing something right.

[–] [email protected] 49 points 8 months ago (1 children)

inb4 senior delegates critical decision-making to juniors and only shows up once stuff is on fire

[–] [email protected] 19 points 8 months ago (2 children)

It’s funny you say this, because my junior is complaining that I micromanage too much. I prefer to make the critical decisions. Whenever I don’t make them, I end up putting out fires.

I tell them that and they respond, how am I supposed to learn if I can’t make mistakes?

Then I remind them they can fuck up all they want in the dev env.

[–] [email protected] 1 points 8 months ago (1 children)

For me it was reverse. When I was a junior I was reviewing PRs from the seniors and it couldn't have possibly been tested to work.

The seniors were super lazy and around half the PRs would have broken production.

Seniority often comes from years of work and not knowledge.

[–] [email protected] 3 points 8 months ago

I try hard not to be an asshole at work. I also produce the most code. When my junior came on I told them that I’m here to help, and I want them to ask dumb questions instead of struggle. I also told them that I make mistakes, and they should call me on my shit—which they looove to do, brat.

[–] [email protected] 1 points 8 months ago (1 children)

Why are you making critical decisions in a prod environment?

[–] [email protected] 4 points 8 months ago (1 children)

For the production environment, not in it.

[–] [email protected] 1 points 8 months ago (1 children)

Shouldn't every decision be tested in dev first?

[–] [email protected] 1 points 8 months ago (1 children)

Yes. I think you may have misunderstood my meaning. Unless you’re just being pedantic—which I have no interest in.

[–] [email protected] 1 points 8 months ago (1 children)

Probably my misunderstanding. The way it is written it sounds like juniors use the dev env and seniors get their decisions implemented directly in prod.

[–] [email protected] 1 points 8 months ago (1 children)

What are “decisions” to you?

[–] [email protected] 1 points 8 months ago* (last edited 8 months ago) (1 children)

From what code to write, to what language to use, to how things will integrate.

Even high level architectural decisions need to be tested in dev first.

Basically I can't see what couldn't be run through dev first?

[–] [email protected] 2 points 8 months ago

Just because code works in dev doesn’t mean it’s going to be the right thing for production. I caught that little bastard making 1000 db queries in a loop one time, instead of taking the time to make it efficient. Technically it worked. And, because dev has no server load, it was relatively quick.

[–] [email protected] 28 points 8 months ago (2 children)

Embrace agile programming. Add what the customer wants and laugh at their poor decisions.

[–] etenil 9 points 8 months ago
[–] [email protected] 4 points 8 months ago

to paraphrase hl mencken: ask and ye shall receive -- and receive it good and hard

[–] [email protected] 10 points 8 months ago (1 children)
[–] [email protected] 18 points 8 months ago (1 children)
[–] [email protected] 8 points 8 months ago

So both images removed the watermark

Sad

[–] [email protected] 6 points 8 months ago

Just the other day I thought of how stressed out the main bird in a formation has to be figuring out where the entire flock is going. ^ ^'

[–] [email protected] 5 points 8 months ago (2 children)

I see serious lack of responsibility. By junior dev. Also lack of attention and initiative.

[–] [email protected] 5 points 8 months ago

Yeah I’m shocked by some of the things I read in these types of thread. I’m not perfect, we all make mistakes, but I am definitely confident in that I know what I am doing.

[–] [email protected] 4 points 8 months ago

I mean you can do this in the first year.

I however slipped much faster into the senior dev position than I liked. Basically after 2 years full time (and 5 years as a student on part time) I am now expert in a few things and the go to person for questions. For people who work longer in there than me.

[–] [email protected] 4 points 8 months ago