My name is Mikhail Lapshin and I really like to create complex multi-tier systems including architectural design, implementation and performance optimization.
My other passion is the Scrum framework. Whatever a project I am taking part in, I do my best to apply modern agile practices to maximize the value produced by the team.
Key areas of expertise
- Unique experience of maturing an on-premise application into a SaaS application and then into a Cloud Platform
- About 20 years in professional software development
- 15+ years of hand-on experience in analysis, design, development and maintenance of enterprise-wide J2EE-based applications
- Expert in core Java, J2EE platform, web technologies, object-oriented design, algorithms, threading and performance optimization
- Broad experience in project planning using Agile/Scrum methodology – I am a certified professional Scrum Master and Product Owner
- Unique contribution to Java platform (Swing library)
- 17+ years of experience with databases: Oracle, DB2, MySQL
09/2008 – Now, http://www.informatica.com
Roles Technical leader in development of different products, Scrum Master, Mentor for junior engineers, Technical Interviewer
- Cloud Platform 2015 – Now
Eventually, Informatica Cloud Service matured into a Cloud Platform. It accommodated a bunch of other Informatica applications like MDM, ICRT, etc. The architecture of the system was greatly redesigned to be even more extensible and scalable. We extracted many parts of the system as micro-services. Now we have about 30 of them and the number is constantly growing. We utilize Docker containers for development and deployment, Chef for configuration.
I lead development of Data Integration Service which does the majority of work for our clients. Actually this is the core of the former Cloud Service. My major task was adapting it for the new micro-service architecture and consulting dependent teams.
Now my tasks include high-level review and design of new features; technical interviewing; code reviews; finding ways of improving quality of the product code base; work on new functionality, and of course Scrum Mastering.
- Cloud 2011 – 2014
Informatica Cloud Service is a number of data services like integration, replication and validation available on the Internet. In essence it is a set of scalable web applications.
I was entrusted to found the Cloud department in Russia. I shaped the initial team and organized the development process.
I am the key contributor to many parts of the system: Mapping Designer, Integration Templates, Payment Processing, Template Editor and several others.
In 2015 I was invited to continue my work in the Cloud department at the company headquarters in SF Bay Area.
- PIM 2014 – 2015
PIM stands for product information management. It helps big retailers efficiently acquire, author, and publish product information. My role was to lead development of the Web UI. Other tasks included scrum mastering and improvements in the rich client.
Technologies: Java, Eclipse OSGI, Vaadin, Guice, Spring, MS SQL Server, REST, Swing (for the rich client)
- MDM Hub 2008 – 2011
Master Data Management Hub consists of the core J2EE application exposing its services through several APIs (EJB, web services, etc.) and many different tools that provide UI for it like IDD and Administration console.
I was the lead J2EE expert in creation of the DB2 hub version that matches to the functionality of the main Oracle-based product. My major task was design and implementation of the database-independent data type layer.
Also I worked on a Web UI for the data hub (IDD project) where I led development of “Advanced Search” functionality. It was the most complex feature in the next major release of the product.
Technologies: Java, IBM WebSphere, DB2, Oracle, JSF (rich faces), Spring, Hibernate, EJB, AJAX.
02/2006 – 09/2008, http://www.sun.com
Roles Developer of the Swing library; Integrator of the work results for Swing, Sound and i18n teams
Skills Deep knowledge of Swing, AWT, 2D and Core Java; IntelliJ IDEA, NetBeans, bash scripting, Sun TeamWare, Mercurial, Subversion, Bugster, J2EE, GlassFish, Tomcat, MySQL.
Details I was a member of the great Swing team and developed the core GUI java library. I was responsible for a number of Swing components such as menus, internal frames, labels and combo boxes. For example, I completely rewrote the drawing algorithm of menus which fixed a bunch of old bugs.
- Technologies: Full J2EE stack (Servlets, JSP, EJB, JSF, JMS, etc.), MVC frameworks (Struts, Spring, Vaadin), ORM frameworks (Hibernate, JPA), Presentation level (HTML, AJAX, Swing, Flex), Testing frameworks (JUnit, Selenium, Mockito), Design Patterns, OSGi and many others
- Data bases: Oracle, DB2, MySQL, MS SQL Server, Firebird (Interbase). Development of complex data models, composing of non-trivial SQL queries, development of stored procedures and triggers, working with metadata
- Operating systems: a wide range from Windows through different flavors of Linux (RedHat, Ubuntu) to Sun Solaris (9, 10, XDE) and IBM AIX v6
- Application servers and servlet containers: JBoss, Tomcat, WebSphere, GlassFish
- Development tools: Eclipse, Ant, Maven, bash, Hudson, JIRA, IntelliJ IDEA, NetBeans, MS Visual C++ and many others
- Experience in development of enterprise-wide J2EE-based systems, WEB 2.0 user interfaces, Swing GUI applications, multi-threaded applications
- Software development methodologies: Agile/Scrum, RUP, XP
- 10/2017 IMS Awareness – Incident Management System Awareness (pdf)
- 09/2015 PSPO I – Professional Scrum Product Owner (pdf)
- 09/2015 PSM I – Professional Scum Master (pdf)
- 07/2007 TOEIC – Test of English for International Communication (pdf)
- 10/2005 SCWCD – Sun Certified Web Component Developer for J2EE 1.4 (pdf)
- 05/2005 SCJP – Sun Certified Programmer for J2SE 5.0 (pdf)