In this installment of “Meet the Engineer”, meet Nong Li, a software engineer working on the open-source Cloudera Impala real-time query engine.
What do you do at Cloudera?
I’ve been working at Cloudera for a little over a year now and for the whole time, I’ve been working on Cloudera Impala. On Impala, I spend most of my time focusing on improving the performance of the query execution engine, working on the IO subsystem, JIT-compiling portions of the query execution, and working on expression evaluation and other performance-centric components.
Why do you enjoy your job?
Working on Impala is pretty awesome. From a engineering project perspective, it’s a new project with a new code base that tries to incorporate the latest technologies to solve a hard problem. Hard to beat that!
I’ve always enjoyed working on performance engineering for as long as I’ve been programming, and it’s incredible that I get to do that on a daily basis. Working on performance really forces you to understand the entire system: the hardware, the OS, the components, and the code you are working on. I like understanding exactly what a line of code is doing when it’s run.
The people we have at Cloudera are also really great. If you enjoy hanging out with your colleagues at and outside of work, it’s a great place to be.
What is your favorite thing about Apache Hadoop?
I like that Hadoop lets people tackle problems that were previously inaccessible. I also like that these problems are “real-world” problems, not just computer-science ones. The ecosystem is still fairly young, with new components constantly being built. Hadoop has already proven itself to be incredibly useful and I only see this getting more true in the future.
What is your advice for someone who is interested in participating in any open-source project for the first time?
Learn to take feedback. While this is true for all jobs, open-source projects make this more important. There are more parties involved with different priorities. Everyone wants to do the right thing and you just need to provide a sufficiently compelling reason for any proposal you make.
At what age did you become interested and programming, and why?
I first took a programming course junior year in high school, and although I enjoyed it, I didn’t think it was for me. I didn’t do any programming until I got to college. During my first semester, I took a bunch of courses in different subjects, and one of them was an introduction to computer science. It was a pretty big contrast to the other courses I was taking. Instead of spending most my time trying to remember stuff from lectures or books, I was trying to figuring new things out by doing stuff on my own. To this day, I enjoy it for the same reason. I’m always working on a problem I haven’t seen before.