chamnapchhorn@gmail.com
+855 15 59 60 61
Technical Summary
I am a Ruby/JavaScript/NodeJS Developer. Think of me as a backend developer with some experiences on the frontend. I have been developing software professional for the last 8+ years. I have been working on Rails since Rails 2.3 came out. I am interested in building quality software and using good engineering practices like TDD/BDD, OO Design Principles and Agile methodologies. My early consulting experience shows that I can quickly become proficient in whatever area of software development is required to get the job done.
In my free time, I enjoy cycling, swimming, listening to music and wandering through cities and countrysides.
Key Skills: Ruby, Rails, JavaScript, AngularJS, NodeJS, Sidekiq, Redis, AWS, ElasticSearch, MySQL, Postgres, MongoDB, Linux, RSpec, Git, TDD/BDD, OO Design Patterns, REST API, Third-Party APIs, JQuery, Bootstrap, Material Design, CSS, Sass, Liquid
Experience
Open Source Developer
- I've contributed to some ruby open source projects (themes_on_rails, mongoid-observers, liquid-rails, tenancy, history_tracker, yoolk_api, mongoid-socialization), one of which is starred by around 120 people on Github.
- Besides Ruby, I'm currently learning and working with few npm modules, electron, and nodejs.
Yoolk Inc.
Lead Software Engineer January 2012 to Present.
- Achitect/Design and Implement the whole system architecture. Split the big monolithic rails app into small rails apps.
-
Yoolk Engines allows code sharing business logic among other rails apps. It actually consists of several different engines, each of which are maintained in a single repository, inspired by Spree Commerce.
- yoolk_api (RESTful API)
- yoolk_report (Report for operators)
- yoolk_feed (Xml feed extraction for google/microsoft)
- yoolk_liquid (Liquid for Instant Website)
- yoolk_print (Printing books from AI)
- yoolk_g_adwords (Google Adwords Components)
- yoolk_core (Models & Mailers, the basic components of Yoolk that it can't run without)
- yoolk_sample (Sample data)
- Enterprise Center is an Angular Material web based application. Currently, we have around 5k paid clients. It's actually composed of many angular modules such as:
- Company Profile (about us, map & address, photos, videos, communications, business hours, links, attachments)
- Products (products, categories, orders, delivery options, payment options)
- Inbox/Customer (responds to enquiries)
- Website (customize website with color, background image, menu navigation, cover photos)
- Reports (daily reports)
- Third-party API Integration (PayPal, IPay88, MOLPay, 11street, Lazada)
- Instant Website, A liquid-based multi-theme rails application. The business owner can choose the themes they like. Currently, we have around 50 themes in different industries for 5k paid clients with 500rpm and 150ms response time.
- Instant Website Sandbox, A sandbox rails application that allows external developers to build templates locally, inspired by Shopify Liquid. Theme Documentation for Yoolk Instant Website is located here.
- Yoolk REST API for Enterprise Center with Doorkeeper.
- Drive, Implement, and Maintain Yoolk portals (panpages.my, panpages.co.th, panpages.com.vn, panpages.co.id, yp.com.kh, and other 238+ portals)
- Implement various types of assets: billboard, print, artwork, ...
- Implement Billing with those assets: agreements, installments, invoices, ...
- Implement Search functionalities with Solr
- Promoted sites reliability in both backend and frontend performance.
- Helped define code review and code style policies for the development team.
- Lead other teams, do code review, perform regular training sessions, pairing, ...
- Administering all servers which host on amazon web services.
- Become a technical expert to solve inherent problems to the juniors and the team.
Yoolk & Mango
Senior Software Engineer Jan 2009 to Dec 2011.
- Develop and maintain Yoolk v3 web and mobile portals at very high speed, including panpages.my, panpages.co.th, panpages.com.vn, panpages.co.id, yp.com.kh, and other 238+ portals
- Worked as a key member of the Engineering Team throughout the transition from C# to Ruby.
- Worked on many backend services in Ruby. Designed and wrote new components where required, with unit and functional tests alongside. Extended, maintained and fixed bugs in existing services, refactoring to add unit tests where possible.
- Import existing data to new database.
- Designed the software architecture for a core REST API. Using rails, aws-s3, rspec, delayed_job, dalli, nokogiri, sitemap_generator, yajl-ruby, whenever, passenger, paperclip.
- Worked on the team implementing the REST API. The team was awarded for achieving high unit test coverage and producing useful code documentation.
- Administering all servers which host on amazon web services such as: EC2, EBS, S3.
- Develop Yoolk’s content management system called One Page App.
Yoolk & Mango
Junior Developer May 2008 to Dec 2008.
- Developed Mango Map JavaScript API that provides application programming interface to use map on any websites.
- Developed the Project Generator which is an offline web based application, for World Bank to facilitates Technical Support Officials to work through the technical design process of the Commune Sangkat Fund Projects and which enables the supervision and technical review of their work and the recording of the designs and priced cost estimates data. Used JavaScript and YUI for front-end, Google Gears for offline functionality and Ruby on Rails for back-end RESTful web services.
- Practices Agile/XP/Scrum/BDD/TDD rules
- Object oriented programming
- Contribution to sprint planning meetings and backlog story analysis
AsiaForm Co., Ltd
Software Developer Feb 2007 to April 2008.
- Developed WhollyCity which is a social networking web application that connect people via Panorama, products or skills that you can offer. Used Ruby on Rails, RMagick, Google Maps API, Prototype JavaScript library, and Scriptaculous.
AsiaForm Co., Ltd
Designer June 2006 to Jan 2007.
- Managing and training photoshop operators (16 people)
- Correcting, stitching, merging, and retouching panorama pictures
Education
B.S. Computer Science and Engineering Royal University of Phnom Penh, Cambodia. April 2006
B.A Business Administration Paññāsāstra University of Cambodia. March 2009
Diploma of Intensive English of Academic Purposes Paññāsāstra University of Cambodia. 2002
M101: MongoDB for Developers MongoDB University. December 2012
M102: MongoDB for DBAs MongoDB University. May 2015