About two years ago, I didn't get a promotion to "senior engineer" that I thought I was going to, and I had a huge temper-tantrum to my boss about it as a result (I'm still surprised to this day that I didn't quit on the spot, to be honest). I was upset, because people that seemed to be contributing less and were less-qualified (at least from my admittedly-biased perspective at the time) were promoted to a higher lev…
Absolute truths I unlearned as junior developer
151–160 of 534 posts
Re: Absolute truths I unlearned as junior developer
#152Overall a good article, but I completely disagree with the notion that "good enough is good enough". I've been in a lot of code reviews where developers push back because it's "good enough". You need to maintain a defined level of quality otherwise codebases go to shit very, very fast. I was recently told in a code review that a Cassandra read before a write (to ensure there were no duplicates) was "good enough" beca…
It's up to the team and customers to decide on that however. Database integrity is particularly important, so with limited information, I'd say you made the right decision. Therefore the first draft of the code was not good enough.
So, we should all be in agreement now, right?
Re: Absolute truths I unlearned as junior developer
#153Earlier quoted context omitted.
Unless you're in certain states where engineer is a protected term.
Engineer is not a "protected term" in any US state that I'm aware of. "Professional Engineer" has a specific licensed meaning but, if I have a degree in mechanical engineering I'm pretty sure I can call myself an engineer anywhere in the US without the licensing police coming after me. (Unless, of course, I imply that I'm licensed when I'm not.)
Re: Absolute truths I unlearned as junior developer
#154Admittedly, my first days as a junior programmer were before some of you were born, but I'm thinking of a particular format here... Learned as junior: If you report an OS bug or some other deep problem, seniors will not believe you and assume you're making excuses for your own bugs and lack of understanding. Understood as senior: If a junior programmer tells me they found a system-level bug, I won't believe them and…
> Learned as junior: Legacy code is hard to read. Understood as senior: Legacy code that I wrote myself is hard to read.
Lemma:
> Learned as junior: Technical skills matter most. Understood as senior: Communication skills matter most.
Theorem:
Communication needs to target the people of the future.
Re: Absolute truths I unlearned as junior developer
#155Earlier quoted context omitted.
Unless you're in certain states where engineer is a protected term.
Exactly. I would welcome changes that would bring software engineering to a state where it was a protected term. If someone used that term I could have a high degree of certainty that they would abide by certain standards both professional and ethical. Such as “certain percentage of test coverage” and “certain big-O tolerance” for different project levels. Etc. otherwise I’d write the person off as a coder.
You can do engineering without following any official standard, and anyone who do engineering is of course an engineer, so yeah, the protected title thing is just meh.
Re: Absolute truths I unlearned as junior developer
#156Earlier quoted context omitted.
I dunno. I’m a programmer because I like solving problems through code, and I’m not really interested in solving problems outside this toolset. Some artists were exclusively painters, and we still call them that.
Picasso could paint a whole house, in one day - two days tops if you wanted multiple colors.
Re: Absolute truths I unlearned as junior developer
#157The big one for me was the realisation that the code doesn't matter . I mean sure, it does, to us. It's what we do. But really, code doesn't matter. To the end user, what matters is that we solve their problem. We let them do their job, and we make that job as easy as possible. And that's what they pay us for. And to the company we work for, what matters is that we solve the end user's problem, and that we do so in a…
It does if you want someone other than the person who wrote it to be able to fix bugs and add features.
Re: Absolute truths I unlearned as junior developer
#158Earlier quoted context omitted.
This is why calling people "coders" annoys the hell out of me. There was a popular blog post a long way back[1] about how you shouldn't call yourself a "programmer" because that builds the expectation that programs are the key output of your work. "Coder" takes this problem even further — your job is no longer to build a program (with all the thought and design work that entails), but rather to type out code. I'm not…
This is why I always respond to questions about what I do with "software engineer". I've noticed people seem to perceive "engineering" as more serious than "programming", and it helps to promote the idea that I build things to solve problems and don't just sit there turning designs into code.
Re: Absolute truths I unlearned as junior developer
#159Admittedly, my first days as a junior programmer were before some of you were born, but I'm thinking of a particular format here... Learned as junior: If you report an OS bug or some other deep problem, seniors will not believe you and assume you're making excuses for your own bugs and lack of understanding. Understood as senior: If a junior programmer tells me they found a system-level bug, I won't believe them and…
Similarly, one thing I learned is that if I find a bug with an OS or platform, 9 times out of 10 it's actually due to some problem in my code or my own lack of understanding :)
Re: Absolute truths I unlearned as junior developer
#160Earlier quoted context omitted.
Maybe games can get away with more things because when they're done, they're (often) DONE . There is no next release, maintenance, new features etc. Once Balloon Pirates is done it ships, and is never touched again.
I don't think that's been the case for a long, long time. Almost every new game on modern consoles and PCs will see one (or many) updates in its lifetime. Game cartridges, things we used to think of as immutable, are merely storage devices for delivery of the original game code. Two recent games I purchased for the Nintendo Switch, on cartridge, both required a download before I could play them.
There is also the side issue of game engines which many teams reuse from game to game so maybe that doesn't really apply.