Live data from Hacker News

Absolute truths I unlearned as junior developer (2019)

monicalent.com

161–170 of 269 posts

Re: Absolute truths I unlearned as junior developer (2019)

#161
post #65
post #22

Earlier quoted context omitted.

There are abstractions that are not domain related, those exist as well, and I'd consider them more a part of product design, but software design can benefit from good abstractions at multiple levels and constantly do, but knowing how to use good abstractions and design them is very hard, bad ones or bad use of them will be worse than none. For example, a schema is an abstraction. Choosing to have a strictly defined…

I can almost guarantee you that any codebase with a "Player" class that looks anything like your example is a very poor codebase. It shows me they just didn't know where to start, so they started by throwing everything in there. Abstractions are always about the consumer of the abstraction, not the implementer. No consumer needs everything in "Player", so it's a terrible abstraction, and it's not just a data type or…

> I can almost guarantee you that any codebase with a "Player" class that looks anything like your example is a very poor codebase. It shows me they just didn't know where to start, so they started by throwing everything in there.

And then there is Unreal Engine 5's ACharacter class[0] :-P. I recommend checking the superclasses too.

[0] https://docs.unrealengine.com/5.0/en-US/API/Runtime/Engine/G...

Re: Absolute truths I unlearned as junior developer (2019)

#162

> Early in your career, you can learn 10x more in a supportive team in 1 year, than coding on your own (or with minimal feedback) for 5 years. I learned 10x more coding C++ and Rust in my room, watching Twitch streams of people doing interesting things and watching Cppcon talks than many years of coding in other languages at work. > Disorganized or messy code isn’t the same as technical debt. Try fixing a production…

>> Early in your career, you can learn 10x more in a supportive team in 1 year, than coding on your own (or with minimal feedback) for 5 years.

> I learned 10x more coding C++ and Rust in my room, watching Twitch streams of people doing interesting things and watching Cppcon talks

Exactly! You had a whole team supporting you, asynchronously.

Re: Absolute truths I unlearned as junior developer (2019)

#163

Earlier quoted context omitted.

I don’t know why you think that’s true “in general”. If you have a team with a senior member it, in general , what would you expect that team member to do? How are they different from the other team members? They are not senior because they’ve been there the longest. That’s stupid. That just makes them the oldest worker, not the most senior . I expect them to have more responsibility for making sure the team delivers…

> Why? …because seniority is about responsibility, and if all you do is write good code, you’re not accepting the responsibility for anyones effort but your own. Exactly. Ownership of a certain scope. This came out not long ago, and I love the graphic. https://www.honeycomb.io/blog/engineering-levels-at-honeycom...

Indeed great visualization. Definitely I'm going to show it to our future seniors.

Re: Absolute truths I unlearned as junior developer (2019)

#164
post #160

Earlier quoted context omitted.

It's still baffling to me how short avg tenure for SWE is, in general. I feel that after a year, maybe, is when I finally start getting the lay of the land, meet some people, start understanding more of the domain and can start causing impact worthy of my paycheck. I'm now at 3.3 years at my current gig and I'm feeling like I have superpowers, if that makes sense. I think it takes time to be in a position to really d…

In my 20+ years as a developer, I've always advised developers working under me to move around and not stay in the same place too long. After 3 years it's potentially time to start looking around.. It's not just about the money, you also want to acquire varied experience and see how different teams work and tackle different problems, and expand your own experiences. You can even come back to a previous company some y…

It's totally possible to get that, within a company. I worked for a Japanese company for 27 years, where they rotated assignments as a matter of HR policy. They also enforced things like code Quality, formatting, process, etc., to allow easy changes of personnel. Heavy-duty mentoring (by some of the top people in the entire world) and training. There was a direct career matrix, and the corporation took very good care of its employees.

This did not come without cost. The overhead was staggering. Lots of what I call "concrete galoshes"[0].

Retaining talent is not easy. It takes a great deal more than just bucks. It requires a loyalty (true loyalty, not the "weasel" loyalty that corporations like to put into glossies), from the corporation, to its employees, and this needs to be inculcated into the DNA of the entire management chain; from the CEO, to the first-line managers. Like I said, it needs to start at the top. I seriously doubt there's many top-level folks that have the stomach for it.

I did it, under very challenging conditions, for over 25 years. When they finally rolled up our department, after nearly 27 years, the engineer with the least tenure had a decade. These were top-shelf, highly-experienced C++ image processing/algorithm engineers; not tired, sub-par, oldsters.

