Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Name: Alexander Shvets Blog: Phones: (609) 716-4984(h), (609) 712-2521(c) Web-site: Summary • Over ten years of experience in object-oriented analysis, design and development in Java language. Previous knowledge of C and C++ languages. • More than eight years of Java design and implementation experience, including: • nine years experience of network, server-side programming, Java I/O, sockets, RMI; • eight years specializing in design, development and performance analysis of Enterprise Java Beans, regular Java Beans, servlets/JSPs, JINI, Web Services, WebStart, OSGi, JDBC and XML; • more than four years of experience working with Struts framework; experience working with Spring, Hibernate and JPA; • seven years experience working with AWT and Swing graphical libraries; • Experienced in working with Java byte-codes and Java file formats: class file and serialized file. • Deep knowledge of the build process based on Ant and/or Maven2 tools; familiar with Ivy tool. • Experience in working with various application servers and databases. • Knowledge of all aspects of programming development, including gathering customer requirements, design, programming, testing (JUnit) and build/installation processes (Ant). • Knowledge of various scripting languages for the Java: BeanShell, Groovy, JRuby, Scala, JavaScript, Jelly etc. • More than seven years of experience working on open-source projects; trying to follow requirements of XP methodology; • Flexibility working in Windows, UNIX or Macintosh environments. Skills Matrix Operating Systems MS Windows NT/2000/XP/2003, MS-DOS, Linux, Solaris Languages Java, C++, C, HTML, XML/XSL, SQL, JavaScript, Groovy Databases Oracle 8/9, MS SQL, DB2/400, PosgresQL, MySQL Application Servers JBoss4.0.3, JRun, Tomcat, Microsoft IIS server, WebSphere5.1, Weblogic Server 8.1, Apache, Orion (oc4j) Source Repository StarTeam, CVS, SourceSafe, Subversion, ClearCase Tools Ant, Maven2, XDoclet, Beanshell, JUnit, Log4J, JEE packaging process IDE IntelliJ IDEA 6/7, Eclipse 3.1 Design Technologies/Tools Design Patterns, J2EE Design Patterns , UML, RationalRose, TogetherJ Web Technologies Applets, Servlets/JSP, XML/XSL, DOM/SAX, JAXP, JAXB,HTML, DHTML (CSS), Java Beans, Struts, Struts2, Tiles, Spring, JSTL, custom tag libraries, Velocity, Freemarker, Hibernate, SOAP, UDDI, WSDL, Web Services, WebStart Java API AWT, JFC (Swing), JDBC, RMI, EJB/JEE, JNDI, OSGi, Jini, RMI, JMS, Bean Development Kit, JavaMail, Java Media Framework, Collections, J2ME Network Protocols TCP/IP, FTP, HTTP, Telnet, specialized protocols Professional Experience Bristol-Myers Squibb, Pennington, New Jersey March'05 to present Role: Senior Java/JEE Developer. Bristol-Myers Squibb is the international pharmaceutical corporation from Forbes 500 list that manufactures prescription pharmaceuticals. Integrated Regulatory Information System (IRIS). Development of IRIS application – it is global, web-based repository that maintains BMS regulatory applications and submissions for BMS products around the world. IRIS serves as a centralized source of information management and data distribution. Additionally, IRIS tracks and reports on approval and marketing statuses on drug products, marketing units and manufacturing facilities. Client – Responsibilities: Page 1 of 7
  2. 2. • Preparation of various documents for the project: Architecture Document, Code Style Document, Use-Case Diagrams, Sequence Diagrams, Class Diagrams, Development Environment Setup Document, Installation Process Document. • Development of customized components based on Struts/Tiles/HTML/JS. Developed such components as dependent combo-boxes, multi-select combo-boxes, type-ahead (suggest) control, components that could represent matrix and tree-like structures and supporting elements. During development such features as validation, global exception handling, localization, listeners for application and session levels were introduced. • Development of custom tags: bread crumbs, tabbed panes and sorted tables. • Architecture and development of security model for various levels (global, component, user, product and country level) within the application. • Implementation of the locking mechanism for initial applications and submissions in order to support multi-user distributed environment. • Responsible for the preparation of various reports including javadocs reports, codestyle reports, findbugs reports. • Building the prototype based on Spring framework. Writing standalone unit-tests of different parts of the enterprise application with the help of Spring. Using Spring JDBC templates for transactional support throughout the code. • Development of custom objects with the help of Hibernate framework to access database tables. Preparation of configuration files for Hibernate. • Complete preparation of development environment based on Ant tool, including all everyday tasks plus generation of different reports. • Migration of build scripts from Ant to Maven2. • Evaluating the cost and building the prototype of the system based on Spring Web/MVC for the purpose of migrating from Struts. Evaluating the cost and building the prototype for Struts 2. • Support of various session beans within the application. • Participated in regular code reviews (manually and with FindBugs tool) and design meetings. • Used Design Patterns: Visitor, Business Delegate, Value Object, Data Access Objects, Facade. Environment: MS Window XP, Linux, JDK1.4.2/1.5.0, Rational ClearCase, JBoss4.2, WebLogic8.1, Oracle9, Ant1.7.0, Maven2, Struts/Tiles, Hibernate, Spring, Spring Web, JDBC, EJB, JUnit, Intellij IDEA 6.0, FindBugs1.0. Pharma News Tool ( Maintenance and production support of Pharma news tool. It provides the ability for regulatory news administrators to select, review, rank and redistribute articles to a select group of readers within BMS. Articles will be delivered on a daily basis, saved and published to a website. BMS readers may access the individual articles by clicking a link to the full story text. Lastly, readers may access a limited archive of articles previously delivered. The tool reads RSS-feed from one source, helps the user to modify it and then generates another RSS- feed with selected news. The resulting information is displayed on dedicated web site. Client – Responsibilities: • Maintenance and production support including bug fixing. • Migration of build scripts from Ant to Maven 2. • Maintaining dedicated web site for the tool. Environment: MS Window XP, JDK1.4.2/1.5.0, Rational ClearCase, WebLogic8.1, Ant1.7.0, Maven2, JAXB, JDBC, XML (RSS-feed), JUnit, Intellij IDEA 6.0, FindBugs1.0. Tangible Value, Princeton, New Jersey August’04 to February'05 Role: Java Architect. Tangible Value is the consulting company that develops software products for various clients. Online tax preparation system for enterprise. Responsible for the development of the online system for calculating taxes, preparing reports. Building wizards for data retrieval from the database. Client – Responsibilities: • Analyzed and documented the System and Business Requirements. Created system Use Cases and Class Diagrams in UML. • Development of the core API of the system for dynamic site generation. • Preparation of development environment based on Ant tool. Page 2 of 7
  3. 3. • Preparing the integrated development environment based on Eclipse/WSAD platform. • Used Struts/Tiles library to code JSP pages. • Report generation in xls and pdf formats. Environment: Red Hat Enterprise Linux, JDK1.4.2, Subversion, JBoss3.2.5, Oracle9, Apache, Ant1.6.2, Struts/Tiles, Hibernate, JDBC, JUnit. Report Engine. Development of the online system for generating reports. Client – Responsibilities: • Preparation of development environment based on Ant tool. • Using Struts/Tiles library to prepare JSP pages. Environment: Red Hat Enterprise Linux, JDK1.4.2, Subversion, Jboss3.2.5, Oracle9, Apache, Ant1.6.2, JUnit, Struts1.1. TRADEPAQ Corp., NYC, New York March ’02 to July’04 Role: Development Group Leader. TRADEPAQ offers document generation and collaboration software as well as web-enabling technology. TRADEPAQ's EDM, enterprise document management, offers document generation, preparation and delivery with workflow and web- based document management. EDM efficiently and automatically generates routes and delivers the right documents, in the format required, to the people who need them most. Enterprise Document Manager. It is online-based enterprise document management system. The system generates sales documents in various formats (PDF, XML, text etc.) by template and stores them as independent collections that can distributed by using some rules. This system was positioned as the platform to support major application servers and database vendors. Clients: Hamilton Beach, DHL, Danzas, Otto Versand, SSA, Autobar, Jancor, JG Boswell, NYBOT. Responsibilities: • Leads the group of 7 Java developers. Analyzed and documented the System and Business Requirement Documents. Created system use cases, component, class and interaction diagrams in UML. Organizing software development process (source control, bug tracking system, java coding standards, home page for the project). Preparation of development environment based on Ant tool. • Worked on major J2EE technologies (JSP, servlets, Java Beans, JMS, etc). • Development of the core API of the system. • Involved in deploying code to the AS including jboss, tomcat, oc4j (orion), WebSphere, WebLogic. • Involved in the preparation of SQL code for databases such as oracle, MS SQL server, DB2/DB400, MySQL, PostgresQL. • Preparation of the installation program based on InstallAnywhere product. • Development of the search module for the system. • Development of custom tags for the application. • Involved into the installation and configuration of supported application servers and databases. • Development of various command-line tools for accessing database content. Creation, retrieval, population of SQL content. Reserve copying and duplication of database content between different databases. • Writing servlets for uploading files to the server and retrieving binary content from the server. • Development of the listener for the web application to analyze the content of web session. • Used XML/DTD files to hold the configuration of the web application. • Involved into the performance analysis and stress-testing. • Involved into the memory leakage investigation (OprimizeIt, JProbe). • Involved into the connection leakage investigation. • Involved into the code review (manually and with FindBugs tool). Environment: JDK1.4.2, MS VSS, Oracle8/9, Tomcat4, JBoss3.2.4, WebLogic8.1, WebSphere5.1, OC4J, Ant1.6.1, Lucene library, InstallAnywhere 6, servlets/JSP, web services, XSLT, XPATH, PDF generation libraries, BeanShell. B2B Auction Engine. The project involved development and extension of online B2B Auction Engine for working with the Letters of Credit. In this system the participants can create/modify/destroy auctions, bids, manage users, and generate documents. System notifies participants with the help of e-mails when important event occurred. Client – Responsibilities: Page 3 of 7
  4. 4. • Development of EJB components (session and entity beans); • Development of JSP pages and servlets. • Deployment of the application under JBoss application server. • Preparation of development environment based on Ant tool. • Preparation of SQL scripts for Oracle database. Environment: JDK1.4, CVS, Oracle8, Jboss3.2.3, Apache, Ant1.4, XDoclet, JUnit, PDF generation libraries. Alert-U Web Service. Development of online application Alert-U based on Web Services. It is the search engine that looks inside the list of suspicious organizations/ships/persons based on government’s publications. Responsibilities: • Responsible solely for design and development of the project. • Development of Alert-U Web Service. • Preparation of development environment based on Ant tool. • Developing of the client part with the help of JNLP protocol (WebStart). • Using JAXB API to provide Xml2Java binding. • Preparation of xsd files for compound Web Services responses. Environment: JDK1.4, Tomcat4, Ant1.5, JUnit, BeanShell, Axis, WebStart. Search Engine. Development of online Search Engine for the company’s intranet. The architecture is based on Struts framework and Lucene library. Client: Responsibilities: • Design and development of the project. Preparation of development environment based on Ant tool. • Generating parsers for xml and html format based on javacc. • Implemented MVC Architecture using the basic functionality provided by Struts. • Used Struts tag library to code JSP pages. Environment:JDK1.4, Ant1.6.1, BeanShell, Lucene, Struts/Tiles, Jakarta POI, javacc. Sage Consulting Group, Princeton, New Jersey March ’01 to February ’02 Role: Sr. Programmer Analyst. Sage Consulting Group is the consulting company that develops software products for various clients. Online system for selling airline tickets. Development of online system for selling airline tickets, ordering hotel rooms and car rentals (similar to Expedia, Travelocity). Client – Responsibilities: • Development of EJB components for Weblogic5.1 and Oracle database (session and entity beans). • Development of Java Beans for JSP pages. • Experiments with Jini environment for building specialized components for the next version of the product. • Adhered to the rules and specifications of the company and followed strict coding standards • In the Designing and coding the front-end JSPs and also the Java beans and servlets. Environment: JDK1.3, CVS, Weblogic5.1, Oracle8, Tomcat4, Apache, Ant, JUnit, XML, XML parsers, MMBase content management tool. Remote script execution. Development of client-server application that executes scripts remotely for serving the development process. Responsibilities: • Development of the code based on NetLib library. • Extensive usage of Java I/O and networking API. • Writing the Ant scripts for building whole application. • Writing the Ant scripts for the generation and deployment of EJB and Web modules into Application server. Environment: JDK1.3, CVS, Ant, JUnit, NetLib. Page 4 of 7
  5. 5. Timesheet application. Development of online program that automate preparation of time sheets, expense reports, simplifies manager’s work for assigning tasks in project to different team members. Responsibilities: • Responsible for development the server side logic that communicates over JDBC with various databases depending on configuration file. Environment: Servlet API 2.3, JSP, XML, JAXP, JDK1.3, JDBC, PostgreSQL database server, Tomcat4 servlet container, Apache web server, Ant, JUnit. Kana Communications, Princeton, New Jersey December ’99 to February ’01 Role: Software Engineer. KANA provides the industry's leading knowledge-powered CRM applications (KANA IQ, KANA Contact Center, KANA Response, KANA ResponseIQ, KANA Response Live, KANA Marketing, KANA iCARE Analytics) to the largest businesses in the world, helping them to better service, market to, and understand their customers and partners, while improving results and decreasing operational costs. Text communication server/client. Complete design and implementation of an interactive text communication server. The server communicates with a larger system through the HTTP-protocol and a web server. Design and development of client side for this project. The client is represented in two forms – as applet and as standalone Swing application. For the Swing application different gadgets were developed: customizable trees, tables, dialogs, lists, sophisticated combo boxes, complex gadgets. Responsibilities: • The library for client-server communication was designed and implemented. • Writing programs for stress-testing server under simulated hard conditions (lots of simultaneous users, bad Internet connection etc.). • Responsible for writing different specifications for the server and other components of proprietary business platform. • Integration of this server into another project as EJB component. Enterprise Java Beans are used for communication between server and the business platform. • Responsible for investigation/solution of performance problems with EJB applications for proprietary business platform. Environment: Symantec Visual Cafe, Star Team, JDK1.1.8, Swing library, Collections API, Applets, JRun 2.3-3.0, Java2, J2EE, WebLogic 5.1-6.0. Smile Soft, Donetsk, Ukraine February ’98 to February ’99 Role: Software Engineer. Development of applications for computer telephony (CTI). Responsibilities: • Development of visual part of application (Swing library), especially for drawing charts that reflect phone number calling process. • Implementation of a code that can interact with users over Internet and can send voice messages to e-mail address based on JavaMail package. Environment: JDK1.1, AWT, Dialogic hardware (Voice and fax boards). Donetsk State Techical University, Donetsk, Ukraine August ’94 to August ’99 Roles: Senior Professor, Assistant Professor. Participated in educational and scientific processes. As Assistant Professor I assisted professors in various disciplines concerning Computer Science, such as Digital Automata, Theory of Digital Circuits etc. Responsibilities: • Writing and reading lectures for the different courses, some of them are: Object Oriented Programming, Component Technology (JavaBeans), Design Patterns. • Styling of web pages for department of Computer Science and internet server's administration for this department. • Development of "Analog computer on PC" project in Java. It has a working core with integrators, amplifiers, adders, inverters etc. User can easily create and run arbitrary models with them. Page 5 of 7
  6. 6. • Participation in the university's project with the name "Silicon Compiler for Programming Logic Devices". This project has a compiler and assembler for representation of finite automaton' states as a graph and the tools for their conversion into inner contents for PLA, ROM and other programmable logic devices. Environment: JDK1.0.2, JDK1.1, C, Pascal, Modula-2, Assembler PC. Open source projects JLaunchPad project JLaunchPad (java launcher) is the set of Java classes and shell scripts for simplifying installation/launching of Java applications. Once the launcher is installed, it can be reused for starting different Java applications. For your application you have to specify required dependencies on other Java libraries. When application is getting executed first time, all dependencies will be downloaded and installed automatically into your local repository. For all consequent executions of the application download process is not required and the only one responsibility of the launcher is to build correct "classpath" and launch the application. Environment: JDK1.5.0/1.6.0, Ant1.7.0, Maven2, ClassWorlds1.1. Scriptlandia project (blog: Scriptlandia is the Launching Pad (it uses JLaunchPad for starting and executing scripts) for running various scripts (Ant, Maven2, BeanShell, JavaScript, Groovy, Jelly, JRuby, Velocity, FreeMarker etc.) within Java Virtual Machine Platform. The idea is to build an environment that facilitates not only script execution, but also gives the ability for the scripts to be aware of each other. Environment: JDK1.5.0/1.6.0, Ant1.7.0, Maven2, BeanShell, Groovy, JavaScript, Jelly, JRuby, JavaFX, Scala, Jaskell, JScheme, Jython, Velocity, Freemarker. CafeBabe project CafeBabe is the Editor/Viewer for Java bytecodes and serialized files. The program reads specialized format from the file and represents it in form of hierarchical tree. Underlying byte-code can be disassembled and represented in form of Assembler program for Java Virtual Machine. This project also supports presentation of serialized format (*.ser) in form of hierarchical tree. In this project custom graphical components were developed like hierarchical combo box, trees and tables with custom renderers, various dialog boxes, menu system. The application uses multi-document interface library for representing inner windows. It also has built-in help system, based on HTML files and Java classes. The NetLib library could be used for building various client-server applications, such as web servers, chat servers etc. Servers could be easily converted into Jini service. This library extensively uses classes from Java IO and network API. Environment: Swing Library, Java Development Kit, CVS. Plugins for IntelliJ IDEA IDE • Google-Translate plugin – performs translations in Editor Window from one language to another. It uses "" service behind the scene. The translation is done behind the scene by the public web service. • CheckStyle plugin - checks the style of your Java source inside IDEA's editor. It is based on CheckStyle.3.4 library. Environment: JDK1.4.2, Ant1.6.1, IDEA open API, Swing, CheckStyle3.4. JiniExamples Development of the big set of examples for distributed Jini environment. It includes 17 basic and advanced examples: RMI and activation examples; example for administrable service; service as servlet; service UI example; JavaSpace example, listening and generating events, Jini basic services: Mercury, Norm, Fiddler; Jini and 3-rd party libraries (NetLib and ClassFile); Ray Trace & Book Store examples from Jini distribution. Environment: JDK1.4.2, Ant1.6.1, Jini1.1. Page 6 of 7
  7. 7. Education M.S. in System Design Engineering, Donetsk State Technical University, Donetsk, Ukraine. Ph.D. in Computer Science, Donetsk State Technical University, Donetsk, Ukraine. Page 7 of 7