5/30/2019Time to read: 4 min
My background in software engineering is fairly standard. I graduated from a 4 years bachelors degree studying computer science. During my college, I had coding internships for two summers. After college, I landed a full-time job.
But I think it would be interesting to talk about how I got into front end development as I see most computer science grads are more comfortable toward backend development.
In school, we learned very limited/outdated front-end technology from classes. Partly because front end technologies are changing very fast. While we were taught JSP and servlet in class, AngularJS was already very popular. Other than that, the front end was considered a particularly easy area of computer science that didn't get too much coverage in course selections. Only one class covered front end technology in my school and that course had a lower course code than the first required entry course of computer science program.
But if not for the four-year computer science education I might not become a front end developer. What college provided me wasn't the necessary knowledge, but the mentality to constantly learning, the ability to teach myself, and the luxury of time to dig into technologies without worrying too much about family and life.
I had some art background and I always like beautiful things. Like a lot of kids, what drew me into programming was games. I used the excuse of "learning about game making" to buy me playtime on our only PC in my parents' bedroom. And eventually, this excuse became real. I got interested in Flash.
Do you still remember Flash? Before it was eventually killed by Adobe, I always believed one day it would take over the world with the promise of running on every device (with the AIR runtime). On my freshmen creative art class, I made an app of a universe that spins while reacting to sounds. That was my best project for that course.
That was pretty impressive. The interface looked just like any other legit websites online. This teammate gave me a brief introduction over what he did despite being very caffeinated. I really appreciated it.
That was probably my first experience with front end technology. After that, I went to a couple more hackathons where I tried building mobile apps, game, watch app, etc, and none of those seems impressive given the short amount of time we could use, while I saw some teams making very interactive projects using cool technologies like Angular. When summers are coming, kids in the college need to find summer jobs. Searching for a summer job related to one's field was the most challenging task. My first two summer internships in college weren't very technical. I tried many things to improve my chance to get hired as a software engineer intern. One thing I tried was making a personal online portfolio to demonstrate the projects I did in school.
I already heard about AngularJS, so I could use it. But there was a newer word seemed to be floating around online, Polymer. I think when Polymer just came out, it was one of the first few libraries using a component-based development. This approach greatly smoothed the learning curve of front end development for me. Together with some tutorials on CodeAcademy and one of my favorite YouTube channel, DevTips, I put together the first version of my personal website.
I worked on this site during the summer of 2015 and finished it after the new semester started. Did this portfolio help me find an internship? No, because 3 months later, I completely rebuilt my personal site again using a newer version of Polymer.
I'm not sure if any recruiters actually took a look on my website, but the skills I learned from building my personal site twice did help me land an internship as a front end engineer in the summer of my third year (the last summer before I graduated). This internship later expanded to be a whole year part-time job.
Of course, I wasn't satisfied with my second version of the website. So I built it again, this time with Vue. This was the version I used to apply to full-time jobs after college.
When I was applying for full-time jobs, my resume was already very front end heavy despite my specialization in Game Development. I wanted to be considered for a broader range of opportunities instead of exclusively to the front end. My resume was composed of a variety of hackathon projects, including mobile development, game development, and front end projects. I applied to all the opportunities I could find on Linkedin. I went to career fairs at my school.
I didn't expect finding first dev job would be this hard.
I interviewed at Google for their general new grad software engineer position and surprisingly passed the phone interview. However, during the onsite, my brain stopped functioning and I turned super nervous. So it eventually ended as a "thank you for applying" from the recruiter.
I also interviewed at Bloomberg but also got a reject right away. Graduation was approaching and I didn't have any offers yet. The company I interned at were also not giving returning offer to any of the interns due to headcount.
I eventually secured an offer from Veeva Systems before graduation and was assigned to the UI team based on my experience. Now looking back at this experience, I'm not sure if I would have a better job hunting experience if I had branded myself as a front end engineer only.
That was it. That was my experience becoming a front end dev. Sometimes I wonder what factor was the most important that made me wanted to work in the front end. Was my background in art? or the tremendous growth of front end community? or maybe it's the teammate I had at my first hackathon?