I had to take a few days to write this. I'll also say if you feel
personally attacked by the end of this thats on you and I can't do
anything about it.
------------------------------------------------------------------------
In my 11yrs in tech I've noticed a skill that the best of the best
have...troubleshooting. I would like to consider myself one of the best
so this is a skill I work on a lot. Oh and best here isn't just
programming. I'm talking about anyone worth looking up to, people who
make the real money, people who always keep a check.
As I get grumpy with age I find that the one thing that bothers me more
than anything is people who aren't jr level/have been in industry 2+ yrs
not knowing how to troubleshoot. Troubleshooting is sometimes less than
10% of your job. If you get good at it you start becoming the go to for
answers, make more money, and better at your job overall.
> "These young folks seem scared to touch a keyboard" -30yr old me
This quote is funny because I'm not considered old at work nor young.
Young to me is less than 5yrs in industry. You make more friends and
gain more knowledge from others if you willing to learn how to
troubleshoot. Especially as a developer you wrote the code...how are you
not interested in fixing broken things, learning the system you're
adding/modifying parts in, or understanding under the hood of what your
working on? Its so lazy of you to not learn a core skill of being a team
player and expecting these big salaries.
**So how do we fix this?**
I'd like to start by saying I blame college. College doesn't stress the
importance of troubleshooting in your day to day. If you can't help
solve problems what value do you add to the team? Not just build new
feature problems (documentation is a different old person rant), but
maintaining what you have.
What is my solution? Make everyone be on a rotation to fix bugs/doing
improvements. I know it's not the cool and sexy work, but there is value
in fixing bugs and/ir making improvements. You could be looking at a new
part of the system, making something more architectural stable, or
learning a new stack/skill/whatever. Everyone now works in sprints so
there is a few ways to do this but there are only 2 I personally like...
1. pick 5-10% of your teams to tackle bugs and improvements in a
sprint. Nobody can do 2 sprints in a row and you have to at least
have 1 sprint every 30 days.
2. Require that every sprint 5-10% of the work/active tickets must be
bugs or improvements.
I've found I like the vibes of \#2 the most but \#1 makes sure that
nobody skips out of this shared experience.
How have you been able to implement this?
-----------------------------------------
The easiest way is a simple "hey we are changing up how this sprint is
done. Same amount of points/efforts but we want to try to get our tech
debt down and try to get more people familiar with different areas of
the system".
TLDR: I don't have the deciding power, BUT I have just pull in
bugs/improvements from the backlog into my work if I got stuck. Allowing
me to maybe improve something in a similar area of my new feature and
take a task off the team plate. Doing this a mid/sr level engineer and
being successful has encouraged my team to follow suit and gotten us
through a lot of our backlog faster.
Anything else?
--------------
Nope I've just had this little mini rant on my heart and mind lately. I
know it's not really a fair rant and a touchy topic, BUT I think
troubleshooting is a core skill that the tech industry is losing and
that saddens me for the future. Especially with all the blind trust in
AI.