August 14th, 2017. I suppose I could call that the first day of the rest of my life (or at least this part of my life). It was the day I officially started the Web Development Fellowship at Fullstack Academy of Code.

I've written pretty extensively about that experience (here's one recap post I wrote), but to summarize, it was a positive experience. I learned a lot, met some wonderful people, and really started to love being immersed in the tech ecosystem. These five months were not all sunshine and roses, as I found certain concepts more difficult than I expected. But more than that, I struggled to find my place in the community, and I worried that if I couldn't find my place in my bootcamp, I would never find a place in the greater developer community. I graduated from Fullstack in December 2017 excited to go forth and start my career in software engineering.

After a relatively short search, I found my first actual real life developer job. I was hired by a consulting firm as a fullstack developer (my official title was "Fullstack UI Developer"), working full-time onsite for one of their clients. I was originally told that the job would start with an automation testing project and then transition into feature work, but that transition to feature work never came, and I was unhappy about the fact that I wasn't given much opportunity to do the work I enjoy. There were some good things about that job - I met some great people and had an opportunity to learn a lot from (and with) them. One major lesson I learned at that job was the importance of thorough testing. But ultimately, this job was not an ideal opportunity for me. Not only did I eventually realize that I wasn't what the company really needed (I was hired as a javascript developer and only had experience in that area, and what they really needed was a SDET who had education and experience in automated testing and could have better guided that project), I really did not feel well-supported, either by the consulting firm that I officially worked for or by the client where I was spending all of my time. While it was ultimately the company's decision to let me go, I'm happy that our relationship ended when it did and that I can still look back on some of the good from that job.

The end of that job brought on one of the hardest parts of my career to this point - my second job search. I went into the search excited and optimistic. This was a chance to learn from my mistakes and find a job that would be right for me from the start. I knew there were a lot of great jobs out there, and now that I had a year of experience under my belt, I was in a better position to find that right job. But the interviews didn't come, and when they did, they didn't lead to offers. I tried to be optimistic, but as the search dragged on, I became very discouraged. I considered leaving the industry several times. To be honest, I think the only reason I didn't quit is because I didn't see any non-tech options (that I was comfortable with based on my life and financial needs) open to me. I even ended up "lowering" my standards and applying for entry-level jobs with no experience required, but that didn't work out either. I had several companies tell me that they liked me as a potential teammate but I didn't fit their technical needs, which made me wonder if I should be applying for non-technical positions at these companies. Eventually, after nine long and frustrating months of searching, I got the offer I was looking for, and I started preparing for my second software engineering job.

On November 4th, 2019, I started my current job, as a full stack software engineer working at a healthtech company. I've been here for nine months, and while it's not 100% perfect (nothing ever is), things are going fairly well. From the start, I've had the opportunity to work on projects I enjoy, ranging from creating new frontend components to fixing small bugs to refactoring existing components (and lots of big and small tasks in between). I've noticed a large amount of growth in my technical skills. However, I haven't seen the career growth I was hoping for, and based on the discussions I've had, a large part of that is because of interpersonal skills. Working with others, while it is sometimes something I enjoy, has always been difficult for me. I'm not comfortable reaching out to others to ask for help, and when I do receive help (either in the form of pairing with a teammate or through comments left on my PRs), it can be hard for me to fully understand what my teammate is trying to say and to see constructive comments in the midst of what often looks like criticism. I've always struggled with communication, and knowing that my struggles are holding me back at the company has made me feel like my technical growth has not been worth it. Thankfully, I've gotten a lot of good feedback and suggestions on how to grow my communication and collaboration skills, and I know I can use that feedback to guide my continued growth.

That brings us to the present. Three years in the industry and I do feel like I've grown my technical skills, but I'm not sure how much I've progressed in my career. When I started off my career, I never had an exact path of growth that I wanted to follow, so it's hard for me to gauge where I am in my career growth. Thankfully, I recently rediscovered a blog post I wrote at my first job that listed my goals for the next three years. Here are the very broad goals I wrote:

  • Year One: Developer
  • Year Two: Developer and Mentor
  • Year Three: Team/Project Lead

Even though I've been in the industry for three years, between education, a suboptimal work situation, and job searching, I feel like I have about the amount of knowledge and hands-on experience that you'd expect from someone with 1-1.5 years of experience in the field. Using that barometer, I'm about where I want to be, maybe behind schedule. In the next year, I'd like an opportunity to help mentor and guide some newer devs at my company, or possibly dedicate a little bit of time to mentoring someone looking to get into the industry (although I'm not sure I'm comfortable committing that much time outside of work). I'd also like to be at the engineer II level in a year from now, either at my current company or starting a new position at that level.

To reach the next level in my career, I know I need to focus on growing my interpersonal skills. I've received some great feedback on where to start, and I've already started to search out opportunities to grow my communication and collaboration skills. I know it's going to be a struggle and I may never get to the level I need to be at to advance at my current company, I know I can make some improvement in this area and I will be a better developer the more I learn to collaborate with others and to interpret their comments on my work in a positive way. While I am currently focusing on growing my interpersonal skills, I want to continue to grow my technical skills. I know there will always be more to learn, and even if it is not my focus, I want to always be learning new technical skills. While my technical skills are enough and I shouldn't feel bad about the skills I have not yet acquired, there is always room to grow and acquire new technical skills and knowledge.

I don't think I ever had specific expectations for myself when starting my career in tech, so I don't know if I am where I expected myself to be three years into the journey. I do know that I have contributed a lot to my current company (and hopefully a little to my former company), and I still have a lot left to give to my company and to the industry. I may still struggle with interpersonal communication, and I may not feel like I've found my place in the developer community (either as a whole or the dev team at my company), but I know that I want to continue sharing my thoughts, sharing my knowledge, and just being present and contributing in any way I can - including in collaboration with my teammates.