
Things I wish I had known when I started programming, Part 4 (2019) - juanorozcov
https://www.brainstobytes.com/advice-for-new-developers-or-things-i-wish-i-had-known-when-i-started-programming-part-4/
======
tluyben2
I started programming a _long_ time ago (more than 35 years) and if I could go
back then I would've told myself that my code will live far far longer than I
thought and was told then. This still applies. Most juniors I meet think their
code will be tossed out in months or maybe years. It doesn't; it stays for
decades. I still make the same mistake now when I write stuff; I was trying to
fix some bugs in a system I wrote in 2 days and then hacked on for 2-3 weeks
over time. It is a real (objective) mess as it was a hurry-hackjob and was
supposed to be replaced within 3 months (I was doing someone a favor; that's
how _bad_ things start :); I realised looking in git that it is from february
2012... And used by millions/month since then.

~~~
protonimitate
"Temp code" is the biggest lie anyone will ever tell you as a programmer.

Everyone will have perfectly good intentions, from PMs to directors to ICs,
but "this is only temporary" almost never is.

~~~
WrtCdEvrydy
Right up there with "We'll come back and fix it", "We'll refactor it later"
and "We can add the tests later"

It won't happen, and it has never happened unless those sections end up
failing catastrophically.

We don't have enough money to do it right once, but we have enough money to it
wrong twice - Me, 3 years ago.

~~~
WalterBright
I'm still regularly refactoring code I initially wrote 35 years ago.
[https://github.com/dlang/dmd/pull/11301](https://github.com/dlang/dmd/pull/11301)

~~~
tluyben2
I would be too in your case, but all of my work is for clients, not for the
'greater good'... Keep up the good work!

------
dharmab
The article claims impostor syndrome goes away after a few weeks. For me it
took many years to die down and it’s still always in the back of my mind a
little bit.

~~~
juanorozcov
Yeah, maybe it should've been something like 'it gets better/bearable' after a
couple of weeks, I don't think it ever really goes away.

~~~
YorickPeterse
10 years in, and I still deal with it on a regular basis (I wrote [1] a little
bit about this the other day). Hopefully it goes away one day, but I suspect
it won't.

[1]: [https://yorickpeterse.com/articles/10-years-of-software-
deve...](https://yorickpeterse.com/articles/10-years-of-software-development/)

~~~
ru552
I don't think it ever goes away until you make peace with who you are. Accept
that some days you will be less productive than others. Accept that somebody
else will always appear to get more done than you.

Give a look at Scott Adams's goals vs systems. Personally, when I stick to my
system I am less likely to look to something else to judge if I'm "doing
enough" and as a result, imposter syndrome doesn't have a chance to creep in.

------
abledon
"Love maintenance work or at least learn to appreciate it" \--- I _do_ love
maintenance work. its like a massive puzzle / jenga-tower, have to be super
careful about how to pull out and rearrange pieces.

Anyone know the best pay to stress ratio industry for this? Finance/Gov?

~~~
agumonkey
what's your usual timeframe to fix a bug ? are you allowed 4 weeks ? more,
less ? or are you trusted to make it as long as it needs as long as you report
regularly ?

~~~
abledon
as long as I report regularly, if i'm transparent and convey (with some acting
+ vocabulary skills) the breadth and complexity of how a bug needs to be fixed
correctly, usually hte higher ups understand and probably subconciously are
thanking the stars they dont have to deal with that 'code' stuff lol.

~~~
agumonkey
aight, cool

and I really wonder what happen in non coder's brains..

------
miccah
> You got your first software development job. The idea of being interviewed
> made you feel very anxious, but you studied hard and aced the whole thing.
> Finally, you arrive at the office on your first day and...

> And it's terrifying. Suddenly, you feel like a Jon Snow who knows nothing,
> and self-doubt starts to creep in.

I was very fortunate in my first position to not have any imposter syndrome,
and I think it is partly because I did not ace the interview. I was honest
when I didn't know an answer and showed I was willing to learn.

------
iamwil
Has anyone here been in an organization where maintenance work was rewarded?
How was it set up? Often times, maintenance is invisible, and people learn
quickly what the incentives of an organization are.

Of course, the value of maintenance varies depends on the stage you're in. If
you don't fully understand whether this is a market or not, then it's better
to write quick sloppy code. If you understand the market and customers, then
maintenance will reap rewards. How to convince your team to switch from one
mode to the other?

------
crispyambulance
It's nice to see a list like that, but really, many of these are lessons that
need to be learned "the hard way" by actually suffering consequences.

Sure, they all sound plausible and we may have even been told these things by
mentors during an internship. But is that going to stop an early 20-something
from charging into into a project shit-storm? I think not.

Some things are best learned by trial and error, how else can you know the
true pain these "commandments" help you to avoid?

