Profile Picture

Fu Cheng Senior Software Engineer at Spider Tracks Limited

Summary

I am a full-stack software developer with 7 years experience in product development. I have rich experience and strong problem solving skills and understand how to apply best practices in real product development. I'm also a quick learner and always want to learn emerging techniques.

I have following skills in different areas of software development:

  • Back-end: Java, Spring, Hibernate, JPA, JSP, servlet, NodeJS/Express, OSGi, Groovy
  • Front-end: JavaScript, AngularJS, HTML 5, CSS, CoffeeScript, LESS, jQuery, Dojo, Backbone
  • Database: SQL, MySQL, MongoDB
  • Test: JUnit, Cucumber, Gherkin, PhantomJS, Capybara, Poltergeist
  • DevOps: Jenkins, Gradle, Maven, Ant, Grunt, Bower, Yeoman, AWS EC2/Beanstalk, Packer, Docker
  • Other: Front-end performance tuning, security scanning and best practices

I published the book "Understanding the Java 7: the Core techniques and best practice" (Simplified Chinese edition), which covers Java SE 7 new features and deep dive of Java platform core features, including JVM internals, byte code manipulation, class loader, generics, security, concurrent programming and serialization. I'm a regular author on IBM developerWorks China and InfoQ China website with more than 50 published technical articles covering various technical topics.

Experience

Spider Tracks Limited
11 / 2013 - Present
Senior Software Engineer

My main role is to improve and maintain company's core flight tracking product. The product is being upgraded and migrated to new architecture and I take leadership in the new architecture. My responsibilities include below:

  • Front-end overhaul - Replace current Apache Wicket based front-end with AngularJS based new architecture. Design and implement using CoffeeScript/LESS/AngularJS/Bootstrap/jQuery/RequireJS/Bower/Grunt
  • Back-end migration from Cassandra to AWS RDS
  • Build and deployment infrastructure based on Amazon EC2/Docker/Beanstalk/Chef/Packer/Maven/Artifactory/Git/Atlassian Bamboo
  • Maintain current application using Apache Wicket, Spring, JPA and Cassandra
  • Maintain and improve Eclipse SWT based desktop application with installer using launch4j and NSIS
  • Maintain and refine iOS application, upgrade to iOS 7
Propellerhead
02 / 2013 - 11 / 2013
Developer - Auckland Transport projects
  • Integrate with other services/products to provide real-time tracking of buses for Auckland Transport
  • Work on several JBoss Enterprise Service Bus (ESB) based data integration projects with data from CSV, web services, Microsoft Dynamics CRM and SharePoint.
  • Cucumber/Ruby based BDD test. Browser-based testing using Capybara/Poltergeist and PhantomJS.
  • Gradle-based build script and Jenkins integration.
  • Node.js based API layer and front-end development using jQuery.
  • On-call support.
Propellerhead
03 / 2012 - 02 / 2013
Developer - YouPost Project (NZ Post)

YouPost (youpost.nzpost.co.nz) is New Zealand Post's digital mailbox solution. I was involved in this project from its early stage.

  • Created front-end single page JavaScript application framework using jQuery, Backbone and Mustache.
  • Implemented most of web pages based on the JavaScript framework.
  • Created Spring MVC based web application server-side implementation.
  • Involved in back-end JBoss Enterprise Service Bus (ESB) implementation and bug fixing.
  • Gradle-based build script and local development environment setup script.
  • Applied OWASP best practices to build secure web application.
  • On-call support.
IBM
06 / 2010 - 03 / 2012
Developer - IBM Project Vulcan
  • Started the early investigation and implementation of embedded experiences in IBM Project Vulcan team and worked as the core developer of related work. I was the major contributor to the demo that shown in Lotusphere 2011 open general session. Used technologies included Java EE, OpenSocial gadgets, web widgets, OpenOffice and creating web applications on iPhone.
  • Responsible for the whole server-side Java implementation of current project, using OSGi, Eclipse servlet bridge and XML processing.
  • Created the Maven based build process and integrated it with IBM Rational Team Concert.
  • Reviewed code written by junior members in the team and helped them to grow.
  • The team's go-to person for technical issues.
IBM
12 / 2008 - 05 / 2010
Developer - IBM Mashup Center
  • Participated in the overall development of IBM Mashup Center version 1.1 and 2.0.
  • Responsible for design and implementation of several components in the product.
  • Maintained several other components in the product, including fixing defects and implementing new features.
  • Involved in the custom engagement of IBM Mashup Center 2.0 by creating different proof of concept widgets and demos to demonstrate the product's capability and satisfy customer's requirements.
  • Gained experiences in real product development as a member of a globalized team.
IBM
07 / 2007 - 11 / 2008
Developer - CDL ETI Web 2.0
  • Involved in several incubation projects using different technologies including Java EE, Lucene, Firefox extension, Dojo framework and Ajax.
  • Created a feed search engine using Lucene and self-written crawlers.
  • Created a Firefox extension to allow users to extract structured data from web pages.
  • Worked on the back-end of Java EE based web applications.
  • Created interactive front-end of web applications using Dojo framework.
  • Worked in an agile style. The team members brainstormed for good ideas and used short iterations to implement and test.
  • Created proof of concept prototypes to demonstrate innovative ideas.
  • Worked with product team to deliver a project as part of the product.

Publications

Understanding the Java 7: the Core Techniques and Best Practice
05 / 2012
China Machine Press · Authors: Fu Cheng · http://product.dangdang.com/product.aspx?product_id=22739120

A book about Java SE 7 new features and deep dive of Java platform core features, including JVM internals, byte code manipulation, class loader, generics, security, concurrent programming and serialization.

Education

Peking University
2004 - 2007
Master , Computer Science
Beijing Information Technology Institute
2000 - 2004
Bachelor , Computer Science

Honors

  • Runner-up Hacktivate Mile High: ChCh, Christchurch, New Zealand, 2013
  • "Most Popular Author Award" of IBM developerWorks China, 2011
  • Third place award of IBM CDL Lotus Symphony Plug-in development contest, 2010
  • Silver Award Winner of IBM CDL Test Idol, 2009
  • Second place winner of IBM Hackday 7, 2009
  • Third place award of IBM Hackday 6, 2008
Working
Resume Builder LinkedIn APIs LinkedIn Labs FAQ Feedback