[0] https://littlegreenviper.com/miscellany/concrete-galoshes/

Re: Absolute truths I unlearned as junior developer (2019)

#165
I've never had my code reviewed. The majority of my code was written in the days of MS-DOS, Turbo Pascal, and eventually Windows and Delphi. I was the solo developer at a small firm in the Chicago area with one product, which I had written.

As a retired person, I think it's like skydiving, something I'll never do. Unless of course, something on my github takes off.

Re: Absolute truths I unlearned as junior developer (2019)

#166

Earlier quoted context omitted.

I don’t know why you think that’s true “in general”. If you have a team with a senior member it, in general , what would you expect that team member to do? How are they different from the other team members? They are not senior because they’ve been there the longest. That’s stupid. That just makes them the oldest worker, not the most senior . I expect them to have more responsibility for making sure the team delivers…

> Why? …because seniority is about responsibility, and if all you do is write good code, you’re not accepting the responsibility for anyones effort but your own. Exactly. Ownership of a certain scope. This came out not long ago, and I love the graphic. https://www.honeycomb.io/blog/engineering-levels-at-honeycom...

In my experience it's uncommon to tell people that "senior engineer" is a 'terminal level' because, again, this is usually not very senior at all and you might have issues attracting and retaining talent if you do that. Again, "senior engineer" is a title and although it has 'senior' in it, it is actually not that senior within the organigram of most companies.

Re: Absolute truths I unlearned as junior developer (2019)

#167

Earlier quoted context omitted.

I hate that this has become the norm. Sometimes, even most of the time, tight clean code and proper data structures and clean smart queries are vital for both cost and performance reasons. That smart(experienced) people think up how to approach a problem and throw it over the wall to the juniors makes me sad, even if it has become somewhat commonplace. I was actually offered a position doing exactly that for a rather…

Thank you. Agreed completely I see software as a form of literacy, and it both amuses and saddens me to hear things like "I used to write code, but since I moved to management I have stopped" We don't hear phrases like "I used to read and write English, but since I moved to management I have stopped" It seems sad to note that this "move to management" is now also becoming the "move to senior engineering". This indica…

> We don't hear phrases like "I used to read and write English, but since I moved to management I have stopped"

I had to chuckle a bit at this one given how some VP+ folks write emails.

Re: Absolute truths I unlearned as junior developer (2019)

#168
post #150
post #128

Earlier quoted context omitted.

Yeah this annoys me to no end how tech people pretend that they have casually invented peace on earth, and act like it's the most obvious thing in the world. "Of course large groups of people simply just get along perfectly and efficiently without any coordination" Yeah right. It's the people who are dysfunctional who thrive in these environments because they don't have to be accountable, so their issues just disappe…

Large groups of people with a common goal can coordinate within themselves. They don't need to hear "do X, now do Y" from someone else. And if they do, they can appoint that someone else on their own -- it's how the world's free countries operate, after all; and a country is bigger than a company. The only reason people think this doesn't work for companies is that they haven't experienced the "common goal" part -- m…

Well you have the burden of proof for these extraordinary claims, in what way is this different from the pitch of a cult?

Re: Absolute truths I unlearned as junior developer (2019)

#169
post #38

I still reminisce about the first big project I ever built. As an intern I was told high level what to do and given two years alone in a room working eight hours a day to figure out how to build it, zero guidance from anyone. I didn’t really have any concept of importing libraries or using open source software, so literally every part of this huge and complex application was custom-written by me. All UI elements were…

> it was also the most beautiful and functional app I have ever used to date I laughed at this because of course a software developer would think the best-ever UX is the one they built in complete isolation with exactly 1 user (who happpened to also be the developer and designer).

I see your point, but I would give GP the benefit of doubt. Their app might be more beautiful and more functional than you think!

Re: Absolute truths I unlearned as junior developer (2019)

#170

> Early in your career, you can learn 10x more in a supportive team in 1 year, than coding on your own (or with minimal feedback) for 5 years. I learned 10x more coding C++ and Rust in my room, watching Twitch streams of people doing interesting things and watching Cppcon talks than many years of coding in other languages at work. > Disorganized or messy code isn’t the same as technical debt. Try fixing a production…

Off-topic, but what streams! Would love to follow along with some interesting Rust ones.
Post reply on HN