Oleksandr Maksymchuk
Software Development Lead
Lviv, Ukraine
****@***.***, +380-**-***-****, Skype: omaksymchuk
Objective
Career opportunities in Technical Leadership position.
Overview
10+ years of software and web development experience.
8+ years of professional experience in outsourcing for US and Europe clients (including 3
years of experience as full time remote developer).
6+ years of experience in a technical leadership positions.
Proficient in web development with Java, PHP, JavaScript and shell scripting; familiar with
Groovy, Phython and many others.
Knowledge of software development practices and full SDLC processes.
Extensive software product development, configuration and build management experience.
Experience working onsite in Amsterdam and San Francisco for short time projects.
Expertise
Technical Expertise
Programming/Scripting/Markup Languages
Java PHP JavaScript SQL Groovy Bash XHTML, XML, XSTL CSS
DBMS
MySQ SQLit
L H2 Database e HSQL PostgreSQL Oracle
Technologies, APIs and Concepts
Servlets, JSPX, JSTL AJAX JDBC, JPA LAMP OOA/OOD/OOP MVC/MVP
IoC, Dependency Injection REST, SOAP
Frameworks, Libraries
Spring Framework, Spring MVC, Spring Security Grails, GWT Struts, Velocity
(archaic) Hibernate Smarty jQuery, Prototype JFreeChart JUnit
Mobile
Development
Java ME
Platforms
Cloud Computing: GAE/J, AWS
Web Servers
Tomcat Jetty Apache HTTP Server nginx WebLogic, WebSphere, Jboss AS
(minor)
Development, Modeling and Management Tools and Environments
Maven,
Ant Subversion JIRA Confluence, Trac Hudson CI, Continuum
MS
Project MS Visio, Graphviz Dot Eclipse, IntelliJ Idea
Processes and Approaches
DDD,
TDD Continuous Integration
Methodologies and Practices
Waterfall Agile: Scrum, XP
Operating Systems
Windows Mac OS X Linux (Debian, Ubuntu)
Open Source
Report pugs and develop/contribute patches into Jetty, Maven, TinyMCE, Hudson.
Skills and Capabilities
Work directly with the client on identifying and influencing business and technical requirements.
Act as a thought leader and technology expert.
Provide technical team leadership and mentoring.
Strong analytical and problem solving abilities.
Strong ability to adhere to best practices in OO analysis, design and development and
apply industry standard development methods.
Take overall ownership of project issues and tasks.
Ready to do prototyping, develop new concepts and work with a customer application.
Work Experience
Key (latest) customers/projects.
Principal Software Engineer, Product Development
phase-6, Germany/Switzerland
(Privately Held; 11-50 employees; E-Learning industry)
2007 2010 (2 years 10 months)
Software company providing spaced repetition system and high-quality publisher content to boost
learning at school, college or the university, for trainings and certifications on the job. The system
provides the learning reinforcement at exactly the moment when it will have maximum benefit.
Allows plug and play with virtually any (multimedia) content and is the most versatile engine on the
market: vocabulary, formulas, facts, definitions, all can be committed to long term memory.
Responsibilities and Key Accomplishments
Primary technical leader and decision maker responsible for defining technical strategy,
architectural design and implementation of the company's main product and technology
development.
Work directly with the client on identifying and influencing business and
technical requirements.
Lead the main product software development efforts setting up full technical product
development cycle.
Lead the efforts of a local (Lviv) team of programmers as well as direct the efforts of remote
employees/contractors from other locations (Switzerland, Germany, Russia), providing
technical leadership and mentorship.
Conduct and participate in recruitment, create job descriptions and qualification requirements,
perform candidates interviews (screening and technical) and managing selection processes of
qualified contractors/engineers for development and QA team extension.
Provide technical and architectural direction on product operations and
performance. Determine the application architecture.
Lead and participate in the analysis, architecture design, prototyping, implementation,
refactoring/adaption, maintainance, fixing/debuging, documentation, deployment efforts,
and support technical aspects of the product and integrated tools to reliably create good
quality, high standards, performance-minded code.
Work closely with other engineers to complete releases on schedule.
Present technical issues and their business impact to management.
Ensure proper technical design, documentation and quality of the development.
Produce and improve the documentation required for the project development.
Identify and communicate best practices for overall product, business development and
customer services engineering.
Introduce and maintain product development standards, documentation management, issues
management. Integrate tools to facilitate and manage the development process and
procedures including JIRA for issue management, Confluence for requirements specifications
and documentation, WebSVN for code reviews, JUnit/Selenium for automated web testing,
Hudson for automated Maven2 builds and deployment. Ensure adherence to engineering
processes such as code reviews, code quality control (CheckStyle, FindBugs, PMD, Emma,
JDepend etc.), source control, unit testing, use case analysis, defect management and other
SDLC and best practices.
Design and implement of protected publishers content format to be used by all
publishers/content providers/editors.
Implement and integrate tools that works with old (native) and new (Java) versions of
the program allowing to import the content.
Develop and conduct technical design and code walkthroughs and reviews process to
ensure that the code conforms to well accepted development and quality guides and
standards including readability/clarity, high maintanability, modularity, extensibility, consistent
in the utilization of patterns and frameworks and adhering to best practices.
Ensure design used principles are flexible and can evolve with the business
requirements with minimum effort, time and cost.
Assist in the sharing of ideas and exploration of new practices to continually improve the
quality of software development for the company.
Design and promote development, build and configuration management principles,
processes and techniques.
Single sign-on system selection, configuration, deployment and support.
Design and develop reusable auto-integrated on build time Java/Javascript Maven plugin
internationalization sourced directly from easily accessible single Google Spreadsheet.
Research, design and server side implementation of system/browser independent
spellchecker support in the product.
Research into mobile application platforms – developed several prototype Java ME
applications.
Automate of Windows and Mac OS X installer package generation and copy protection.
Configure and create development, system test and production builds of the application
and deployment.
Develop and maintain a consistent build system across all the development areas of
the project using Maven2.
Perform various supportive tasks regarding in-house development and business infrastructure
management.
Level 3 production support.
Research and evaluate new technologies to move from one web server to highly scalable
web solution (AWS/GAE) to serve millions of users and educational or professional
organizations.
Assist in assessing competitive online products and mobile solutions before buying them
(vokker.net) and further integration, development and maintenance management.
Monitor
other competitive products.
Review and suggest improvements to other programmers' systems.
Work with management in understanding business needs, defining technical issues,
and proposing solutions.
Work closely with product management providing support in their work with requirements
definitions and priorities, and quality assurance.
Work with configuration manager, business development team, marketing, customer support
to understand end user and overall business requirements. Reviewing technical error reports
helping customer support team to understand the user's environment problem.
Coordinate with other C-level management (CEO, CIO).
Technology Experience
Java, SWT, Swing, Jetty, JSPX, Servlets; JavaScript, jQuery; H2 Database, MySQL, HSQL;
Groovy, Bash, Maven2, Hudson CI; MacOS X, NSIS, ProGuard; Java ME; C#, WPF and WinForms
(minor and not desired), PHP; GWT (minor but higly desired), Wicket (minor); JOSSO, OpenCMS;
Hunspell, JNI
Team Lead and Project Manager
Lohika, Ukraine
(Privately Held; 201-500 employees; Computer Software industry)
2004 2008 (4 years)
Management and technical/team leading of Java and PHP projects of the following companies
being at Lohika (offshore outsorcing provider).
Centive, US
CompCentral - Sales compensation management system.
Marktplaats / eBay, NL
First classifieds platform of the Netherlands.
Seriosity, US
Attent - virtual currency based group attention system.
GoFish Technologies, US
Social network and entertainment (audio/video) website.
Stanford Graduate School of Business, US
Alumni Consulting Team website.
U.C. Berkeley Haas Business School, US
O-Week - University newbie students orientation services shop.
Career Management System for students.
Senior Software Engineer
Centive, US
(Privately Held; 51-200 employees; Computer Software industry)
2007 2008 (7 months)
The most experienced provider of on-demand sales compensation management.
Projects
CompCentral Sales compensation management system.
Role
Java Developer
Team Lead (3 dev)
Responsibilities and Key Accomplishments
Lead development team.
Collaboration with quality assurance.
Bug fixing of previous yearly product release and enhancements implementation to next one.
Technology Experience
J2EE, EJB, SOAP, JMS, JAXB, JSP, Spring Framework, JFreeChart/iText, JavaScript/AJAX,
jQuery, Hibernate, Swing, Maven; Jetty/WebSphere/WebLogic; PLSQL/Oracle
Team Lead and PHP Developer
Marktplaats / eBay, Netherlands
(Public Company; 10,001 or more employees; ebay; Internet industry)
2006 2007 (1 year)
First classifieds platform of the Netherlands. 8M (half of the country) unique users per month.
700+ server cluster structure. Super-high-loaded system.
Projects
Front-end (main website) and back-end (CS and other services).
Role
Team Lead (2-8 dev)
PHP Developer
Responsibilities and Key Accomplishments
Onsite development of pilot project (starting 2 dev).
Establishing customer's remote team extension (from 1 to 8 dev), evironment setup and
configuration.
Main technical contact point for the customer, including meetings,
discussions, correspondence and reporting.
Projects management and projects planning.
Conduct and participate in joint application/architecture design (JAD) reviews and
development processes.
Leading local team and co-ordination with customer the design, development, testing and
delivery of new project and processes.
Team leading, architecture design and development of fronted and backend modules: Ask
Seller / Bidder Question, SOAP Web Services for Admarkt SOAP API, E-mail (event
based) CMS.
Mentor engineers in your team and promote exchange of skills between engineers
Debug and prioritize issues assigned to the team.
Bugs and Train Conductor tasks assignemtns and fixing, colaborating with quality assurence.
Refactor internal design and implementation of legacy code/modules.
Code and design review and code style.
Documentation support.
Status reporting.
Technology Experience
LAMP, PHP, Smarty, SOAP; JavaScript, Prototype; Tired/Layered Architecture, Load-balanced
Apache HTTP Server; Vertically and horizontally split MySQL, Highly loaded system (> 100
web/db servers).
Technical Lead, Team Lead and Architect
Seriosity, US
(Privately Held; 11-50 employees; Computer Software industry)
2005 2006 (7 months)
Attent Internet/intranet group attention system based on virtual currency (virtual banking) and
social network via plug in based communication mechanism like email or IM to the central
Bookkeeper server.
Projects
Bookkeeper Server
Role
Technical Lead and Architect
Team Lead (3 dev)
Responsibilities and Key Accomplishments
Responsible for the server (Java) part of the product.
Design and implementation technical and team leading of Web services API and AJAX
enabled web dashboard.
Technology Experience
J2EE, Spring Framework/JSP/JSF (MyFaces), JAXB, WebServices, Acegi Security,
JavaScript/AJAX, Hibernate, iBatis; Apache Tomcat; MSSQL, Oracle, Stateless database
backed architecture
Technical Lead, Project Manager and Java Developer
GoFish Technologies, US
(Public Company; 11-50 employees; Internet industry)
2005 2005 (9 months)
Social network and entertainment (audio/video) website.
Projects
myGoFish Members area of the mulimedia search oriented social networking site, Image
Cache Server, Amazon media library crawler and data integration, Google search results
integration for GoFish
Role
Project Manager
Technical and Team Lead (8 dev + qa)
Java Developer
Responsibilities and Key Accomplishments
Managing, technical design and team leading of projects development.
Technology Experience
Spring Framework / JSP / JSTL / Struts Tiles, JavaScript / AJAX, JAXB WS, Acegi Security, JMS,
Hibernate, PHP; PostgreSQL; Apache Tomcat, Apache HTTP
Technical Lead and Project Manager
Stanford Graduate School of Business, US
(Educational Institution; Education Management industry)
2004 2005 (9 months)
Alumni Consulting Team (ACT) Provides pro bono management consulting services to the
nonprofit community through a network of alumni volunteers.
Role
Technical and Team Lead (3 dev)
Project Manager
Responsibilities and Key Accomplishments
Managing and technical leading of all enhancements and support.
Architecture and bottle necks discovery of the existing web application using incorporating
to database sources, bug fixing, adding enhancements, support.
Technology Experience
Stored Procedures, JSTL/Struts, JavaScript; Apache Tomcat; MSSQL, SyBase
Java Developer and Technical Lead and Project Manager
U.C. Berkeley Haas Business School, US
(Educational Institution; Education Management industry)
2004 2004 (3 months)
O-Week - University newbie students orientation services shop.
Role
Technical and Team Lead (2 dev)
Java Developer
Responsibilities and Key Accomplishments
Design and implementation and further managing and support.
E-commerce web application for o-week (zerro) students, with discounting/promotions system
of several types. Implementation, adding enhancements, support.
Technology Experience
JSP/Servelts, JavaScript; Tomcat; MS SQL
Java Developer and Technical Lead and Project Manager
U.C. Berkeley Haas Business School, US
(Educational Institution; Education Management industry)
2004 2004 (4 months)
Career Management System for students.
Role
Technical and Team Lead (5 dev)
Java Developer
Responsibilities and Key Accomplishments
Design and implementation and further managing and support.
Ported desktop Visual Basic application to Java web enterprise application allowing
more quick and reliable administration of the students hiring process.
Technology Experience
JSP / Servelts, JavaScript; Apache Tomcat; MS SQL
Full (2000-2004, or more recent) employment history and other information are available at
Linkedin Profile.
Education
National University 'Ivan Franko', Lviv
Specialist, Financial Mathematics, Statistics, 1997 2002
Modules include: Databases, Object-orientated Programming, Web Programming
(HTML/JavaScript/Java/Applets), Theory of Computer Science, Pascal/Delphi Windows and
Network Programming, COM/DCOM Programming.
Diploma paper: "Stock Market Portfolio Optimization" (English).
Final project focused on a Windows (Delphi) application for optimal portfolio calculation.
Additional Information
Languages
English (advanced), Ukrainian (native)
Professional Interests
Constant self-education in new technologies, higly scalable architectures, software development
processes and standards, software architecture in general, leadership and management, agile
development, organization and self development, personal and professional effectiveness.
Industries: IT/Computer Software, Education/E-learning, Finance.
Contact
Contact me via email, Skype or phone (in preference order).