To join a company where I can build a long-term career and work with other talented people to consult clients, analyze systems, design solutions and help lead a team in implementation.
Recent Work Experience
- Chief Tech Geek (CTO), AllDealsAsia.com, Singapore, Aug 2011 – Present
- Head of Software Development, Maxus Media & Software, Singapore, Feb 2010 – Jun 2011
- Senior Programmer Team Leader, IT@Himalaya, Nepal / Procit BV, Netherlands, Jun 2007 - Oct 2009
MS in Computer Science & Engineering (GPA 3.7)
Michigan State University, East Lansing, MI
BS in Computer Science, Minor in Math (GPA 3.7)
Denison University, Granville, OH
AAS in Computer Programming Technology (GPA 3.9)
Columbus State Community College, Columbus, OH
Salutatorian, College Prep, Honors Diploma (GPA 4.0)
Columbus East High School, Columbus, OH
A multidisciplinary education with interests in humanities, psychology, economics and engineering help me view problems from many perspectives. Answers are only as valuable as the questions asked and broadening my view helps me frame questions correctly. I have the analytical mind to create efficient algorithms, but good technical design is worthless if it's not used. So it's necessary to prioritize the business needs, help marketing and also design UI/UX with the understanding of the psychology of the user.
I believe that the focus in any business should be on the people we serve. Likewise, a critical aspect of the job is the quality of the relationships with our co-workers. Having lived in the America and Asia for over a decade each, I'm at home in the East and West. I've gotten along well with colleagues and clients from diverse cultures and backgrounds and can relate to people with different interests and perspectives.
I have learned the importance of making customers happy and satisfying their needs while balancing it with ease of implementation for the employee and costs for the employers. I've converted upset customers who received a wrong order into happy repeat customers. Home builder clients that wanted engineering plans done yesterday would be angry and call me directly but be satisfied when we delivered it tomorrow. Clients appreciated when we would stay late or pull all-nighters to solve critical software bugs. Customers would complain about receiving the wrong item from the website but be happy and order again.
I have competed in programming competitions, worked on face recognition algorithms and question answering projects in school, helped optimize database queries and improved entire system work flows for clients. My experience has also taught me how to handle non-technical problems such as increasing engagement of clients and colleagues and noticing dissatisfaction from subordinates and co-workers.
- Amazon AWS (EC2, S3, RDS, SES), vagrant, puppet, Ubuntu, varnish, apache, memcached
- iOS development, REST, Custom Drupal modules, WordPress
- bash, vi, git, grep, awk, curl, ab, MySQL, MS SQL, Oracle
- Java, C/C++, ASP, VB, COBOL, Lisp, OpenGL, MIPS and IBM DOS/VSE Assembler
- Natural leader
- Takes initiative
- Team player
- Effective communication skills
- Extremely fast learner and adaptive
- Great analytical skills
Work Experience Expanded
Chief Technology Officer, AllDealsAsia.com, Singapore, Aug 2011 – Present
- Product owner: Help in determining the features needed for the website and prioritize the tasks. Balance the needs of the various teams (customer service, writers, sales, marketing, finance, operations) with new features for consumers and bug fixes.
- Solutions architect: Design the architecture of system and the technologies to use so the web servers easily scale, are robust and secure. Design the technical specs for feature implementation.
- Project manager: Standardize development process and tools (GitHub, Pivotal Tracker, Vagrant, Puppet, Netbeans, etc) to help developers be efficient and focus on the tasks that I delegate to them. Integrate parts of Agile methodologies into the development team.
- Systems administrator: Manage the web servers so that they're fast (reduce average load time by 60%+), stable (we could receive 10K website requests in minutes) and easily scaleable (daily traffic increased 5x). We set proper caching to reduce connections and bandwidth based upon frequency of the changes and requests for the data.
- Database administrator: Configure the database, script backup system, log and analyze bottlenecks and optimize queries. Create procedures and triggers to track history of important tables and do automatic updates of calculated fields. Create custom reports for marketing team and management.
- Quality assurance tester: Test the commits of the other developers and give feedback on how to improve their coding and testing. Test from multiple facets (functional, aesthetics, user convenience, algorithm efficiency, code architecture flexibility, maintainability, etc)
- Network administrator: Manage the network, printer and computers in the office.
- Tech geek: Regularly read up on new technologies in these domains and play with them!
AllDealsAsia.com was the first deal aggregator in South East Asia. After starting to sell their own deals, I joined as CTO. I helped scale the company and managed all tech aspects. We handled internal needs of other departments and also improved the website for our customers. We developed mobile applications on iOS and Android.
Head of Software Development, Maxus Media & Software, Singapore, Feb 2010 – Jun 2011
- Meet with clients, determine their needs, design specs and implement solutions
- Implement front end and back end web services, AJAX, JSON, XML-RPC
- Amazon Web Services cloud computing (EC2, S3, RDS, SES), Ubuntu, WordPress
- Migration to Drupal, ecommerce, PayPal integration, created multi-currency module
- Custom Drupal modules to integrate with FedEx and Direct Link for shipments
Maxus was a start-up company working on a software product. It was a plugin for Drupal and WordPress to aid the website owner in copywriting. We presented Contentian in Echelon 2010, a conference for start-ups in the region. I gained a lot of technical and entrepreneurial experience during this process. However, to generate revenue we had to transition the company to focus on developing web services for clients. We consulted and worked on several projects and a sample is described below.
One client that sells widgets wanted their work-flow automated. After several meetings with the client and asking important questions raising issues they didn't foresee, we designed the technical specs. We improved the security of selling their widgets online by better integrating Paypal payments. We implemented an inventory system for multiple warehouses and a system to communicate with the shipment company. We processed daily reports from the shipment companies as well as created daily reports that could be used by marketing and accounting. We also integrated with FedEx to allow creating custom branded emails sent to the customers.
Senior Programmer Team Leader, IT@Himalaya, Nepal / Netherlands, Jun 2007 - Oct 2009
- Subsidiary of Procit BV headquartered in Rotherdam, the Netherlands
- Conduct outsourcing software development for Procit
- Lead teams and be the contact person with colleagues in the Netherlands
- Discuss feasibility with Project Manager regarding client requests
- Design solutions for implementation
- Code software using VB, ASP, VBS, MS SQL and other Microsoft technologies
- Help administer computer network
I worked on projects for Intrum Justitia, Europe’s leading Credit Management Services company. We coded the backend that implements all the business rules for who gets bill reminders and when they’re sent to the debtors. As they changed business rules or added features (allowing people to pay in installments), I was the maintainer of the module. I also lead several sub-projects to import, export and automatically process data for SIMIM, which is the company that collects money for music royalties in Belgium. Procit sent me to the Netherlands for two months to get closer to the client and integrate with our European colleagues.
Personal and Academic Projects
- Mate Value Bump: How attractive are you to people in other countries? A quasi-study that generates an intensity map of the world and shows how attractive others find you. (Drupal, php, MySQL, Ongoing)
- Mosaic: Users can recreate a specific image by combining stored images from a collection. Images could be added to the database using Google Image search or using own images. The user could categorize the images and choose which category of images to use for the mosaic. (php, MySQL, 2001+ Intermittent)
- Question Answering System: Coordinated 8-member team and coded integration of modules. The system accepted a question from the user, searched through the Lemur database of NY Times articles, found relevant documents, parsed the paragraphs, extracted possible answers and displayed the 5 most likely answers. System was programmed in Java with in parts C++. (Autumn 2004)
- Semantic Roles Labeling: Annotated each fragment with a label (actor, recipient, instrument, etc) in respect to the verbs in that sentence. Coded in Java using Decision Trees for the classifier (used C4.5 as well as Weka machine learning tools). (Spring 2004)
- Word Sense Disambiguation: Classified the correct sense of the word in a sentence (“bank” as a “money bank” versus “river bank”) using Artificial Neural Networks. (C++, 2003)
- Face Recognition: Stored a collection of pictures, using Principle Component Analysis, representing each face as an eigenvector. Given a new picture, scanned the database and returned the names and faces of the top 5 results. (C++, Fall 2002)
- Civ3 Mod Manager: Utility software to install and manage mods for Civ 3. (VB, Summer 2002)
- Turing Machine Simulator: Took a Turing Machine description and tape as an input and ran the Turing Machine on the tape displaying the results graphically with OpenGL. (Windows MFC, Autumn 2001)
- POP3 Email Client: Implemented a POP3 email client based upon RFC 1081 using MFC. Allowed users to log in, retrieve all or only new email, and delete specific emails. (Autumn 2001)
- Chess: An online client/server multi-player chess game where users could create, join and view games and send private messages or broadcast to the room. Coded on Linux with OpenGL. (C++, Fall 2001)
- NACHOS: Coded an operating system on simulated MIPS architecture. (C++, Autumn 2000)
- Business Systems: Managed a 5-person team project on systems analysis, design, presentation, and implementation on a company's inventory and accounting systems designing both front and back-end using COBOL. (Spring 1999)
- NCAA Football Database: Led a 4-member team that designed a database to keep track of all NCAA football schools, stadiums, games, coaches, players and their history and implemented the database, queries and forms using Oracle. (Autumn 1998)
Participations and Membership
- HackerspaceSG, beermates.js, SG Drupal, SG PHP User Group, Agile SG, SG GDG
- CS SG Ultimate Frisbee group, Tae kwon do, TEDxSingapore, TEDxKRP, Social Psychology SG
- Spartasoft: group at MSU devoted to helping members gain skills and experience in game development
- ACM International Collegiate Programming Contest in 2000, 2001 and 2002
- Upsilon Pi Epsilon Computer Honor Society (Awarded to top 3 students in Denison Computer Science)