What I've Learned on my New Job Already
There is nothing like a new job to really challenge the things you think you know and teach you things that should have made sense all along.
Almost two months ago I made the decision to branch out and take on a new challenge - working with Zoomforth after three years of working with Eonian Technology. I think people change jobs for a lot of reasons but for me it was to find a new start and introduce new challenges into my life. I aimed pretty high in my search for a new company and learned more about rejection than I have before in my life. Ultimately, I'm incredibly happy with the decision and I think I found the perfect fit for me.
In my short time, I have already noticed things that have made programming fun again and taught me how to be a better engineer.
Code Reviews Are Scary and Helpful
I've had a lot of experience with code reviews in my line of work. Unfortunately, I was always on the side of reviewing the code rather than receiving it. I've always found them instrumental to success and especially important when a new engineer is starting to work within your codebase. The contextual knowledge, code style, and business logic within a project are things you need to learn sometimes and not discover.That is why I have always taken the time to review commits and ensure that we weren't introducing small bugs or legacy code from the start. I've always wanted people to really review my code and give me pointers because I wholeheartedly believe that I don't push perfect code. That said, it can be a little terrifying.
It's easy to take code reviews personal and feel like you aren't worthy but if you can walk that line and take everything in stride then there are serious gains to be made both personally and professionally. The Zoomforth engineering team has been great at helping me find faulty logic, accidental changes, and a lot of style concepts. The comments are not on a superior level but rather from a constructive and helpful place. They have taught me more about the business, more about the structure, and more about how each file pieces together in the grand scheme of things.
While some days the review can be heavy and deflating, merging a pull request that has been pruned is much more satisfying than crossing your fingers and it being your fault a bug happened in the production environment.
Structure Makes the World Better
I have always been an organized person. Being an engineer my mind works in logical constraints where each cause has an effect. Lists are my friend and they are generally what keep me on track through a project. The one thing I didn't realize was that calendars should go hand in hand with lists. I used to add things to a calendar and never look at the thing but now I open my calendar everyday to see what meetings I have and when I can block out time for real programming. Zoomforth uses calendars for everything giving me an opportunity to also look at other teammates calendars. Since I work remotely and also in a different timezone this becomes pretty important since I can't look around the office to see who is around.
Meetings are also pretty important when working remotely. My experience over the last few years left me dreading meetings. I'm happy to know that meetings with a clear objective are actually fruitful. At Zoomforth we do daily checkins, pair programming / code review sessions, and sprint planning. Everything we do has a block of time scheduled on the calendar and a purpose so we don't stray away from our goals and don't run into 5 hour meetings where nothing was solved.
These two things are small and pretty obvious in most companies but for someone who hasn't been around them much before they have led to huge gains in the happiness department.
Working on Things You Love
It's no secret that I love Python based on this blog's archive. What you may not know is that for the last few years my full time job was writing PHP. While PHP has made incredible strides and turned into a usable and productive language, I couldn't escape the feeling that I would be better suited working with Python. It makes sense in my head and it's the one language where I have taken the deep dive into the standard library and some of the internals. Having finally picked up another job in Python I realize how much of a difference it makes. Instead of shutting down work at 5 o'clock and working on side projects I find joy in having Zoomforth be my work project and my side project. This is a fine line of course and there are times where I want to be creative with my own stuff but for now I like that I can work in a place where the work interests me.
Working with Passionate People
This one is massive. Working with people who care about the product and believe in every bit of it is the one thing that makes me excited every day. I thrive on the team's energy and optimism. Even for the people who have been working here since the beginning, there is still a lot of enthusiasm. We went on a company retreat two weeks ago and sitting down with everyone and hearing about why they're excited about Zoomforth really motivated me to dive even deeper into the product. I think in the past there have been glimpses of excitement in various products but sustained optimism was hard. I joined Zoomforth because of the product though and because of the people involved behind the scenes. It feels like a family already and I'm glad to be on this ship for the long haul.
I'm happy to say that I found my place and I'm excited to tell friends and family about where I work and what I do. To me, that's the best thing I could hope for in a new job.
comments powered by Disqus