I enjoyed my mornings commuting to Codesmith. The bus ride took about 40 minutes and in that time, I would listen to an audio book, The Lean Startup, by Eric Ries. I recently attended an event where he spoke about his new book, The Startup Way. In The Lean Startup, he talked about his experience in a startup and he offers advice on how to test and learn. I bring it up because the book talks about making the difficult choice of knowing when to continue working on a feature or product, and knowing when to pivot.
My Codesmith experience came to an end this weekend when I decided to leave the program. I have a few career goals, but I came into the program with one main goal in mind: to prepare for a Google interview. It's been a dream of mine to work at Google and collaborate with the best software engineers in the industry. It is one of the most difficult interviews to get through, but one of the Codesmith graduates went on to work at Google. That was the main reason I decided to apply to Codesmith.
The curriculum goes over different topics in 2-day units, but I already knew 90% of the content. Over 4 weeks, we covered only one topic that I was unfamiliar with: cookies and sessions. A lot of people asked me why I decided to attend at all if I already knew the material, and it was a daily struggle deciding if I should stay in the program. I was afraid that I would miss out on learning something new if I left the program early.
The experience wasn't a total loss; it gave me the opportunity to work with several personality types. Every pairing session presented a new opportunity to improve how I communicated and learn to adapt to my partner's preferred work style. Everybody was different. I was able to work on my patience and my technical communication. I wanted to get the most out of pairing sessions. I tried as hard as I could to make sure my partner came out of it learning something and I would come out of it improving my communication.
I know myself and I know what I need to work on. I didn't feel I was at the level I needed to be with my problem solving, even after being assessed and told my algorithm problem solving was fine and it was technical communication that was lacking. I know myself. I even had a chance to speak with that Codesmith grad about his experience getting into Google. We had a great conversation and by the end of it, it solidified my decision to leave the program. Everyone walks a different path, we start from different places, we bring different things to the table, and we all need different ways to grow.
Preparing for the interview
What now? I'm focusing on algorithms and whiteboarding. When I feel confident that I can talk about my algorithm solutions and explain in detail about why it was implemented a certain way, I will be ready.
I received a call last week regarding my Codesmith interview; I was accepted! I wrote a check for the deposit and set up a pairing session with a Codesmith fellow. There is a precourse that I need to go through before the January program begins, but I believe it's just preparation for the program. It will be interesting to see how much material I'll be able to soak in. 12 hours a day, 6 days a week sounds intense, but it's just a little bit more time than I was spending at previous companies doing work. One bit of feedback I received from the interview was that I should pair program more. It looks like most of the time spent at Codesmith, after lectures, will be on pairing so I'm sure I'll get that time in.
I applied to a 12-week prep program run by Codesmith. My significant other was researching bootcamps to attend in preparation for a software development career and Codesmith was the top choice. I attended one of their workshops to support her endeavors and wound up being very impressed at the end of the session. I was surprised that I actually learned something from the event; it reinforced my decision to pursue a path in web development. I learned that we would have to apply, interview, and get accepted into the program; it wasn't just a matter of signing up and throwing money at them. Each cohort size is roughly 20 students and as of last Thursday, they already had 15 students accepted into the January cohort. I had my technical interview on Friday and I'm still waiting to hear back. In the meantime, I've been working on a personal project.
After 7 years of Android development, I've decided to step out of my comfort zone and tackle web development. There are two main reasons why I made this decision.
First, I feel there is a limit on how far a mobile developer can move up, career wise. Sure, you can become a lead or possibly a manager, but then what do you do? There are exceptions; I have a friend who actually went from Android lead to CTO. If I have a better understanding of backend, I'll have a better understanding of how the product actually works and what is involved in the magic behind the scenes.
The second reason is that I've always wanted to build my own product and start my own company. Without a backend, creating a complex app can be... complicated. So, I've built some products with a backend that is utilized by an Android client, but I soon realized that there are some cases where having a web app would be a better experience for a user.
For these reasons, along with a few others, I quit my latest Android gig so I could completely focus on web development.