Senin, Maxim
Lakewood, CA 90715
U.S.A.
Phone: 562-***-****
E-mail: ***********@*******.***
SUMMARY
Professional programmer with more then 10 years experience utilizing a variety of platforms and languages on various projects. Worked several years for IBM. Huge experience in OOA and OOD, server-side programming (including server-side Java) and client-server systems. TekMetrics/Brainbench Java certified programmer. Expert in Java and Java-related technologies (4+ years experience). Leading developer in many projects for last 4 years.
SKILLS SUMMARY
Java, JavaBeans, JFC, SWING, JDBC, ODBC, Servlets, JSP, SQL, XML, EJB, RMI
Server-side programming, CGI, ASP, VBScript, JavaScript
Excellent problem solving and communication skills
Software design for: accounting, banking, warehousing, internet, games, health and dental insurance
Systems software development
Computer games development
IBM San Francisco Business Objects Framework design and development
Strong problem solving skills
Multimedia devices, modems, controllers
Web browsers and servers development
i80x86, MC680x0, PPC 601
Assembling/Repairing Commodore Amiga PCs
Assembling/Repairing IBM PCs
LANGUAGES
Java
C/C++
HTML
MS Visual Basic
REXX/AREXX
Pascal, OO Pascal
Assemblers: x86, M68K, PPC 601
Smalltalk
Ada, Ada 95
Prolog
XML
RDBMS/OODBMS
Clipper
FoxPro
dBase
MS Access
IBM 'San Francisco'
DB/2
Oracle
PLATFORMS
MS DOS
Windows 3.1
Amiga Workbench, Amiga DOS
MacOS 6.0-8.0
Windows 95
Windows NT 4.0
Windows 98
Windows 2000
OS/2, "Merlin"
EDUCATION
Riga Aviation University, Latvia
BSCS 01/09/1993 - 06/21/1997
Bachelor of Science in Computer Science
Riga Aviation University, Latvia
Engineer 09/01/1997 - 12/21/1998
Engineer qualification in Computer Science (equivalent of Master's degree)
WORK EXPERIENCE
Abraxas Technologies, Inc. (current employer)
Position: PROGRAMMER
Dates: May 2000 to present
Responsibilities:
From user's requirements work out specifications for client-server distributed application for client tracking system for California's biggest dental insurance company PMI Delta Dental (continued).
From specifications provide implementation, documentation and support
Advanced Control Data, Inc.
Position: PROGRAMMER
Dates: January 1999 to May 2000
Responsibilities:
Design and develop client tracking software for California's biggest dental insurance company PMI Delta Dental.
SWH Technology, joint stock company
Position:
PROGRAMMER/ANALYST
Dates: January 1997 To January 1999
Responsibilities:
Software components design and development for IBM JavaBeans project
Java Beans design and development for IBM JavaBeans Around The World project
Software components (GUI framework, persistence framework, samples, wizards etc.) design and development for IBM San Francisco Business Objects Framework
Digital Creation, Ltd.
Position: CHIEF ARCHITECT
Dates: September 1996 To January 1997
Responsibilities:
Attempted to start own company.
Key responsibilities: project management, software design for accounting, warehousing, banking and systems software.
Provided technical consulting as well as repaired/assembled PCs.
Rikar, Ltd.
Position: PROGRAMMER
Dates: September 1994 To August 1996
Responsibilities:
Software design for banking, warehousing, accounting, security systems
SQL server design for ourselves-designed RDBMS
Modem utilities
Systems software design
Computer games design
KS Video, Ltd.
Position: PROGRAMMER.
Dates: March 1996 To August 1996
Responsibilities:
Software design for broadcast titling
Broadcast titling
TV programs assembling
3D graphics for TV studios
Amiga Center Latvia, Ltd.
Position: PROGRAMMER
Dates: March 1993 To July 1994
Responsibilities:
Systems software for Commodore Amiga computer
3D graphics and other graphics for TV studios
computer magazine publishing
Sarkanais Kvadrats, joint stock company
Position:
COMPUTER OPERATOR, PROGRAMMER
Dates: September 1991 To June 1992
Responsibilities:
Accounting software design for manufacturer
Database support (as operator)
AWARDS
07/20/1997 - 2nd place in competition of bachelor degree works in computer science between Latvian universities.
PROJECT LIST
Note: this is not complete list - only last 5 years of my career.
COMPANY (CUSTOMER): PMI Delta Dental, Cerritos CA, USA
COMPANY (Employer): Abraxas Technologies, Pasadena, CA, USA
JOB: programmer (senior Java expert)
PROJECT: "CPS" (Client Processing System) - multimillion dollars client
tracking system. PMI wanted to put whole their business into this system.
JOB DESCRIPTION: Design and implement client tracking system.
DETAILED DESCRIPRION:
As senior Java expert and leading Java developer,
provided client with consulting services
designed and implemented
Persistence framework for business objects, which supports one-to-many and many-to-many relations uses different lock modes, caching etc.
Multiple wizards and utilities to simplify team development, for example Business Objects wizard for creating business objects by importing Rational Rose diagrams and providing database-specific information. This wizard allows generating business objects with few mouse clicks.
GUI framework. Designed for using in VAJ, it utilizes all features of VAJ to allow user wire complex UIs with minimal number of connections. As this project has more then 70 complex UIs, using this GUI framework allowed us to create these UIs in almost half the time we expected to spend before we had this library. It widely uses "single wire" schema initially proposed and developed by team of developers (myself included) working in SWH Technology (see below) for IBM.
Currently I'm working on UIs, additional frameworks (help sub-system, report generation framework), system security issues and training materials. Team includes 1 project manager, 7 analysts, 2 database administrators, 4 database programmers, 12 test engineers and 8 Java developers. This project is largest project in insurance industry in California.
COMPANY (CUSTOMER): Devitor Ltd. Riga, Latvia
COMPANY (Employer) SWH Technology, Riga, Latvia
JOB: programmer/analyst
DURATION: 1 week
PROJECT: "MANTA" system
JOB DESCRIPTION: Design and implement applets/servlets to access DBMS via Internet.
DETAILED DESCRIPTION:
As part of "MANTA" system, this Java applet should retrieve/edit data packets in remote database. End-Users are sales persons having portable Java devices who visit customers and sale different goods. If customer requests, sales person can show statistics information for sales within given period. Sales person can then drop all data to server via WAN or dial-up connection. When salesperson connects to "MANTA" server, program would automatically download statistic files, latest data about goods etc.
This project was implemented using Java, HTML, CGI, DB/2 and JDBC.
COMPANY (CUSTOMER) BHS GmbH, Berlin, Germany
COMPANY (Employer) SWH Technology, Riga, Latvia
JOB:
programmer/analyst
DURATION: agreement was to build it in 3 months, but I did it in 1 month (May 1998 - July 1998)
PROJECT: "KIWI GUIBuilder"
JOB DESCRIPTION: Design and implement GUI builder
DETAILED DESCRIPTION:
BHS is Germany Software Company oriented to banking software. The objective of the project was to create tool for visual forms editing that is used in BHS's "KIWI" system. Written in Java, GUIBuilder is platform independent solution for creating forms/applets/applications visually, like in a visual IDE. User can drop components to form layout canvas and customize properties of elements. After that GUIBuilder can generate Java source code for this applet/form. GUIBuilder is also able to import forms for editing.
COMPANY (CUSTOMER) BHS GmbH, Berlin, Germany
COMPANY (Employer) SWH Technology, Riga, Latvia
JOB:
programmer/analyst
DURATION: agreement was to make in 5 weeks, but I did it in 1 week
PROJECT: Context-sensitive help system for BHS.
JOB DESCRIPTION: Design and implement context sensitive help system for BHS.
DETAILED DESCRIPTION:
In this project he task was to provide customer with set of Java-classes that will help to associate help context with appropriate document/help topic. Help topics were stored in Lotus Notes database. Using designed help system, an applet can load related document in a browser window. To access Lotus Notes documents from the WEB page the Lotus Domino Server is used.
COMPANY (CUSTOMER) IBM Corp, U.S.A.
COMPANY (Employer) SWH Technology, Riga, Latvia
JOB: programmer
DURATION: March 1998 - May 1998
PROJECT: JHelper help system version 1.1.
JOB DESCRIPTION: Design and implement JavaBeans set for creating help system for Java applications.
DETAILED DESCRIPTION:
Within IBM "Java Beans Around The World" (JBAW) project, JHelper is set of JavaBeans/classes, which should be used to create help system in Java applications. Using simple wiring in a JavaBeans tool, user can easily associate an object/event with help context. When an "activation" event is triggered, JHelper can show either hint (ToolTip) for a component, or load HTML document containing appropriate help topic. JHelper includes HelpContext bean and HTMLDisplay bean. HTMLDisplay bean is used to parse/display HTML documents, images and ASCII text. It is very useful when user wants to create own web browser, or provide own GUI for help system etc. HelpContext bean is used to associate an event/component with either HTML document or/and hint, which then can be displayed using HTMLDisplay-based browser environment. JHelper UIs were based on AWT/JDK1.1
COMPANY (CUSTOMER) IBM Corp, U.S.A.
COMPANY (Employer) SWH Technology, Riga, Latvia
JOB: programmer
DURATION: March 1998 - May 1998
PROJECT: "San Francisco" Business Objects Framework (SFBOF) - GUI framework.
JOB DESCRIPTION: Design and implement GUI samples for IBM SFBOF project release 1.1 (a.k.a. TK-2).
DETAILED DESCRIPTION:
Within IBM "San Francisco" Business Objects Framework project I was part of the team of 10 developers to design GUI framework. This framework was designed as autonomous extension of original SF GUI framework. The goal was to provide as simple wiring of user interfaces as possible using "single-wire" schema, and even no connections at all using special binding mechanism.
COMPANY (CUSTOMER) IBM Corp, U.S.A.
COMPANY (Employer) SWH Technology, Riga, Latvia
JOB: programmer
DURATION: December 1997 - March 1998
PROJECT: "San Francisco" Business Objects Framework (SFBOF) - GUI samples.
JOB DESCRIPTION: Design and implement GUI framework for IBM SFBOF project release 1.1 (a.k.a. TK-2).
DETAILED DESCRIPTION:
Within IBM "San Francisco" Business Objects Framework project I designed SF GUI samples. Java, JDBC-ODBC, SFBOF, SWING (JFC) was used here. The team of 32 programmers/analysts was assembled to design GUI samples using latest SF GUI framework. The objective was to show customers how easy it is to use SFBOF to create professional OO-database management systems on examples.
COMPANY (CUSTOMER) IBM Corp, U.S.A.
COMPANY (Employer) SWH Technology, Riga, Latvia
JOB: programmer
DURATION: October 1997 - March 1998
PROJECT: Wire-O-Matic.
JOB DESCRIPTION: Design and implement tool for "smart-wiring" of JavaBeans (including SF JavaBeans - see previous project description).
DETAILED DESCRIPTION:
Within IBM San Francisco Business Objects Framework project team of 2 programmers designed and implemented tool, which is able to automatically wire hundreds of JavaBeans dropped to Wire-O-Matic (WOM) canvas. WOM is included in latest release of SFBOF. The goal of the project was to simplify wiring process between beans. SF itself is very complex framework. API programming is hard with it and requires much time to be spent studying documentation. To simplify use of SFBOF, IBM decided to use JavaBeans technology. Common BusinessObjects were converted/wrapped into JavaBeans. Since SFBOF contains more then 20 thousand BusinessObjects, wiring of applications is still complex enough. WOM can automatically wire Business Objects Beans (BUBs).
Further details of the project are IBM confidential information.
COMPANY (CUSTOMER) IBM Corp, U.S.A.
COMPANY (EMPLOYER) SWH Technology, Riga, Latvia
JOB: programmer/analyst
DURATION: August 1997 - October 1997
PROJECT: SF Business Objects Wizard
JOB DESCRIPTION: Design and implement tool (wizard) to automatically wrap SF BusinessObjects into JavaBeans. The input is a SF BusinessObject class, the output is .JAR file containing passed BusinessObject wrapped into JavaBean and information necessary for WOM to do its job (see previous project description).
DETAILED DESCRIPTION:
COMPANY (CUSTOMER) IBM Corp, U.S.A.
COMPANY (EMPLOYER) SWH Technology, Riga, Latvia
JOB: programmer/analyst
DURATION: March 1997 - August 1997
PROJECT: JHelper help system version 1.0.
JOB DESCRIPTION: see description above for 1.1 release
COMPANY (CUSTOMER) IBM Corp, U.S.A.
COMPANY (EMPLOYER) SWH Technology, Riga, Latvia
JOB: programmer
DURATION: January 1997 - March 1997
PROJECT: Networking JavaBeans suite
JOB DESCRIPTION: designed and implemented set of network beans
DETAILED DESCRIPTION:
Within IBM JavaBeans project (lately renamed to JBAW - see above), designed and implemented set of network beans - SMTP, FTP JavaBeans implementing protocols and appropriate GUI environments.
COMPANY: Digital Creation Ltd., Riga, Latvia
JOB: Chief architect/programmer
DURATION: October 1996 - January 1997
PROJECT: Accountant work place software suite/Warehouse system
JOB DESCRIPTION: designed and implemented software for warehousing/accounting.
DETAILED DESCRIPTION:
Team of four developers (2 programmers, 1 team leader, 1 designer plus consultant) was assembled to design and implement warehousing/accounting software suite. It was not a "write-once-and-forget-it" program, but program oriented to serial sales. Whole suite could be used in a small company selling different goods. The software was DBMS, which contained/managed information about goods, provided different directories (currencies, stocks etc.), controlled expenses (offices, taxes, petrol, cars, stock-absorption etc.). Software was able to optimize paths of transports.
Based on all these data or working independently, special subsystem was able to calculate salaries depending on current Latvia law, workers experience etc.
Mostly Clipper, C/C++, Pascal, Assembler.
COMPANY: Rikar, Ltd., Riga, Latvia
JOB: programmer
DURATION: April 1996 - August 1996
PROJECT: Quest game engine
JOB DESCRIPTION: designed and implemented quest game engine.
DETAILED DESCRIPTION:
The task was to create game engine for Win3.11 platform.
It was DLL/DRV implementing fast graphic algorithms including image scaling, objects overlapping resolution etc. Written in assembler/optimized C/C++, it was able to display 50 frames/sec on 100Mhz 486 PC with 8MB RAM true-color (24-bit) 540x480 mode, providing real-time image scaling/rotating etc. All this was done without screen flashing.
COMPANY: Rikar, Ltd., Riga, Latvia
JOB: programmer
DURATION: February 1996 - April 1996
PROJECT: "Warehouse" system
JOB DESCRIPTION: designed and implemented yet another warehousing system.
DETAILED DESCRIPTION:
As usually, goods go into stock/store. Usual operations: income, outcome, return, summaries, and price calculation. In one year company sold about 100 copies of this product (For Latvia, 6-10 copies/months is record!)
COMPANY: Rikar Ltd., Riga, Latvia
JOB: programmer
DURATION: September 1995 - January 1996
PROJECT: "Railroad" system
JOB DESCRIPTION: designed and implemented communicational part of "Railroad" system.
DETAILED DESCRIPTION:
The company designed this system for Riga Railroads Administration. Very big RDBMS, it should be remotely accessed by different users (mostly, ticket box offices and agents). I designed and implemented modules responsible for data transfer between clients and database server: modem utilities, LAN-access procedures.
In addition, I designed and implemented small SQL server for this system. Whole system was completely implemented using Borland Pascal, Assembler and C/C++, but 99% Pascal.
COMPANY (Customer): Evor Security, Ltd. Riga, Latvia
COMPANY: Rikar, Ltd., Riga, Latvia
JOB: programmer
DURATION: May 1996 - July 1996
PROJECT: "Evor" security system.
JOB DESCRIPTION: designed and implemented program to communicate with Evor's security control device.
DETAILED DESCRIPTION:
Device is installed on secured object. All events are send via radio to receiver. Receiver is connected with PC via COM-port. Operator can see all events coming from different security control devices, and notify guards if a device reports alarm state. The program should keep track of all events, interface with operator, and save all events and confirmations in database which then could be viewed in built-in viewer.
COMPANY (Customer): Rietumu Banka, Riga, Latvia
COMPANY (Employer): Rikar Ltd., Riga, Latvia
DURATION: May 1996 - August 1996
JOB: programmer
PROJECT: Salary calculation software
JOB DESCRIPTION: I had to implement program to calculate salaries for bank workers/clerks/programmers/accountants etc. So, it was DBMS. Implemented in C/C++/Clipper for DOS.
PERSONAL INFO
Name: Maxim Senin
Date of birth:
12/27/1976
Address: 12521 Centralia Street, unit C98, Lakewood, CA 90715, USA
HOBBIES
Programming: I like to write stuff to practice, to verify new ideas etc.
In 1995 I wrote operating system (like Windows 3.1, but kernel was only 75KB):
it's single-user operating system
secured file system with possible encryption of files and directories with user's private key, file compression is possible
runs in protected mode (requires i386 or better - no backwards compatibility)
allows virtual screens (each application may run in window or on separate virtual screen with any resolution)
executes DOS applications in separate virtual machine
File system can be installed on disk (by formatting it), or emulated on file on host operating system (when my OS runs as DOS shell).
no networking support was implemented at that time
Took me almost year to write it, and I didn't find any use for it 'cos Windows 95 arrived on the market; otherwise mine would be one of 1st 32-bit operating systems for PC.
In July 1999 formed a group of enthusiasts to implement fully blown web server in Java (check out http://easythings.iwarp.com/), but for now I'm the only one working on it. Since when doing these two things I was also working and studying, I couldn't spend more then 6-7 hours a week to work on them, but I believe it's great job and challenge for myself. Server supports
Servlets framework version 1.2.1
JSP version 1.0
Server-side includes
Virtual servers (hosts)
Several levels of security
It also includes XML, HTML and JSP parser.
I was also doing web sites for my friends. These web sites are mostly done with ASP (VBScript and JavaScript), but also Servlets 2.0 and JSP 1.0.
I also like Ping-Pong and rollerblading. Play some guitar, trumpet, clarinet and sax