The first company I worked for (that is, actually writing code) was many years after leaving college. Prior to that, I taught computers, starting with a decade as a Vocational Teacher in The Ohio Department of Rehabilitation and Correction. I enjoyed teaching and actually became quite good at it ...
After teaching in various companies, I arrived at Select Sires (yes, a company that collects bull semen for artificial insemination). After about two years as a trainer, I had a supervisor there that "took a chance" on me and allowed me to join the team as a front-end developer.
There was some risk in taking this position. While I had a Bachelor of Science in Computer Science, considered myself a reasonably good programmer, and had kept my skills up to date ... I had not actually worked as a developer, let alone with a team of developers. If this wasn't a setup for Impostor Syndrome, I don't know what is ...
For five years I worked under (what I considered at the time) ideal conditions ...
- I thought I had an amazing boss.
- I had friends I worked with.
- We developed some pretty amazing applications.
- I got to go to several conferences each year (I was even encouraged to speak).
- I got to explore several emerging front-end technologies.
And above all I got the chance to write code ... remembering very quickly that, while I liked teaching, I loved writing code.
Five years after starting as a developer with Select Sires, I moved on. I found a new home with a company that had an amazing culture and a strong sense of values: Leading EDJE.
This is where "my impostor syndrome" kicked in and went into overdrive.
I was brought on as a Junior Developer and I had nothing to compare my skillset against, do I went with the flow.
The first project I started on with Leading EDJE was in the early phases and after a quick overview of the project, I found the elephant in the room, that code that was so daunting that it was being ignored. I dove in and after about a month, had something working.
I approached the team lead and scrum master to get permission to refactor what I had and generate test coverage. This is where I remember distinctly realizing the difference between the two companies ... I was actually afraid I wasn't going to be able to clean up this code and was shocked that I was immediately given permission to do what was right.
Not long after completing this code and its tests, I applied for and was made a Senior Developer.
Here's where I finally shook off most of my impostor syndrome. The culture under my previous company kept me from realizing the talent and skill I brought to the table.
- I was the only front-end developer.
- I had no exposure to good practices.
- I was encouraged to learn while stuck in "Deadline Driven Development"
My biggest takeaway has been realizing that I am able to write solid code, that I am able to solve problems, and that I can look at a problem and see a solution. I've begun to establish myself within the development community:
- Larger: Writing articles and speaking at conferences.
- Local: Participating in hackathons; using my skills in a high-stress environment.
- Company: Mentoring, helping those around me grow.
- Personal: Seeing those around me that are growing in some small part because of my help.
Now, I work with peers that are truly amazing. They challenge my skillset daily, pushing me to go further than I ever thought I could, while "[doing] the right thing, not the right now thing."
I still find my Impostor Syndrome pushing its way in at times; it will never truly be gone. Then, I get my head back into the code and it quickly dissipates.