Employee Spotlight: Andy Feng, Full Stack Developer

As a Full Stack Developer, Andy Feng is responsible for developing new product features to enhance the Canoe Intelligence platform.

On a regular basis, we talk with our team members about their experience working at Canoe, and their future goals and aspirations. This week, we talked with Andy Feng, Full Stack Developer.

Tell us about your background. How did you find Canoe?

I first got into programming through a required course in computer science at Stuyvesant High School. Working with code and solving tough problems made me want to major in it at NYU. For almost four years, I’ve been a software developer mostly working as a full-stack developer. Canoe actually reached out to me with an exciting startup opportunity, and I jumped in and never looked back. It’s now been 2 and a half great years with the Canoe team.

Describe your role at Canoe. What does your day-to-day look like?

As a full-stack developer at a startup like Canoe, my role is mainly to develop new and exciting features to enhance our platform. However, working at a startup requires putting on many different hats and my daily tasks can involve improving our existing codebase, tackling bugs, and researching new technologies or product ideas. Each day can be very different from the next, but I enjoy being able to get my hands dirty with many different projects.

What do you think makes a successful software engineer?

I think being able to communicate your thoughts and ideas coherently is what makes me successful at Canoe. Writing concise and clear code that can be understood by other developers is table stakes. However, you also need to be able to get your ideas across clearly to non-developers like the product team in order to collaborate effectively. Stopping to ask questions is always welcome at Canoe and makes developing what the customer actually wants easier. It’s a tough skill to master, but I work on it daily and believe it’s helped me a lot as a software engineer.

What aspect(s) of Canoe’s technology is the most exciting from a developer perspective?

What excites me the most about working at Canoe is being able to contribute to the ongoing improvements of our extraction engine. Whether it’s digging into the code to improve the speed at which it runs, addressing new edge cases, or improving our overall accuracy, there’s always something more to be done. I don’t believe developing the perfect technology is possible, but constantly seeing my improvements live on the platform is something I always enjoy.

What languages/frameworks do you like working with the most? Why?

My favorite programming language to work with is Python. It’s the first object-oriented programming language I learned, and the first language I used professionally. Its simple syntax and versatility keeps me coming back. I’ve enjoyed using Flask for smaller personal projects as well as Django for more complicated projects. Python also has many machine-learning libraries to play around with and a large community to help set standards and create packages.

What software development discussions are happening in the tech world that are particularly interesting for you?

Just like how we’re automating document extraction, seeing discussions on other types of automation and AI always catches my interest. Self-driving cars are usually what’s on everyone’s mind when it comes to automation, but I think in the short term we’ll be seeing more and more types of automation. The healthcare industry is one that could benefit from it, especially with the ongoing pandemic. My hope is that with more and more automation, we’ll be able to have new and interesting tools to play with.