These are my experiences on how I have been trying to find my career path. I am still there trying to understand if this path is the right one. So take it with a grain of salt.
Before you continue please do note that I don't believe I have yet reached the pinnacle of my career. I believe I have yet to grow and learn. This article is meant to be a short post on what I really wish I knew four years ago.
I believe I should give a quick overview on how I started my career. I engineered software before I ever graduated from university. Mostly creating websites and applications for small to large businesses. The most exciting pre-graduation project was around hardware reliability testing software I wrote for a big electronics company in Turkey while still an intern. I graduated from university with an electrical and electronics engineering degree.
From there I worked on multiple different software engineering problems in my first job; website design, infrastructure, home automation, embedded software, image recognition, image processing, ERP software. No real direction. No real ambition. I was rather content with what I did.
Chance and fate pushed me to US. To an e-commerce team in AmericanGreetings. I went through the same phases many other software engineers go through when starting a new job. In the following order:
- "I think they made a mistake" phase
- "I don't know what I am doing" phase
- "How does everyone else know everything?" phase
- "I think I know everything" phase
- "I actually don't know as much as I thought" phase
- "I need to work twice as hard to make it" phase
- "OK, I am doing something, it is pretty good, what is next?" phase.
The first five phases can be categorized as the imposter-syndrome phases. There are very good articles about imposter syndrome out there. Definitely go read them.
I would like delve deeper into the last two phases as I believe they are critical in deciding ones path to growth and can be toxic to the person if those phases are not managed well.
"I need to work twice as hard to make it"
Hi, my name is John Roach and I am a workaholic. This is a serious issue. I like sitting down and writing code. Learning new computer languages. Solving interesting software engineering problems. I do this for fun and I allow this time to consume the time I should be socializing and spending with my wife, family and loved ones. I have taken steps to change this. I don't know if I will ever be successful.
I reached the peak of my workaholism after 2014 which in a PyCon conference I started noticing gaps in my knowledge. In my opinion, some of these gaps stemmed from not having a structured training on computer sciences. Some however stemmed simply because improvements in tech move naturally fast. I noticed people outside my immediate circle were talking about things I have never heard before. Things like, SOLID principals, CI/CD, Docker, micro services, 12-factor apps, GoLang, Kubernetes etc.
I decided then that I needed to catch up. It was brutal. I was coming home from work and working late into the night on finding out what the best practices were from opinionated books and articles trying to come up with an understanding on how things should fit and what questions must be asked. The most fun I had was when I had once-in-a-blue-moon chance of implementing what I learned at work.
I am so thankful that my wife had achieved saint-hood before all this started. Because, after a while this way of life started getting toxic. I definitely lost my ability to sleep during normal hours. I sometimes was so tired that at work my speech would slur and I would mix up even the simplest things. Red Bull and Monster were my dear friends. Towards the end of this vicious cycle, I started getting stomach pains which turned out to be a budding ulcer, migraines would creep up and debilitate me for more than couple days at once.
After couple years like this I believe I got my wake up call when two things happened within a 10 month period:
- One of our team committed suicide (nothing to do with work, but still got me thinking)
- I couldn't remember the last time I was happy
Knowing what you know from the previous paragraphs. You might think that I now think what I did was wrong and I corrected my ways. Stopped working once I got home. Well... kind of.
I still work and play with new tech when I get home. Try to learn new things. But, I no longer sleep so late. I still believe, for one to learn things, you need to make the time and time is never given to you freely. The company you work for, at times more than 8 hours, isn't always the place to learn. If you are lucky you will find a company that allows you to learn new things within working hours. A lot of times it isn't possible. I so f-ing wish it was.
So in summary, you need to make the time to learn and educate yourself. Most importantly you need to practice what you learn. When making time don't forgo sleep or rest. Sleep is pretty awesome. Sleep deprivation is a thing and it kind of sucks. That being said, sometimes you might be in a position to make a choice. Make sure it is really worth it.
"OK, I am doing something, it is pretty good, what is next?"
-- will continue in part II