<<

Linh Chau Enterprise Software Architect/Senior Software Engineer Current Location: Austin, TX Email: [email protected] Personal public code repository: https://bitbucket.org/linhchauatl/

PROFESSIONAL QUALIFICATIONS • Twenty three years working experience as Software Developer (three years in Asia, two years in Germany and eighteen years in the United States). • Eighteen years experience of team work and leadership with local and distributed groups in Germany, United States, Japan, France, China, etc. • Eighteen years of intensive experience in configuration management, source code control, version configuration. • Twenty one years experience of Software development using OO methodologies, OOA, OOD, Design Patterns, UML visual design with Rational Rose, Agile, XP. • Good communication skills, both written and verbal. • Sixteen years experience with Enterprise Production Systems (PDM, PLM, CRM, and ERP) written in and Ruby. SKILLS: Operating Systems Mac OS X, iOS, (RedHat, CentOS, Ubuntu, Mint) Languages Ruby, ++, C, Java, Go, Elixir, Rust, javascript UI Technologies HTML, CSS, HAML, ERB, Slim, Ajax, jQuery, ReactJS Frameworks Rails, Web servers & App Apache, , , , Passenger, , , Tomcat, servers JRun, WebLogic, WebSphere, JBoss Databases MySQL, PostgreSQL, MongoDB, Oracle, DynamoDB, SQL Server Methodology Agile, Scrum, BDD, TDD, RUP, XP (Extreme Programming), OOAD, Design Patterns Tools & Utilities Git, docker, AWS services (EC2, S3, ELB, RDS, DynamoDB, ASG, Route53, SQS, SNS …etc…), Jenkins, RSpec, , Selenium, .

EDUCATION, CERTIFICATION AND AWARD • B.S. Computer Science: Technology University of Ho Chi Minh city, Vietnam, 1995. • Sun Certified Programmer for the Java 2 Platform: USA, 2000. • Third Prize of the 1995 National Informatics Competition for Young Vietnamese Professionals.

1 | Page

PROFESSIONAL EXPERIENCE

Contractor for Cisco February 2016 – Present Milpitas, CA, United States Senior Software Consultant

Client: Cisco Milpitas, CA, United State: February 2016 – Present Remote 100% from my home office in Austin, TX

Senior Software Consultant, working in the group Smart Licensing.

Responsibility: • Participate in the Analysis and Design of Cisco’s new Licensing application. Working with different groups within Cisco to build the new Licensing application that serves millions of devices with TBs of data per day.

• Working on Performance and Scalability measurements and designs for existing applications and new applications of Smart Licensing group.

• Design and write new code for Prepaid License Application in .

• Write Ruby to replace Cisco’s old Cryptography tools.

• Write code in Go to build the new Licensing application.

• Maintain existing Ruby on Rails application of the Licensing group.

• Build LXC containers that are used to deploy software and deliver to Cisco’s customers.

Technologies: Go , Beego framework, Ruby language, RoR framework, JRuby, nginx, Puma, JMeter, MariaDB, Linux lxc. OS: CentOS, Ubuntu, Mac OS X.

Radian Solutions LLC April 2009 – February 2016 Roseville, CA, United States Senior Software Consultant. Work on many projects for: ThyssenKrupp Elevators, Cox Digital Exchange, Oppenheimer Funds, Rackspace, FullScreen, Appthority, Autodesk, Cisco.

Client: Cisco Milpitas, CA, United States September 2015- February 2016 Work on Cisco Internet-of-thing Platform.

Responsibility: • Work with Cisco engineers in IoT group. Write Sinatra micro services that provide APIs for hardware devices and other services to connect to Cisco IoT platform. • Provide expertise and hand-on helps, guidance to other engineers about cloud infrastructure, micro services container, application server configurations, docker container management.

Technologies: RESTful APIs development using Ruby (Sinatra, Rails). ElasticSearch as database storage.

2 | Page

Servers: nginx, puma, unicorn. Nodejs: a few javascript code for micro services. Testing tools: RSpec, Cucumber to test Ruby code. Jasmine, CucumberJS to test javascripts. AWS EC2, S3, Route 53, Docker containers. Swagger for API documentation. OS: MacOSX, Linux.

Client: Autodesk San Francisco, CA, United States October 2014 – August 2015 Software Architect/Sr. Ruby Developer

