JOHNNY LIU
2835 Woodside Terrance, Fremont, CA 94539
Phone: (510) 599-1152
Email: liu@cs.stanford.edu
OBJECTIVE: A Challenging position as Engineering Director on the cutting edge of software and information technology.
SUMMARY:
|
· 15+ years progressive experience in MS Windows platform multi-tier development |
· C, C++, JAVA, PERL, IIS, ActiveX, SQL Server, NSAPI, ISAPI |
|
· In-depth knowledge and experience in project management methodologies and development life cycle. |
· 2+ years experience with .NET (C#, VB.NET, ADO.NET, ASP.NET) and web services (XML, XSL and SOAP) |
|
· Strong experience in product definition, roadmap and release planning |
· JSP, Java Servlets, J2EE, Win32, MFC, OLE, COM, XML, HTML, SQL, LEX, YACC, Postscript, Tandem NonStop C |
|
· Planned and orchestrated several smooth product rollouts with cross functional teams |
· Fault Tolerance system and NonStop programming. |
|
· Interacted with customers and marketing to collect and define requirements. |
· Internet Protocols: HTTP, SMTP, POP3, IMAP4, RVP, NNTP, IRC, DAV |
|
· Worked closely with QA, Tech Writers, Training, Release Engineering, and Operations. |
· Advanced Computer Techniques: Compiler Design, Computer Networking, Computer Graphics, Operating System, and Database Design |
PATENTS:
EXPERIENCE:
Microsoft Corporation,
Product Unit Manager
2006 - Present
Manage cross function team of 50+ (Dev, PM, Test) to deliver end to end mobile experience for the Windows Live user. Projects included browser based solution, SMS service/platform, and high impact native client for WL social scenarios; these includes Messenger, Photos, Mail, Calendar, Contacts, Feeds, etc. The solutions are ranges from large scale services running in distributed data centers and native clients running on specialized mobile devices. Responsibilities include recruiting and retaining engineering talents, product planning, development, and delivery, site management, budget and operational.
Group Manager
2005 - 2006
Manage cross functional team (Dev, PM, Test) to deliver various aspects of Hotmail, Windows Live Mail, Windows Live Calendar, and Windows Live Contacts. Responsibilities include recruiting, planning, development process improvement, infrastructure setup to facilitate development of core Windows Live components in Shanghai, China.
Software Development Engineering Manager
2004 - 2005
Manage cross team in US and China working on MSN Hotmail and Calendar products. Responsibilities include resource allocation, development planning, software process development, hiring, and mentoring developers. Worked on Quality of Service initiatives, service scalability and system optimization, cross discipline partnership, and drive the team toward a common vision. Work closely with QA, Ops, RE and PM teams to ensure quality and stability of the Hotmail products. Build a cross functional team in China, provides product direction, training, processing improvement, mentoring and vision for the Hotmail product team moving forward.
Software Development Engineering Lead
2003 - 2004
Manage a team of 13 developers and managers working on MSN Hotmail and Calendar products. Responsibilities include resource allocation, development planning, software process development, and mentoring developers. Worked on Quality of Service initiatives, service scalability and system optimization, PIM feature release, and drive the team toward a common vision. Work closely with QA, Ops, RE and PM teams to ensure quality and stability of the Hotmail products. Hotmail consists of a core ISAPI DLL written in C++ and a number other supporting products written in C# and C++.
Responsible for architecting the next generation MSN service for mail, calendar, and invites. Lead a team of developers to re-architecting the current system with performance, flexibility and extensibility as the design point.
· Represent Hotmail Development and providing leadership when working with other teams:
o Worked with Product Management team on project planning, resource allocations, risk assessments, and scheduling.
o Worked with QA team on performance testing, access patterns, stress testing, and test plans.
o Worked with Operations team on Quality of Service, site issues, roll out plans, and service tuning.
o Worked with Data warehousing team on optimization of the Hotmail to reduce storage performance impact.
o Worked with Release Engineering team to deployment configuration issues, branch path, and schedule coordination.
· Analyzed Hotmail usage and worked with Operations to tune the clustering, resulting in FD machine reduction from 200+ machines/cluster to the new 40 machines/cluster. This enables Ops team to manage less machines and overall less hardware cost on Hotmail. Helped to reduce the server requirements from 4000+ machines down to less than 1000 machines.
· Worked with senior managements to identify strategic vision for Hotmail.
· Better HTML filter technology. Worked with external team to identify and evaluate internal products that does a better job at filtering Cross Site Scripting issues – SafeHTML. Driving the incorporation of this library into FD code base and worked with QA on stress testing the library to ready it for deployment.
· Institute tools to improve code quality. Using Prefast and Prefix during build process to identify poor coding practices and take the appropriate fixes. Purchased Quantity and Intel v-tune to identify performance bottlenecks and breaking the bottlenecks into optimizable areas.
· Worked with Ops Monitoring team to identify mechanism for better site reporting. Overhaul the system to propagate detail system errors for easier identification.
· Driving performance optimization with Hotmail Bump Pack support – optimized large buffer processing and BE access patterns.
· Identified areas of bottlenecks and set up a plan to optimize Hotmail to support 2GB paid accounts and 250MB free accounts. Re-worked how and when search/sort functionality is implemented in the Hotmail.
· Optimizing Header windowing – driving the rework of header access to prevent excess Disk IO, inefficient Hotmail processing, and better overall user experience. Worked with Data warehousing developer on new API to enable windowing and tuned the hotmail core to take advantage of the new API. This resulted in less data transfer between Storage and Hotmail, less processing resource, and better page download time.
· Worked with team member to function as a unit. Developers on the team are crossed trained, and are more comfortable with problem investigation and share ideas with each other. Worked to understand the strength and weaknesses of each team member and working with individuals to identify areas of improvements.
· Code Inspection – institute coding inspection policy for high impact code path and learning experience for junior programmer. This facilitated a channel for team members to learn from each other’s coding style, mistakes, and areas of expertise.
· Pair Programming – Bring in Extreme Programming practices into the team. Paired up developers to expand developer coverage into areas of isolated knowledge. Assign developers to each other’s features and have team members work with each to learn about the feature area. This has resulted in developers having better understanding of the Hotmail system and allow better load balancing on work assignments.
· New Development skills – Stride to get dev team trained up on new technologies when possible. Initiated and driven OIM to be build upon new technologies such .NET and SOAP. Freed up resources to work on a common template solution for Hotmail and Calendar leveraging ASP.NET technologies.
· Live site debugging – work toward getting all members of the team trained on debugging live site issues. Resolved long pending issues such as memory
Hewlett-Packard Corp,
Senior Software Architect
2001 - 2003
Architect and develop tools for supporting dynamic link library (DLL) on HP NonStop Kernel. Responsibility includes writing external/internal functional specification; designed and implemented a multi-platform C++ linker and loader to facilitate static and dynamic support for DLL. Responsible for design and develop an automated regression test suite to facilitate testing on the PC platform.
Model E Corp,
Engineering Director & Chief Architect
2000 - 2001
Work closely with company executives on strategic direction, planning, budgeting, and partnerships. Responsible for designing the infrastructure for an E-commerce system and manufacturing process built on Internet technologies.
Manages a team of 12 senior engineers on development of Consumer website (www.modele.com), business partner backend integration, evaluating software solutions (ERP, CRM, SCM, Configurator, Telematics), and IS solutions (corporate network, telephone/call center integration, dialup solutions). Technologies deployed for the website included Apache webserver on Linux, BEA Weblogic Application Server, Oracle 8i, JSP/Servlet, and PERL.
America Online,
Software Engineering Manager / Principle Engineer
2000 - 2001
Managed teams on Netscape Information Broker library and application level monitoring system. Netscape Information Broker is a library that allows application programs to retrieve, store and update information seamlessly from a number of supported data stores.
Architect and prototype single sign-on/off to AOL properties and affiliated websites. The system includes 2-way user profile synchronization, automated registration at affiliate sites, and secures authentication generation.
Responsibility included technical design and development of a comprehensive user level monitoring system. The system provides responses (alerts) and quick graphical views for a number of services running at Netscape and AOL. Work closely with program manager from initial project pitch, prototyping, team selection, to deployment of service on Netscape and AOL network.
Responsibility included technical design and development of tools, libraries, utilities, and test suites for high-speed network systems. This includes tools for data automation, server load testing, server performance analyzer, and connection pooling library, thread pooling library, network library, and memory manager.
Netscape Communication Corporation,
Lead Architect
1998 - 2000
Responsible for technical design and development a set of distributed high-performance transaction servers, mentoring junior developers, working with quality assurance group, and deployment of these high performance transaction services. The system consists of a thin processing manager, a data source plug-in manager, and a layout manager. One area where this is currently deployed is in the Smart Browsing feature on www.netcenter.com.
Disney Online (The Walt Disney Company),
Lead Engineer
1996 - 1998
Responsibilities included managing 5 senior internal developers and 100+ engineering personnel, providing technical insights to the project executive producer, meeting with partners, and providing technical directions on projects.
Designed and implemented the SSI filter for the IIS web servers. This extension is developed as an ISAPI extension written in C++. This extension is registered in the IIS script map list and is called by the IIS on requests for a specific filename extension. The SSI filters reads in a set of configuration parameters on startup and processes all tag substitution in memory.
Designed and implemented the setcookie extension for the IIS web servers. This DLL is implemented as an ISAPI extension written in C++. This extension drops a cookie in the current domain and then redirects the request to its original destination.
Designed and implemented the relay extension for the IIS web servers. This DLL is implemented as an ISAPI extension written in C++. This extension is used to tunnel request from one domain to another through socket connection.
Designed and implemented the redirect filter for the web and application servers. This filter is implemented as an ISAPI filter written in C++. This filter processes incoming requests from the source domain and redirects to the destination domain with the query string, cookie, and POST buffer. This is currently deployed on www.go.com to redirecting traffics coming to disney.com, store.disney.com, family.com, and a number of other Disney Online properties.
Designed and implemented the user authentication filter for the web and application servers. This filter is implemented as an ISAPI filter written in C++. This filter processes incoming requests and validates the cookie. Depending on the configuration, the filter will redirect the request to a login page if the cookie has expired or honor the request.
Designed and implemented a multithreaded caching library. This high speed in memory cache module is implement is POSIX C, with portability in mind. It caches results from user queries with TTLs. The cached records can be timeout by user application or an internal thread, which can be configured to expire them. Currently, this high speed library module is being used by the Online Object Cache.
Designed and implemented an Instant Messenger protocol, IM servers, and an IM application (ICQ/Yahoo Pager/AIM like) for facilitating online communication between Disney Online users. Main features included buddy online status, instant messaging, file transfer, skinned interfaces, and peer-to-peer chatting. The client is a Java applet for ease of installation and platform portability and the server is a multi-threaded C++ application running on WINNT.
Designed and implemented a Personal Digital Assistant. This application is a tool that receives system messages, launch collaborative, community and service applications. This application is written in C++ using the MFC and provides customizable interfaces.
Designed and implemented a lightweight ILS server to support ‘whose online’ style query. This server provides the custom client application with accurate buddy online status.
Responsibility includes implementing customized client that communicates with third party chat server. The project in currently deployed on www.disney.com, www.disneyblast.com, and www.family.com.
Designed and implemented customized IE compliant WWW browser with fully updateable components in C++ and COM interfaces.
Designed and implemented high scores, vote tally, and email submittal ISAPI DLLs running on all Disney IIS servers.
Shoah Foundation (A Division of the Ambelin Production),
Software System Consultant
1997 – 1998
Designed and implemented an educational multimedia CD-ROM product on the holocaust survivors. Some of the feature for this product includes multi-platform support (PPC MAC and WINTEL), seamless multi CD switching, customized UI components, image fading, and image transition.
The application was nominated for the Codie Award for Best Software Product of the Year 1999.
Bonviv, Inc.,
Engineering Director
1995 – 1996
Responsible for providing the driving force behind software development, technical expertise at detailed level for number of web projects, and managing the engineering personnel.
Tandem Computers, Inc.,
Senior Software Designer
1993 – 1996
Responsible for design and development of C++ reusable class libraries and porting of Java runtime and compiler to Tandem Open System Service (OSS) platform.
Primary responsibility includes both the maintenance of the existing C/C++ runtime library sources as well as the development of new software products for existing and new hardware and software environments. Duties include code design and development; development of suitable test programs; analysis of software problem and the generation of project documentation.
Responsible for maintenance and enhancing of the Tandem Advanced Command Language. Duties include design and implement flexible security configuration command, maintenance of existing code and development of new software for existing and new hardware platforms.
Cadona International, Inc.,
Computer System Consultant
1989 – 1992
Developed and maintained local area networked xBASE database system used daily for book keeping, inventory control, invoicing and customer service. Also responsible for user consulting, weekly backup and system upgrades.
RELAVANT PROJECTS:
Application Service Monitoring System
Designed and implemented a suit of servers to facilitate 24x7 monitoring and notification on critical service errors. The system provides real-time feedback at multiple granularity; from detailed error analysis for developers to breakdown on error type for managers. The servers are broken down into 3 major areas: 1. The main monitoring and notification servers are written in C++ application and ran on Solaris, Linux, and NT to facilitate flexible deployment of servers on any ISP. 2. The Configuration server is a written in PERL with a number of HTML pages to allow configuration of the system from where there is a web browser. 3. The Real-Time plotter is written in Java. All 3 of these subsystems leverage a centralized DB server (Oracle or MySQL) for the latest configuration and status. The servers were deployed in a number of locations including intranet as well as external ISP to monitor my.netscape.com and my.aol.com.
Single Sign-on/off Registration & Authentication System
Smart Browsing
Designed and implemented a set of transaction servers to support the aggregation of related information from multiple data providers. The front-end of the system is a NSAPI module and the back-end consists of a number of plug-in modules, which supports various local and network protocols. The main system is written in C++ with build-in thread pooling, memory manager, connection pooling, and networking for optimal performance. Included is also a set of external tools written in PERL for offline data processing.
Notification Server
Designed and implemented ISAPI extensions to facilitate interrupt type communication from the server complex to the Disney Online client. This server works closely with the Instant Message Server and Instant Message Client.
Instant Message Server
Designed and implemented an ISAPI extension for facilitating Disney Online member’s instant messages. The server provides real time communication between clients whenever possible and queue up messages when the client is unreachable (e.g. behind firewall). This server is implemented for fast (in memory lookup) and reliable message (persists to SQL) retrieval.
Instant Message Client
Designed and implemented an ICQ/YAHOO Pager/AIM like Instant Messager to facilitate communication between Disney Online users. Some of the feature for this application includes instant message, online user status, skin-based interface design, and peer-to-peer chat. The application is implemented both as a JAVA applet and light weight application for ease of installation and portability.
WWW Homepage Creation and Publishing Client
Designed and prototyped a MFC C++ application which provides the user a single client for creating and publishing homepages. This application leverages the WYSIWYG DHTML editor DLL for homepage creation and sends the modified homepages via email to the moderator for review before publishing on the homepage server.
AVI, ASF Video Sync Client
Designed and implemented an MFC C++ application that controls the rendering of AVI movies with scripting supports. This application synchronizes AVI video with a 3rd party audio format via simple scripting language. This framework is later extended to support Microsoft NetShow video format (ASF).
WYSIWYG DHTML Editor
Designed and implemented an MFC C++ DLL that provides WYSIWYG HTML editing capability. The DLL leverages MS DHTML COM control for rendering HTML and Flash COM control for user interface. This control is embedded in an HTML mail application for constructing and reading HTML mails.
Personal Digital Assistant
Designed and implemented an MFC C++ application that provides a tool with which the online user can interact with the Disney Online service. The user uses the PDA to launch applications, retrieve friend’s online status, receives system messages, online chat session, and retrieve email messages.
POP3/IMAP4/SMTP Proxy Server
Designed, prototyped, and implemented ISAPI extension DLL to proxy POP3, IMAP4, SMTP requests through HTTP. This server extension provides users with HTTP enabled client (e.g. WWW browser) to send and receive mail messages to and from the mail servers.
‘Whose Online’ Server
Designed and implemented ISAPI extensions for managing Disney Online member’s online activities and at the same time provide query interfaces to facilitate real time client-to-client communication.
Customized Chat client/server
Designed and implemented customized chat client that works with 3rd party chat server. Work on this project includes customizing the client UI, server-side Authentication Bridge between the 3rd party server and existing Disney authentication server, and plug-in authentication DLL in the room server. The client is a Java Applet written with customizable interface to facilitate the creation of daily chat sessions. This allows the creative people to design their UI without having to modify the chat client.
Designed and implemented MFC C++ ISAPI extensions for tracking master and daily high scores, keeping vote tallies, and proxy email submittal from HTML interfaces to the SMTP server.
Customized Web Browser (D-Browser)
Designed and implemented IE compliant web browser with custom interface and fully updateable component architecture. This application provides the user with a Disney-branded WWW browser based on IE (3.x/4.x) technology. The browser provides support for launching Disney applications, login/logoff into and out of the Disney Online service, and safe browsing.
Designed and implemented an ISP dialup application based on RAS (remote access service) API. This MFC application provides the support for user to dialup/connect to pre-configured ISP. The application also monitors modem disconnection and auto reconnects to the ISP whenever possible.
Designed and implemented a WIN32 C++ application for managing audio CD. The feature set includes play, stop, rewind, pause, fast forward, track selection, and eject. This application uses the MCI (Multimedia Control Interface) for communication with the CD player.
Designed and implemented an innovative search engine including a unique “Nearby Attraction” search feature. This search result is used to plan a night out on the town. Users can select a favorite venue and then find out what hot spots are located around it to complete the evening’s activities.
Photo Realistic Image Synthesis
Developed a distributed Ray Tracer for photo realistic image synthesis in C++. In addition to the usual reflection and refraction, this system also included distributed rendering methods, stochastic sampling, texture mapping, procedural shading, and various methods of optimization.
Interactive Relation Database Management System
Designed and implemented Relational-Algebra Front ends with X-Window Interface and a back end mechanism for storage of data. The interface allows database programmer to create, modify, and delete relations and tuples interactively or using Standard Query Language (SQL).
Multi-Pass PASCAL Compiler
Designed and implemented a 2-pass PASCAL compiler with register allocation, code scheduling, peephole optimization, and global optimization in SUN Environment. The program translates from PASCAL into an Intermediate Representation (IR), then from the Intermediate Representation into 68k Assembly Language.
Artificial Intelligence and Dating Service
A Graphical Dating Service system, written in LISP running in X-windows, that matches the user up for a special date. The program is modeled after the video dating, where the image of the heuristically chosen person appears before your own eye.
Machine Simulator and Language Debugger
Developed a simulator for emulating the PDP-11 Instruction Set. This system allow users to learn PDP-11 assembly language by writing, loading, test and debug on a SUN Sparcs.
Multitasking Manager
Implemented a multitasking system in 68020 where single processor is shared among multiple programs. This implementation includes some of the core multitasking services: create, scheduling, context switches, suspend, resume and terminate.
Commercial Database System with Graphical Interface
Designed and implemented a local networked database system using DBase IV on WINTEL platform. The system includes inventory control, order processing, meeting scheduling, and general accounting.
EDUCATION:
Master of Science in Computer Science
Stanford University, Stanford,
1991 - 1993.
Bachelor of Science in Computer Science,
University of Southern California, Los Angeles,
1988 - 1991.