Sr. Member Of Technical Staff Resume
Palo, AltO
SUMMARY:
- Professional, highly motivated, innovative senior engineer with 9 year hands - on experience seeks a senior engineer position to develop software projects of distributed client/server, scalable network management and software applications using Java, C++ and web technologies from conception through implementation and maintenance.
- 9-year hands-on experience in commercial software management design, implementation of multi-tier enterprise management system.
- Experience in developing product through all stages including design, specifications, coding testing (unit tests) and release.
- Highly skilled in multiple programming languages Java, C++, C, C#
- Diverse experience utilizing Java technologies in business, Web, and client-server environments including Java Platform, Enterprise Edition (Java EE), Enterprise Java Bean (EJB), Spring Framework, JavaServer Pages (JSP), Java Servlets and Java database Connectivity (JDBC) technologies..
- Experienced in the areas of Web service implementation, Windows application programming,
- Excellent skills in Object Oriented Analysis, design
- Experience in multi-threaded programming
- Knowledge of Network protocols
- Experience in using Tomcat, Axis2, Microsoft SQL server, Hibernate Java libraries as well as knowledge of JDBC and RDBMS
- Experience in schema design using XSD/XML and data-driven GUI design using XSD and Java Swing
- Domain expert on storage virtualization management.
- Ability to quickly assimilate new material and adapt swiftly to new working environment
- Excellent communication skills and work well in team environment
- Participated in design and implementation of a vShpere plug-in management system as a J2EE web service.
- Worked with team members and QA through all product release cycle.
- Created web service and messaging service for the backend server.
- Implemented host auditing system
- Implemented software installation and configuration.
- Worked with PM on UI/UE design
- Designed and built the network configuration for the system
- Participated in design and developed a network virtual appliance for backend NFS
- Setup active-active and active-passive management system
- Created snapshots for the virtual volumes
- Implemented a code generation process for localization
- Built the system database by using Hibernate and HSQL
- Contributed to a GUI Client which is a Java application/Applet developed with Swing components interacting with the server through RMI
TECHNICAL SKILLS:
Languages: Java, C, C++, C#, XML/XSL, JavaScript
Technology: J2EE, Servlets, Web Services, SOAP, WSDL, JMS, Spring Framework, JNA, JDBC, JAXB, Multi-Threaded Programming, Swing, log4j,, RMI, sockets, HTTP, TestNG, JUnit, SNMP, WMI, HTML
Tools: Eclipse, MS Visual Studio, Ant, Perforce, Visual SourceSafe
Domain Knowledge: OOD, OOP, Network protocols, SQL, RDBMS, Design Patterns, Cluster, Hibernate, XML-RPC, Java RMI, NetApp ONTAP, Data Domain, Sleepycat
OS: Windows, Linux
PROFESSIONAL EXPERIENCE:
Confidential, Palo Alto
Sr. Member of Technical Staff
Responsibilities:
- Participated in architecture design and implementation of a vSphere plug in, Storage Virtual Appliance (SVA) management system, to create and manage a virtualized, clustered, highly-available, ISCSI SAN from the internal storage, provided by multiple servers, each runs ESX and the SVA virtual machine (VM).
- Implemented SVA management system installation, registration and configuration.
- Implemented SVA highly available cluster configuration and creation.
- Implemented deployment process as Java future tasks to import SVA virtual machine on each ESX host from a SVA .ovf file and update the job progress to the Flex client in real time.
- Implemented the messaging service by using JMS for message delivery from the publishers (SVA VMs) to the subscribers (SVA management service).
- Implemented network configuration management by invoking WIN APIs through jna (Java Native Access).
- Participated in network design and configuration for VMs and ESX hosts inside SVA cluster.
- Designed and implemented host auditing process to select the candidate servers to be added into SVA cluster.
- Participated in system failure detection, restore and rollback mechanisms design and implementation.
Technical Environment: Java, JDK1.6, Tomcat 6.0.18, Axis2, Servlets, Ant 1.8, JAXB 1.0, JNA, TestNG, XML, Perforce, Windows XP/2008, RedHat
Confidential, Santa Clara
Sr. Software Engineer
Responsibilities:
- Responsible for the design, documentation and implementation of Active-active cluster support by using Java and cluster APIs in C++.
- Provided business logic to Java server to implement load balancing by round-robin, support namespace synchronization and communication among nodes by using JBoss remote call Java libraries.
- Implemented a Namespace server (NS) that provides a global namespace that appears as a single file system to all clients from all geographic sites using Java and C++. The main technologies used are Microsoft DFS and Microsoft Server Cluster.
- Participated in the design and implementation of the system using the active-passive cluster technology.
- Implemented snapshot support for aggregated shared volumes.
- Created and managed backend NAS snapshot by using standard WMI APIs in C#
- Implemented the snapshot management dialog in GUI by using Java Swing.
- Implemented snapshot support in Java server by integrating the calls to C# provider through XML-RPC and handling client requests from GUI through RMI
- Developed a provider to manage Data Domain backend NAS device by using SSH Java libraries.
Software Engineer
Confidential
Responsibilities:
- Implemented XML-RPC tunneling mechanism to bridge Java server with its C# and C++ providers by using XML-RPC Java libraries and XML-RPC C++ classes.
- Developed providers to manage Windows file servers (by WMI) and NetApp filers (by their ONTAP APIs).
- Provided Java server the server side business logic which manages the fileserver providers and the data the providers collect.
- Provided Java server the business logic to assemble the fileservers’ volumes into volume sets (virtualized aggregated storage) with rules that govern how (and if) information is written to them.
- Implemented system database by using Sleepycat Java libraries.
- Developed statistics component that
- Gathers performance data from backend NAS devices by calling WMI APIs in C# or by querying SNMP MIBs by the Java libraries
- Stores statistic data in a log file by using log4j
- Implemented statistic management dialog to configure and select statistic data shown in a table in GUI by Java swing
- Generates statistic xml report per user specified time period, data servers or volumes
- Implemented schedulable jobs to process various requests during data migration as well as a report generation mechanism to put job result into a XML file in the Java server.
- Implemented a code generation process for localization which ties the IDs to the localized strings, and a mechanism to retrieve the strings; this is used extensively in alarms and server exceptions thrown back to the client.
- Participated in implemented a new server by using Hibernate and HSQL as system database
- Contributed to the GUI Client which is a Java application/Applet developed with Swing components interacting with the server through RMI
- Developed infrastructure for GUI client, handling messages from the server, and directing messages appropriately to and from dialog screens and the main views.
- Developed a GUI library which extends and simplifies Swing components allowing greater re-use across the GUI client.
- Designed and implemented end to end functionality from server to GUI client: file system statistics, file server discovery, volumeset management, job scheduling etc.
Confidential, Laguna, CA
Software Engineer
Responsibilities:
- ZX-1000 Core Platform Service, a kernel mode service written by C to provide windows registry, transaction as well as notification services to the File Switch
- CIFS path mounter, CIFS & NFS Share mounter, a user mode service written in C to dynamically control the connections of ZX-1000 File Switch to NAS devices.
- Lifecycle Manager written in C to synchronize the lifecycle of the services in the File Switch
- A command line (CLI) service written in C to remotely control the system settings of the File Switch through Telnet.
- A graphical user interface (GUI) written by XML, XSL and JavaScript of the File Switch. The communication between the client and server is through HTTP protocol.
Confidential
System Admin Associate
Responsibilities:
- Provided faculty with Confidential support and instructional technology.
- Responsibilities included server interactive educational programs, courseware and Learning Management Systems under Unix system via the campus network.