14 Months ago, on November 27, 2016, I published my aspirational statement to enter a software engineering training program, Holberton School. In that blog post, I used some social work theory to explain the mix of emotions involved with all my fears and sense of loss from beginning to make a complete career reinvention. Today, I'm more than thrilled to continue in this journey now employed as a full stack software engineer in silicon valley! The past year and a half of my life has been extraordinarily challenging, requiring some major sacrifices, including almost completely disconnecting from my entire life in the midwest. I thought I would publish this post for anyone interested in learning how this transformation has been for me, and for anyone thinking of making a similar career reinvention.
Note: Many thanks to my family, who helped make this possible. And for those reading this in the tech industry, if we are not already connected, please connect with me on social media, twitter, LinkedIn and Github! (social media links below) For those making a similar beginning like me, I have collected a list of resources that helped me throughout this process, which can be viewed and contributed to here: Software Engineering Hub.
Pre Career Change
Before I began my career shift, I had a growing interest and propensity for technology. My desire to create attractive and practical art and tools, led me to ceramics, yet despite becoming fairly proficient in this art, I found it extraordinarily difficult to earn money from this hobby, let alone support the hobby with my social worker's salary. So, I began spending a great deal of time learning about graphics and website creation, which led me to discover the power of WordPress. Meanwhile I was compiling a collection of resources to enhance the case management role of my social work job. This led me to create chicagoresourcehub.com to share my development, which eventually became a way to generate income as I partnered with Peace Hub Chicago to provide this great service. Creating this app was the fuel that led to the liftoff of my career shift since the emotional and financial rewards were extraordinary, and I knew that I could spend hours a day working on technology problems and still be contented with simply learning from my failures and not even solving a problem. Plus the stress of compassion fatigue from social work was not an issue. This led me to research programs that would help me gain a full time role as a software engineer. More on my process of researching schools can be viewed at my grammatically negligent review of Holberton School on coursereport.com.
In the course of my training, I built projects using tools such as C language, bash, LAMP stack (linux, nginx, mysql, python), docker, and much more. These were some of my favorite projects:
- AirBnB clone of dynamic places search
- C Library: Replicated C language standard functions including
printf(), and compiled them into a dynamic library.
- AsH3: Custom command line interface (Shell) for executing command line arguments.
- Twitter bot for marketing and automating various twitter processes.
- Degrees of separation of Wikipedia; tool to find the number of wiki links between 2 pages.
- Amazon Product Advertising API Demo.
- Todo List application.
The source code for these projects are listed at my github.
Holberton's program highly emphasizes peer learning, and so I had the privilege of learning from highly intelligent and accomplished peers also working as engineers. These peers also helped continue to shape the strategies and communication skills that I will utilize in future team projects. I was able to make it to numerous tech conferences including: DockerCon Austin, CloudFoundry Summit San Jose, DevNet Create San Francisco, and many more. At San Francisco meet-ups and Holberton School sponsored meet-ups, I meet professional senior engineers working in some of the most exciting companies in the world. I owe Elaine Yeung and Sweta Ackerman immense gratitude for their part in networking as well, which can be seen in this twitter activity, which was a catalyst for me in landing my job.
We did it!! Team #hbtn-zero (aka Team #6forhire) after debugged 6 webstacks in under 3 hours. And used @RedisLabs for the first time! 🎉✨💯 Thanks @pagerduty for hosting an amazing #breakathon. @bobstermyang @djohncoleman @spencerhcheng @LeeJulija @kjowong @holbertonschool pic.twitter.com/aZEdKzwRfB
— Elaine Yeung (@egsy) November 17, 2017
I began working on 2 open source software applications and had my updates accepted; however, I found that the time commitment with these projects would not be productive for me while I was not employed. This was astoundingly exciting though for what I learned from working with professional engineers on massively large software projects. More on my open source projects can be viewed on my Github or this blog post from Linux.com.
My job search was very intensive, and probably the most challenging part of this entire process. While not as technically challenging, it was a highly emotionally discouraging process that lasted approximately 4 months (120 days). It began with revamping my resume, which was like the nail in the coffin for my career as a clinical social worker; I condensed 2 pages of my professional work as a social worker into about 2 sentences on my new resume. That process was difficult and cemented the reality that I was reinventing myself. I then, heavily improved my algorithm process by white boarding with peers and practicing algorithms. I managed to join the top
500 leaderboard (of over
400,000 users) on Codewars.com and reached the rank of 2kyu. While this is equivalent to solving game like puzzles and my guess is that most professional engineers do not take the time to work on this type of commitment, I feel that this work could be the equivalent to a few University CS courses at a University, maybe even a semester's worth!
Meanwhile, I worked on small and swiftly built projects such as learning new API's, building automated games such as go board game and minesweeper, and making quick builds of full stack projects to demonstrate on my resume and portfolio. My projects can be viewed at cecinestpasun.site, and the games are linked on my Github.
I recall applying to approximately 30+ companies of which approximately 25 entirely ignored me, meaning I received an automated rejection letter via e-mail without even speaking to an HR recruiter. I communicated with around 15+ engineers for networking follow ups from conferences and my contacts with engineers in companies that I wanted to work for. I had approximately 10+ mock technical interviews, 5+ initial technical screen interviews with actual engineering managers, and 2 offers for on-site interviews. This application phase was the most emotionally challenging of all the training phases that I went through; I have tremendous gratitude for all the engineers that supported me by forwarding my resume to their HR departments even if I was immediately rejected by their HR professionals.
Finally, after quite an extensive process, I landed my first offer as a full stack software engineer with Pager Duty! It happened to be quite an amazing package from an amazing company that is growing quickly, with a great team, a great tech stack, an amazing mission, and great culture. I most appreciated the potential for growth and learning in the role they wanted for me and the company's emphasis on diversity with the appointment of Jennifer Tejada as CEO, who wrote this post on diversity. I'm excited for the work that I'll be doing as an engineer and to be a part of a company providing wonderful services to other software companies around the globe.