When my previous company initially extended a job offer, I was surprised. They were a startup building a social e-commerce platform. Most of my work prior was not focused on a single product and I also lacked startup experience. Add on some serious doubt I had in my technical skills as well and that's pretty much where I was at in early 2014.
I had a steady agency job and excelling there. However, I wanted to be challenged, closer to the 'bleeding edge of tech', and also be able to focus on a single product -- which is something I knew Join'em would allow me to experience.
just going for itDuring my interview, the interviewer (lead engineer) and I spoke of many things: Django, Git, Bootstrap, Sass, Angular, Game of Thrones, and the company + goals + my skills. My experience with Angular at the time was limited -- I was working more with the templating side and just manipulating a few models here and there.
Perhaps that left an impression - I was a bright eyed and bushy tailed frontend-loving kid. I was tired of the stagnant technology at the agency and was ready to dive deep into a startup that provided an accelerated learning environment. To my surprise, I got an offer the next morning. What. Yep, I was the first full-time (dedicated) frontend engineer. My Django knowledge/experience was non-existent so I spent the first week looking through the documentation to avoid seeming pathetically under-qualified.
No pressure -- we were just rebuilding the frontend from scratch in a month.
what have I done?Once they set me up with my equipment, the other engineers helped me get a bunch of things setup that I had not been familiarized with yet -- such as Vagrant and Python (plus its' dependencies) for my local environment. While I had experience with the terminal, it was very limited to committing/pushing changes to the master branch. Err... not recommended. Luckily, they were open to any and all questions. I mean, the more I learned, the more help I could be to the team. Win-win.
Things I Learned
- Imposter syndrome is real. It can hinder your progress. Learn to get over it.
- Communication is the most important thing especially as the team grows.
- Take on tasks as a team thus making everyone responsible.
- Ask for help and you shall receive.
- Back-end developers are just as impressed by my complex layout building and problem solving designs as I am of their eloquent algorithms.
- Be open to learn more about the entire stack - it greatly increases your value to the team and as a developer.
- Be flexible.
- Programming languages are just tools - you don't need to swear by one. Use the best one for the job. Always.
- You definitely have something to teach that engineer over there that writes the squeakiest clean code ever.
- Take your paid time off regardless of every excuse you can come up with. You'll be more valuable to your team if you're not getting burned out.
- Do not check work emails or github while on vacation.
- Code from where ever you want. Don't accept jobs that do not allow for this.
- Build a product that you're passionate about.
I am incredibly fortunate to have met such amazing engineers and to have learned so much from them. I've always credited our team
manager lead with making such a great team and fostering such an incredible working environment-- I mean, how many teams do you know are all still friends and hangout even after over a year of not working together? That's the thing about my former team -- we had an awesome lead engineer.