Responsibility: • Work with Autodesk DDWS (Digital Distribution Web Services) group, with Autodesk architect group to design and implement an open API system that allows Autodesk partners to integrate their external enterprise applications with ASDK Enterprise system. This API system facilitates the automations of sale and billing between Autodesk and Autodesk partners world wide.

• In charge of technical reviews of all the features: security, software architecture, software performance, cloud deployment, coding quality, coding standard of a project team consisted of U.S. contractors, U.S. Autodesk software in-house team and an off shore team in Singapore.

• Write document about Enterprise Multi-tier Application Design. Set standards and best coding practices for the team.

• Implement core components of API Service Layer infrastructure using Ruby programming language.

• Mentor/teach developers of the team about software engineering.

• Work with Autodesk EIS (Enterprise Information System) group, with Autodesk architect group to design integration system for ADSK in-house enterprise applications such as Oracle, Siebel, SAP, using Ruby programming language.

• Write Ruby Web Services APIs (using REST and SOAP) for internal integration between various Autodesk in-house enterprise systems, utilize the Mojo framework based on Sinatra.

• Redesign Mojo framework to make it modularized and easy to customize/extend.

• Write various Ruby gems to use within Autodesk enterprise systems (Some of them were opensourced later).

• Design and implement various Proof of Concept and write production code using Mojo framework with ActiveMQ, RDS (MySQL), AWS SQS, TibcoJMS, DynamoDB, ElasticCache (redis type).

• Write Ruby SDK for an in-house data streaming system called CSE.

• Write Ruby on Rails Reference Application to test CSE. • Provide guidance, solutions, best practices to Autodesk architects and other developers.

• Write a command line tools in Ruby to control and manipulate AWS EC2s and S3 across availability zones, running within an EC2 instance, login using ssh key. This tool allows developers in big corporations to use AWS services without individual AWS credentials.

Technologies: Ruby, Sinatra, Ruby On Rails, git, memcached, zookeeper, Apigee, Amazon EC2, S3, SQS, DynamoDB, RDS, Route53, SNS, ActiveMQ, ElasticCache, MySQL, PostgreSQL. 3 | Page

Client: Appthority, Inc San Francisco, CA, United States July 2014 – October 2014 DevOpt and Sr. Ruby On Rails engineer

Responsibility: • Setup and monitor development infrastructure of the company in the Amazon Cloud (AWS). • Write deployment script to deploy multi RoR applications of the company to different EC2 instances. • Performance monitoring and tuning all the RoR applications of the company. • Setup TDD and BDD tests infrastructure for continuous integration development. • Writing various Ruby scripts to do the admin tasks. • Working on Ruby On Rails applications of the company. • Setup, configure and tune RabbitMQ and ElasticSearch servers for the company. • Work on data migration between MongoDB and PostgreSQL.

Technologies: Ruby, Ruby On Rails, git, , HipChat and HipChat integration, Amazon EC2, S3, SQS, Route53, RabbitMQ, Elasticsearch, NewRelic, Travis, JIRA, MongoDB, PostgreSQL.

Client: Fullscreen Culver city, CA, United States September 2013 – June 2014 Senior Ruby On Rails developer

Work on multiple Rails applications of Fullscreen, designed as Web Services to manage Fullscreen's customers, partners, Youtube channels, business contracts.

Responsibilities: • Work with project manager, customer and business analysts to gather requirements and write specifications for the software development projects. • Participate with a team to design and write core functionalities of the website using Ruby On Rails and related technologies such as various Ruby gems, PostgreSQL ...etc... • Write code to interact with Amazon S3 to store files, contract documents in S3. • Design and write APIs for RESTful web services that are consumed by Fullscreen's in-house applications.

Technologies and tools: Ruby, Ruby On Rails, RSpec, jQuery, various gems, PostgreSQL

Development Process: Agile process.

Client: Rackspace San Antonio, TX, United States February 2013 – September 2013 Senior Ruby On Rails developer

Work on a Rackspace's in-house Ruby On Rails application named Proposal Manager. This product is used by sales people in Rackspace to manage business opportunities, make quotes, contracts and manage customers information, contracts ...etc.. for different level of hosting services in different areas of the world.

Responsibilities: • Work with project manager, customer and business analysts to gather requirements and write specifications for the software development projects.

4 | Page

• Participate with a team to design and write core functionalities of the website using Ruby On Rails and related technologies such as various Ruby gems, PostgreSQL, jQuery ...etc... • Write code to integrate Proposal Manager with Salesforce. • Mentor junior and other developers

