Don't Call Me a Programmer, I'm a Front-End Engineer
I first discovered front-end development toward the end of last semester. At the time, I was busy running experiments, writing papers, and submitting articles, so I didn’t dive deep into it. I thought it was quite fun, so I eagerly went and borrowed a copy of HTML and CSS: A Beginner’s Guide. I was so confused back then. At first, I had borrowed Thinking in Java and Android 4.X: From Beginner to Expert, planning to brush up on Java and then try writing some Android apps before graduating into Android development – but I never followed through. The beginner’s guide was very basic and easy to read, and my interest gradually grew.
Introduction
I first discovered front-end development toward the end of last semester. At the time, I was busy running experiments, writing papers, and submitting articles, so I didn’t dive deep into it. I thought it was quite fun, so I eagerly went and borrowed a copy of HTML and CSS: A Beginner’s Guide. I was so confused back then. At first, I had borrowed Thinking in Java and Android 4.X: From Beginner to Expert, planning to brush up on Java and then try writing some Android apps before graduating into Android development – but I never followed through. The beginner’s guide was very basic and easy to read, and my interest gradually grew. After a winter break, I came back only to find that my paper had been rejected. It was around that time that I decided to seriously study front-end development, so I borrowed some truly classic front-end books, such as CSS: The Definitive Guide, CSS Mastery: Advanced Web Standards Solutions, Eloquent JavaScript, and JavaScript: The Definitive Guide.
Learning
I studied with great enthusiasm. I started with Eloquent JavaScript, which was quite difficult to read. Later, when I moved on to the “Rhino Book” (JavaScript: The Definitive Guide), things went much more smoothly. As a programmer with an existing foundation in coding, picking up JavaScript was fairly quick. Combined with online video tutorials and building small practice projects, I progressed rapidly. Fortunately, my advisor didn’t bother me – I was essentially left to my own devices, which allowed me to study wholeheartedly. During that time, I also wrote another paper and resubmitted it along with the previously rejected one. Luckily, both were accepted, meeting my graduation requirements, which gave me even more confidence to study what I loved.
Interviews & Written Tests
I had always wanted to get an internship. As the saying goes, “Book learning is never enough.” I had never looked for a job before and had no experience. I registered on Zhilian Recruitment (a Chinese job site), and every few days someone would call – either to learn about my background or to invite me for an interview. The demand for front-end developers was clearly quite high. I went to two companies. One was GXG Menswear – funny enough, I actually went. My classmate asked if I was applying to be a model! Ha! The interviewer asked if I had done any projects. I said no, that I had just been reading books on my own. They kept telling me that doing odd jobs was expected, and they barely asked any front-end technical questions – it felt like a real letdown. The other company, whose name I forgot, was in the health checkup industry and was also looking for someone to do miscellaneous tasks without asking about my knowledge.
I went to Hangzhou with my classmates to attend Mogujie’s campus recruitment event. The written test was brutal – all basic algorithm questions that I had long forgotten since finishing my graduate entrance exams. We stayed one night in Hangzhou, then met up with my parents for a trip to Wuzhen. After returning, I signed up for an online mock interview for 50 RMB. Two interviewers video-called me, and I could barely answer anything. The blow was enormous. Afterward, I specifically studied the gaps they had pointed out, and my improvement was just as significant as the setback.
A labmate introduced me to a programmer who was planning to start a travel website business and needed a front-end engineer. After getting in touch, I learned the project hadn’t even started yet. But he gave me a small task: build a web-based WeChat clone. I worked on it for a week. Then he said it needed to be mobile-responsive using media queries – what a pain. Adapting for mobile should have been considered from the start. It was really uncomfortable to retrofit. We lost touch after that, but I learned a lot from the experience.
- As a devoted Zhihu (Chinese Q&A platform) fan, I stumbled upon Baidu’s public-interest front-end academy in an answer about getting started with front-end development. The project was hosted on GitHub – my first time seeing GitHub. I was amazed. Before that, I would just back up entire directories before daring to modify code. On Baidu’s project, I completed three tasks and learned many detailed knowledge points. Unfortunately, on the last “To-Do List” task, I didn’t notice the local storage requirement at the beginning and just started coding away. That requirement was never addressed.
I received a text notification for Wacai’s online written test. The test even required keeping your webcam on the whole time – quite fancy. The test went smoothly, and the open-ended questions were interesting. I felt good about it, but I kept waiting for an interview invitation that never came. Then one day, while browsing job sites, Wacai suddenly called to schedule an interview – “without any warning at all.” I booked a ticket for the next day and headed to the provincial capital. The interview went well – mostly basic questions. Midway through, the interviewer switched out. The new interviewer asked some deeper questions and, at the end, gave me two tasks to complete at home: one was to implement real-time screenshot display, and the other was to build a mobile-responsive webpage from a PSD mockup.
I ran into some issues with both tasks, but eventually solved them. The interviewer was quite satisfied and said they wanted to hire me. Then they asked if I was interested in doing one more task – “again, without any warning.” Could I say no? Of course, I completed the third task as well.
Internship
I plan to go to Hangzhou for my internship after the Dragon Boat Festival. I really love Hangzhou. This marks my official entry into the front-end world, and it’s a fitting conclusion to these months of dedicated study.
Don't Call Me a Programmer, I'm a Front-End Engineer
http://quanru.github.io/2015/06/14/dont-call-me-a-programmer-i-am-a-front-end-engineer

