I started training a great group of new hires at work this week. This is my first time training a group and it’s been exciting. Today I had something interesting pop up that brought me back to something I blogged about awhile ago. We got on the topic of what I like to call “changing the world’. Developers leaving college have a fresh idea of the latest and best practices in software engineering. When they enter the workforce they can easily see the “wrong” in everything we do in the industry. At that point they get the idea that it is up to them to “change the world”. That is, they must change the processes we have and supplant them with the “right” processes they learned in school. What they tend to misunderstand is that everyone who has come before them have already explored the move to better SE practices, and with experience they have learned when it is proper to spend time adopting new practices and when that should be put aside.
Now, I didn’t actually talk to them about the “changing the world” mentality. They asked about using new processes or implementing better ones. I started to go on about how it is okay as long as it doesn’t disrupt getting projects to market. I noted that after a while in the industry you start to shift away from the focusing on trying to change everything and realize what you’re responsibilities really are. When I was searching for words to describe this, one of them chimed in with the words they thought I was going to say: “they broke your spirit?”. The “they” used metaphorically. At the time I couldn’t yet articulate my response well, and so I responded, “no, I’ve grown up.” However this doesn’t quite grasp what I wanted to say, and it could probably be taken out of context as condescending since “growing up” usually implies the adult-child relationship. The words I should have spoken were: “I’ve tamed my spirit”.
But the truth is that I haven’t fully tamed my spirit. As a grow as a developer I am slowly gaining that wisdom I admire in those that have gone before me, but I haven’t reached the level of control and understanding they have. It’s a constant battle when you are this new in the industry to keep that urge to change the world in check. I touched on this slightly in a blog post I did awhile ago giving advice to new developers. I told them to realize that they are not “coding hermits”. This is what I use to keep my spirit tamed. When you realize that the code you are writing is for a purpose and the adoption of new SE practices can be expensive and distracting the mission of getting things to market, you realize that in many cases you really shouldn’t just try to change the world.
Blah, I am having a hard time writing about this tonight. Training is draining me! I may go through this again in better detail in a future post. Thanks for reading :).