Technologies and tools: Ruby, Ruby On Rails, RSpec, jQuery, various gems, PostgreSQL

Development Process: Agile process.

Client: Oppenheimer Funds Englewood, CO, United States September 2012 – January 2013 Senior Ruby On Rails developer

Work on the website of Oppenheimer Funds, write web-based application using Ruby On Rails, for financial transactions, customers and advisors management, search engine for the web-based application, integration with legacy systems of Oppenheimer Funds.

Responsibilities: • Work with project manager, customer and business analysts to gather requirements and write specifications for the software development projects. • Participate with a team to design and write core functionalities of the website using Ruby On Rails and related technologies such as various Ruby gems, MongoDB, Oracle, Sybase, jQuery, coffee scripts ...etc... • Write web services APIs in Ruby On Rails to integrate with legacy systems using Oracle DB and Sybase DB. • Mentor junior and other developers

Technologies and tools: Ruby, JRuby, Ruby On Rails, RSpec, Minitest, jQuery, various gems, Mongo DB, Oracle, Sybase

Development Process: Agile with some Scrum techniques.

Client: Cox Digital Exchange Atlanta, GA, United States March 2012 – August 2012 Senior Ruby On Rails developer, senior iOS developer

Work on the project DealerMatch, building a B2B platform that allows car dealers in the U.S. to perform tasks such as vehicles listing, searching, marketing, trading ...etc... both via Web browsers on computers and mobile devices such as iPhone, iPad.

Responsibilities: • Work with project owner and business analysts to gather requirements and write specifications for the software development projects.

• Participate with a team to design and write core functionalities of the website using Ruby On Rails and related technologies such as various Ruby gems, MongoDB, HAML, jQuery, coffee scripts ...etc... • Participate in the ETL process for data warehousing project. • Design and write code for iOS application of DealerMatch in Objective C, run on iPhone, iPad and iPod Touch. 5 | Page

• Write web services APIs in Ruby On Rails to serve as data services for iOS app. • Owner of the project about load testing, performance testing of the application. • Integration projects with external data sources via web services and external databases. • Mentor junior and other developers

Technologies and tools: Ruby, Ruby On Rails, RSpec, Cucumber, HAML, jQuery, various gems, engine , Amazon WS, Mongo DB, PostgreSQL.

Objective C, Cocoa, Kiwi, Frank, various Cocoa frameworks, NS and CF frameworks.

Camera and barcode scanner. iOS, Mac OS X, Ubuntu Linux. , Xcode, AppCode, TextMate, Git, for Android development

Development Process: Agile with some Scrum techniques.

Client: ThyssenKrupp Elevators Atlanta, GA, United States April 2009 – March 2012 Solution Architect, Ruby On Rails

Thyssen Krupp Elevator is developing an in-house Enterprise software system to manage all the Elevator repair activities world wide, and integrate this software with existing Oracle E-Business Suit to process the Maintenance, Repair, Part Sales and Customer Billing of TKE world wide. The system is built using Ruby On Rails, back-end database Oracle, deploy on Linux server, running Apache + Mongrel.

My role in this project is: • Work as Software Architect, measure performance and scalability of the applications. Recommend and Implement the application deployment to ensure the high performance, scalability and reliability of the application. • Review the application architecture, in charge of application performance tuning and application deployment. • Recommend, design and setup application server clusters for 3 Rails Enterprise applications of TKE. • Review the application design and code. Recommend best practice in design, coding, algorithms and database queries. • Reorganize application design, rewrite some core code to ensure the security, performance and flexibility of code. • Design and write code for new functionalities of the system, such as Role-based Access Control, Change Order, Progress Bill, Auto Repair Creation. • Diagnose and fix critical problems in production system.

O.S.: Window XP, Mac OS X, Oracle Linux Application server: Apache, Mongrel Language and tools: Ruby, Ruby On Rails, various Rails plug-ins Javascript libraries: Prototype, Dojo, jQuery Database: Oracle 10g

OTHER COMPANIES AND PROJECTS 6 | Page

04/2008 – 03/2009 Silvertip Labs, Inc. Senior Software Developer, RoR 11/2007 – 11/2008 Aspen Technology Senior Software Developer, Java, J2EE

* Many other companies such as Mercedes-Benz, Daimler-Benz, PTC from 1995 to 2007.

PERSONAL QUALIFICATIONS: • Basic German conversation. • An innovator and creative thinker. • An independent and reliable worker • A cooperative team member and leader • A competent and fast problem solver

7 | Page