Recently a junior front end engineer at a startup in Singapore reached out to me to ask me how front end development as a career.
A number of students from the Project Intern group have been asking me questions related to Facebook internships, working at Facebook, and my personal journey. I decided to write down my answers in the form of a blog post so they can be shared more broadly and I can point people to this blog post in future whenever I get asked similar questions.
tl;dr: communicating effectively broadly and frequently helps you grow as an engineer and we have many tools built to do that!
At Facebook where I work at, strong communication is crucial for a successful career. As engineers, sometimes we get too focused on execution and it's easy to forget about communicating our work broadly. Perhaps some of us are new to a large engineering organization and previously did not have the tools to foster communication nor was it emphasized by the company.
I attended NUS Hackers' Friday Hacks recently where I met an undergrad freshmen who asked me a question regarding Front End as a career.
Together with Soedar, Scott (Kaizhi) Meng, Minqi Chen, Joel Low, Camillus Cai, we took part in Facebook Open Academy under the module CP3101A Open Source Project. In my opinion, CP3101A was definitely one of the most memorable modules this semester.
From Aug 2013 to Dec 2013, I was selected by Asst Prof Ben Leong of NUS to serve as the Head Tutor for CS1010S Programming Methodology, an introductory programming course in NUS. It was a new NUS course that aims to impart fundamental concepts of problem solving by computing and programming using the Python language.
I survived CS3216 and it wasn't an easy feat in my opinion, given that I spent almost half my time on CS1010S this semester, the other half went to CS3216. Would like to give a quick run-down of my experience in CS3216, something like a review.
Open source projects have always fascinated me. I personally find it tough to work effectively in small teams, working with a large community in a public, collaborative manner will makes things unimaginably tougher.
The trouble with group projects:
- Grouping with mediocre teammates makes you want to do everything by yourself. You probably end up having to do so anyways and die in the process.
- Grouping with godlike teammates encourages you to decide on a scope beyond the project and you guys die meeting the overly demanding specifications you have designed for yourself.
Group work is hard.
I love attending last lectures for some weird reason. It is usually during the last lectures when the profs share their life experiences and wisdom; stuff that cannot be obtained from lecture notes or the internet.