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
- Head of Software Development, Maxus Media & Software, Singapore, Feb 2010 – Jun 2011
- Senior Programmer Team Leader, IT@Himalaya, Nepal / Netherlands, Jun 2007 - Oct 2009
- Office Manager, South Texas Engineering, Inc., San Antonio, TX, Jul 2006 – Nov 2006
- Lead Counter, Panda Express, Columbus, OH, Sep 2005 – Feb 2006
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, political science and the hard sciences help me view problems from many perspectives. Add non-academic interests such as volunteering, sports, martial arts, travel, dancing and cooking and it becomes easier to relate to more people.
I believe that in any business the focus should be on the people we serve. Having lived in the US and Asia for over a decade each, I'm at home in the East and West. I've gotten along with colleagues 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.
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), GNU/Linux, MySQL, MS SQL, Oracle, OpenGL, Networking
- Custom Drupal modules, WordPress, Vi/Emacs, Eclipse, Zend Studio, MS Visual Studio
- Natural leader
- Takes initiative
- Team player
- Effective communication skills
- Extremely fast learner and adaptive
- Great analytical skills
Participations and Membership
- SG Drupal Meetup, HackerspaceSG, ACM Programming Contest in 2000, 2001 and 2002
- Spartasoft: group at MSU devoted to helping members gain skills and experience in game development
- Upsilon Pi Epsilon Computer Honor Society (Awarded to top 3 students in Denison Computer Science)
- Volunteer with TEDx, Taekwondo club, Co-organize CS SG Ultimate Frisbee group, Scanners Singapore
Work Experience Expanded
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 are 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.
Another start-up wanted to create a website to allow members to get discount prices at high-end restaurants. We designed the architecture to allow the administrators to easily add restaurants, add discount offers and alter levels of permissions for administrators of different cities. Restaurants could limit how many tables were offered at different times during the day. Members could filter the list of special offers by date, time, cuisine, price or neighborhood. After selecting a restaurant and viewing the details and reviews, they could purchase credits through Paypal and book reservations. Confirmation was sent to both the restaurants and members.
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.
Office Manager, South Texas Engineering, Inc., San Antonio, TX, Jul 2006 – Nov 2006
- Serve clients and ensure the prompt completion of their work requests
- Supervise office employees and balance work load among staff
- Manage field crew and ensure optimal scheduling
- Interview candidates and train new office staff
- Solve computer software, email and networking issues
As a structural engineering company, we had to design engineering plans for buildings designed by some of the biggest home builders in the country: KB Home (Austin branch), Pulte Homes and Ryland Homes (San Antonio branches). As requests came in from our clients, I would delegate the tasks to the proper staff in the office. We also had to send field crew to the sites for measurements and inspections and I would schedule the crews and keep tabs on where they were. As office manager I had to ensure that the operation was running smoothly and handle any urgent or special requests by our clients and make sure they were happy.
Lead Counter, Panda Express, Columbus, OH, Sep 2005 – Feb 2006
- Ensure guests' happiness and return by exceeding their expectations
- Maintain a positive atmosphere in the store among employees and with guests
- Supervise and train associates to work together properly and efficiently
- Have the facilities clean, equipment operational and inventory stocked
This position was effectively an assistant manager since the restaurant didn't have one. Depending upon the staff that day, we had to assign roles and pick up the slack regardless of where it was. Sometimes we cut vegetables or cook food, sometimes we took orders, served food or ran the register, other times we washed dishes, cleaned the tables and toilets. Often doing all of them plus managerial duties during the same day.
An important role is to know the team members well so you can balance assigning tasks people like but also varying it up so no one is stuck doing a task no one likes. The main job was to manage the restaurant so we served good food so customers came back without them realizing or caring that we were a dysfunctional family of low paid foreigners, young students and drop-outs.
Anderson Research Grant, Denison University, Summer of 2001
- Programmed software to help find patterns and properties of Zero-divisor graphs for math researchers
- Authored tutorials for OpenGL for a CS graphics course
Lead Intern at Testutor Inc., Granville, OH, Summer of 2000
- Developed a Java applet chat system that allowed support to easily help many customers simultaneously.
- Set up and maintained network of computers for all interns.
Dairy Queen, Columbus, OH, February 1996 – December 1997
- Take orders, prepare food and serve customers
- Keep equipment operational
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 you how attractive others find you. (Drupal, php, MySQL)
- 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++.
- 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).
- 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++)
- 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++)
- Mosaic: Allowed users to 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)
- Turing Machine Simulator: Using MFC dialogs, took a Turing Machine description and tape as an input and ran the Turing Machine on the tape displaying the results graphically with OpenGL.
- 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.
- Chess: A networked client/server multi-player chess game that allowed users to create, join and watch games. Users could also chat (both private and broadcast to room). Coded on Red Hat Linux with OpenGL using GLUT for graphics. (C++)
- NACHOS: Coded an operating system on simulated MIPS architecture. (C++)
- 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
- 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.