I remember starting my first job, excited that this hobby I had as a kid could pay so well. 55k, more than double what my parents had ever made. Diving into code written by other people for the first time was exciting. Hundreds of thousands of lines of hastily written code, a lot of C# some VB, every javascript framework that had ever existed, and a sprinkling of Delphi. To me at 20 years old, the whole thing felt like possibilities. So much we could do and change. So much to improve. But quickly I found out how wrong I was:
That will never change. Not here.
— Every senior dev I talked to
This sentiment, perhaps in more words, has been a constant staple in the 12 years since that first encounter as a bright-eyed junior developer. These words were not meant to discourage. They were not a reprimand nor some sort of "get off my lawn" routine. They were meant sincerely. They were meant as a lesson; as help so that I didn't grow frustrated. But that didn't work.
I am certain that a lot of people I've worked with (especially in those earlier years) didn't like working with me. I was frustrated in a very vocal way about the lack of progress, about the resignation I felt in those around me. I saw so many opportunities for progress but felt thwarted at every attempt. I saw very few ways to accomplish my goals. I had very little social understanding of the effect my ardent advocacy had on others' perceptions of me. Nor honestly, did I care. The world was wrong and I wanted to make it right.
And I still do.
When I look at all the wrong things I saw at my first job, I still feel the frustration. I still believe that these things could change. Should change. But more than anything I’ve grown frustrated at this advice itself. Why can’t those things change? Why have we accepted that they won’t?
Over these last 12 years of software development, the frustration hasn’t lessened. This advice is given to me even now. “Don’t push for that change, it's too embedded in the culture”. “You won’t get the hardware you need for that project. Don't even bother”. “Team X is the only team allowed to make APIs, you don’t want to fight that political battle”. Each time, these people pass on the lesson they too learned as a junior engineer. A lesson they have taken to heart.
Let me offer counter-advice. Advice I wish I had been given. Though it might not have stopped my frustration, I think it would have helped me and hopefully it can help you.
Those things can change. But they will be hard. They won’t change all at once. The only way to make them change is to truly care enough about them. But most importantly, you have to make others care. The younger you are, the less people will listen to you when you are frustrated. Learn to persuade, to convince, to be passionate. But hide that frustration when you can. People don’t like it.
Perhaps I should have realized this before. Or maybe I should have just taken the advice of others. They certainly seem happier than me. But if you feel this frustration and can’t shake it, this is the advice I can offer. I have seen countless things change that others told me wouldn’t. Don’t give up hope. Instead, take these statements as the warnings they are. It will be hard, but if you truly care, it can change.