Live data from Hacker News

Absolute truths I unlearned as junior developer (2019)

monicalent.com

81–90 of 269 posts

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

#81

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…

Not sure if it's a fair analogy.

A construction manager doesn't use hammers.

The degree to which software is solving problems, your analogy is valid.

The degree to which it's mechanical, I have a point.

I'm managing a team right now that's making a simple mobile app. 100% off-the-shelf everything. There is not a single 'algorithm'.

Flutter and Django by the book.

With Django, the whole thing is a giant 'convention' - it's like, there is no 'code'. Just 'templates'.

I can't communicate how much confidence this gives me.

In the areas where the team has to make decisions ... that's where all the problems are.

So for most of our activities, we design features, work out the UI, give it to the designer, review, and hand it off to the devs to actually 'do'. The code is mundane.

This kind of scenario is quite common in software, perhaps more common than not.

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

#83
post #58

Earlier quoted context omitted.

I'd argue more people severely overestimate the need of communication quantity and management roles/responsibilities have inflated everything as a result. Worse, people who want to primarily talk are going to advocate for others to talk more. Regardless, whoever brings up what GP does is frequently bombarded with the old "communication important" or "soft skills matter" spiel in an attempt to validate the explosion o…

Many big modern organisations are built by bureaucrats whose specialisation it is to create more bureaucracy. Thus they spend a lot of time thinking up ways to measure the work performed from various angles, create reports for their superiors, and find other ways to ride on the work of others to earn their salary instead of doing actual work. This propagates downward and soon everyone (but perhaps the most junior con…

Really need a "clean communication" movement just like we have a "clean code" movement.

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

#84

> Things like indendetation, formatting, naming – god forbid you did it differently than I would have. I agree with chilling out about this when it's a human making the changes...except now that we have autoformatters we can actually be more pedantic about this than ever before :) If the autoformatter doesn't agree with what you wrote, bam, red CI. > Everyone writes tests A big thing I've learned over the years is th…

I don’t get what you mean about autoformatters. For me they run on save so it’s pretty hard to get errors from them. And I found the big advantage was not caring about formatting at all. I could write a long line and have everything rearranged and indented with a keystroke, and I didn’t need to worry about eg maintaining vertical alignment in the code or whatever.

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

#85
post #71

Earlier quoted context omitted.

That's exactly how we define senior engineer at my company. There's a lot of people able to produce code - even really complex and sophisticated. But you'll waste a lot of time if you're working without proper context and well organized team. From the other hand - you can't establish good context and organize team well without knowledge of what it takes to put requirements into code - therefore most efficient way is…

Its all fine and dandy, but expect ppl will be willing to do this kind of work if you pay them few salaries worth of money. If you want senior developer that will work as an architect, team lead, product manager etc. (S)He better make 400k per year or more.

It seems like you assume, that they are tasked more than usual, but in reality this the way we want to work, because it's simply better. There are many seniors on the team, so it's not like one is expected to fully cover multiple roles. It just means that you aren't bound to single.

We have nearly zero rotation within senior staff, and some actually came back from other companies, sometimes due to pure frustration with how little impact they had on what's happening within the project. Simply most of the team considers it the way it should work, not additional chore.

About 400k (USD I assume) - where I live you could easily get really nice house with that in less than a year, with zero mortgage and without limiting your daily spending too much.

I'm happy for you if you have ability to earn that, but with such expectations and altitude - no wonder US corps are so eager to outsource to our side of the pond :-)

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

#86
post #59

> Things like indendetation, formatting, naming – god forbid you did it differently than I would have. I agree with chilling out about this when it's a human making the changes...except now that we have autoformatters we can actually be more pedantic about this than ever before :) If the autoformatter doesn't agree with what you wrote, bam, red CI. > Everyone writes tests A big thing I've learned over the years is th…

Much of the time, once my code is the way I want, there's almost nothing to test. Any tests I write would just be an echo of the implementation itself. I think if you're using your static type system to its fullest and writing clean, "obviously correct" code, 80% of your tests are simply not necessary at all. It goes: - Bad code: almost no tests. - Good code: lots and lots of tests. - Great code: almost no tests.

The type system does help a lot, but I find the tests matter more for the next engineer(s) who need to touch your code. Modifying code you didn't write and don't 100% understand while being sure you didn't break existing features is priceless.

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

#87
post #50

Earlier quoted context omitted.

I don't understand this, this is the way every hierarchy work, and how every single job/management role is functioning. It's to solve the problem of communication overhead growing exponentially with larger groups of people. Why does this make you sad? And is it better to have a dysfunctional organisation where people float in and out of poorly defined roles and everyone tries to do everything? Does that really make y…

Is a hierarchy the right way to organise a company? communication does not have to happen from manager down to lower manager and then manager to reports. Why can't one guy at the top just email everyone (and even that does not have to be top down, answers received from God on the mountaintop but can be part of an active conversation (cf Torvalds). One way of looking at this is hierarchy works well for an organisation…

I’ve been thinking of coding as management too.

Considering the senior GIS focused dev at my work: to do what he does, but in the 70s he’d be a VP of a division of analysts and mapping techs. In 2022: he’s a programmer/maintainer on a project.

The co-op ramping up on the same program? Back in the day she would be a senior analyst on the management track under the VP. In 2022: a junior coder we can assign tickets to, with senior dev not as a boss/superior but as a guide.

Computer programs automate business processes that would require large orgs and rigid hierarchies 50 years ago.

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

#88
post #9

For me, it was that I thought that being a good programmer was that I write clean code with enough abstraction and indirection to make it future proof. Boy I was wrong. Unless you’re doing the same thing you’ve done for years, you can’t tell the future. And just when your unnecessary abstraction is wrong, this the reason why we’re talking about tech debt in the first place. Because nobody wants to touch it. Unfortuna…

There are also abstractions that are so good they are invisible until someone tries to reinvent the wheel without them. They are then forced to confront some reality which is more complex than they thought.

What seems to be the common thread is: "you are not as good as you think you are".

Never enough humility.

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

#90

The truth I had to unlearn is that coding is a solitary activity, and that coding is the most important part of a senior software engineer’s job. Now I rarely have the chance to code for a few hours straight because if I have enough information to write code then all that’s left is the easy part. The hard part is coordinating, defining the problem, planning for the future, and communicating the current status of the…

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…

This is also not how to solve problems - at least in my experience. I must write some code, usually completely scrapped, to understand how things will fit together. PoC code is the next stage after white-boarding for me.
Post reply on HN