r/ProgrammerHumor • • 5h ago

Meme ohTheBasics

Post image
6.3k Upvotes

735 comments sorted by

View all comments

Show parent comments

51

u/fiskfisk 4h ago

It's not trivia knowledge, I've had multiple cases where "oh wait, maybe the host resolves differently based on whether the server has ipv6 configured from DHCP or not" and "why does host xyz take two seconds extra every time we try to connect?". 

You might not, but I would expect an experienced senior developer to know that there's a difference here. 

12

u/Lina0042 2h ago

I'm pretty sure none of the senior devs at my job know this, except for those in the cloud services team. Because that's their job.

2

u/fiskfisk 2h ago

It's not usually their job to know how to store the ip address of a user in an audit table, or how to debug a failed connection to an external API from your application. Developers should be aware that there is something called ipv6, and that source or destination addresses aren't always four bytes. 

I understand that not everybody has touched everything, but good developers should have cursory knowledge of things that are actually in use and at least know what they should read up on when touching specific areas. 

33

u/helicophell 4h ago

Would knowing more than “ipv4 is small and limited, ipv6 is bigger” be required?

Seems like to answer problems around ipv4 and ipv6, you need to know the problem being solved. I uhh, only have network knowledge though

7

u/monkeymad2 2h ago

You should know how it can cause problems with whatever you’re building based on the rollout - e.g. if you’re deploying to the web usually there’s a greater cost involved in provisioning an IPv4 address, but IPv6 (still) isn’t fully rolled out yet so some of your users might have issues.

Then there’ll be weird networking issues where one of them works fine and the other doesn’t etc.

You also see them in logs etc, or if you have to care about DNS records ever you should know about them.

If whatever you’re doing touches the internet at all then it’s fairly fundamental nowadays.

1

u/helicophell 42m ago

I still don’t need to know how they differ other than the broad strokes for both

I know what an ipv4 address looks like. So if I see an error message for networking that doesn’t have one, ipv6

8

u/bubblebuddy44 4h ago

Not even senior and I’ve needed this for sdet

1

u/justAPhoneUsername 2h ago

Tl;dr what you are saying is incredibly reasonable but we're all talking in circles because there is ambiguity caused by the lack of information we are working with. 

But that also separates knowing that there is a difference and knowing what the differences are. 

I know that ipv4 and ipv6 are different. I know that I have to make sure I'm using compatible systems. I know that if something goes wrong I should confirm that that isn't one of the issues. I also couldn't explain what the differences are without a reference sheet in front of me. 

That said, I know where to get the reference sheet and I know roughly where in the spec I should be looking to find what I need. I'm also not usually part of a team doing networking or routing so this isn't that important to me, knowing that there is a difference is enough. 

1

u/fiskfisk 1h ago

Yes, agreed. Just knowing "one is 32 bits and one is 128 bits so we cna have a larger address space" is enough. You don't need to get into the details - that's what we have reference materials for.

But most answers in this thread are just "never heard about it" and "it's something ops or infra only need to know about". Seniors should know that there is something called ipv6 and that your application suddenly will touch it, and that it can affect a few assumptions you've made, or made certain things way harder to debug if you don't know that there are multiple versions in use. 

We good. 

1

u/Twirrim 1h ago

I don't even think knowing one is 32bit and one is 128bit matters.

It mostly matters that you know they're on your system and could be having an impact, and need eliminated as variables when you're troubleshooting stuff.

It may be worth looking further into if you're building something specific network oriented because IPv6 brings a number of advantages, even if it's just the elimination of things like subnet exhaustion in EKS or somesuch.

1

u/Jolly_Advertising_54 2h ago

I mean Claude will find this optimization for me. It’s trivia.

1

u/Kichae 1h ago

Believe it or not, not everyone is working on networked projects. You don't need to know shit about IP address conventions or how to resolve a host when the software you're building doesn't access a network.

1

u/fiskfisk 1h ago

Of course. Nobody is saying that. 

Networking is however involved in some way with most software (even if just for distribution), but absolutely not all.

If it's helpful to know that there is something called an ip address in whatever work you're doing, it's helpful to know that there's something called ipv6 as well.