3 ms·
> embarrassed to check in a pile of slop Part of being a true junior, especially nowadays, is not being able to recognize the differences between a pile of slo
by semiquaver 11mo ago
> embarrassed to check in a pile of slop
Part of being a true junior, especially nowadays, is not being able to recognize the differences between a pile of slop from useful and elegant code.
- gishh 11mo agoMore to the point, I think part of being a senior is being able to dig up code you wrote a few years ago and say “how awful”
- dhussoe 11mo agoI do think that there's a meaningful difference between writing code that was bad (which I definitely did and do) and writing code where I didn't know what each line did. early on when I was doing iOS development I learned that "m34" was the magic trick to make flipping a view around have a nice perspective effect, and I didn't know what "m34" actually meant but I definitely knew what the effect of the line of code that mutated it was... Googling on it now seems like a common experience for early iOS developers :) https://stackoverflow.com/questions/14261180/need-better-and-simpler-understanding-of-catransform3d https://stackoverflow.com/questions/14261180/need-better-and... https://stackoverflow.com/questions/3881446/meaning-of-m34-of-catransform3d https://stackoverflow.com/questions/3881446/meaning-of-m34-o... https://khanlou.com/2012/09/catransform3d-and-perspectives/ https://khanlou.com/2012/09/catransform3d-and-perspectives/
- johnnyanmac 11mo agoIt seems so obvious now, but it does make me thankful that my training drilled into my head to constantly ask "what is the problem I am trying to solve?". Communication in a team on what's going on (both in your head and the overall problem space) is just as important as the mechanical process of coding it. I feel that's the bare minimum a junior should be asking. the "this is useful" or "this is slop" will come with experience, but you need to at least be able to explain what's going on. the transition to mid and senior goes when you can start to quantify other aspects of the code. Like performance, how widespread a change affects the codebase at large, the input/outputs expected, and the overall correctness based on the language. Balancing those parameters and using it to accurately estimate a project scope is when you're really thinking like a senior.
- bitwize 11mo agoSenior level. Still can't sometimes. Just the other day I looked over some code I wrote and realized what a pile of slop it was. I kept wondering "What was I thinking when I wrote this? And why couldn't I see how bad it is till now?" My impostor syndrome is triggered hard now.