Oleksandr Gavenko.
Resume.
Contact info.
- Address: Dnipropetrovs'k, Dnipropetrovs'ka oblast, Ukraine.
- E-mail (the best way to contact me): gavenkoa _A_T_ gmail.com
- Skype: gavenkoa
- Jabber (GTalk): gavenkoa _A_T_ gmail.com
- ICQ: 447085109
- IRC: 'gavenkoa' in #emacs on freenode.net
- Social profiles:
LinkedIn,
Xing,
Facebook,
VK
- My Internet footprint:
"Oleksandr Gavenko" OR gavenkoa
Worked.
-
2012-09-xx - xxxx-xx-xx. Company: ПриватБанк Украина.
- Position:
- "Programming-engineer".
- Tasks:
-
- Software maintenance of risk management and analysis system.
- Involved into project:
-
- Risk management and analysis system on Basel II Accord.
- Achievement:
- Switch from low level system programming to application
programming. Learn Enterprise Java and Web software stacks of
technologies.
-
2005-12-xx - 2012-02-xx. Company: BIFIT Ukraine.
- Position:
- "Programming-engineer", next "Leading programming-engineer".
- Tasks:
-
- Requirement gathering.
- Design of program architecture.
- Coding.
- Preparing of program documentation (according to GOST 19.xxx series).
- Security analysis.
- Checking for low conformance.
- Interviewing and testing of new employees.
- Training of new employees.
- Administrating of development infrastructure (wiki/bts/vcs/nntp/etc).
- Involved into projects:
-
- Hi-speed cross-platform cypto library "Гепард 1.0", which
implement GOST 28147-89, GOST 34.311-94, GOST 34.310-95, GOST
34.310-2001 and DSTU 4145-2002 standards. Library have expert
opinion from ГСССЗИ of Ukraine.
- USB-token "iBank 2 Key" based on ARM7 microcontroller, which
implement GOST 28147-89, GOST 34.311-94, GOST 34.310-95, GOST
34.310-2001 and DSTU 4145-2002. USB-token have expert
opinion from ГСССЗИ of Ukraine.
- Building in crypto libraries into "iBank 2 UA" banking system
on Java and .NET platforms.
- Implementing tests on different OSes and hardware platforms.
- Construct secure communication protocol, based on SSL/TLS.
- Involved into documentation preparing according to GOST 19.xxx
series and DSTU 1.xx series, including modification of LaTeX
styles and writing parsers for C/Java sources for generation of
documentation.
- Write native Add-on for all widely used desktop browsers on all
desktop OS, by using NPAPI, XPCOM и ActiveX connections.
- Prepare test task for interviewing.
- Prepare learning courses for new employees.
- Achievement:
- I switch from educational profession (mathematics) to programming
profession, work with long lived project, train more then 10 new
employees, learn many programming technologies, get experience with
different hardware platforms, protocols, software solutions.
Education.
- DNU (Dnipropetrovsk National University), Mechanical-mathematical
faculty, I get master's degree in mathematics, 2001-2006.
- Lyceum, I participated in school Olympiad by physics with 3rd place
on region, 1999-2001.
- School, I participated in school Olympiad by mathematics and physics
with 3rd place on region, 1991-1999
My kudos.
My pet open source stuff.
Knowledge.
- Programming languages:
- ANSI C. Sometimes I quote standard...
- POSIX sh. This part of POSIX I remember by heart.
- Assemblers (i686, AMD64/EM64T, Itanium, Power 32/64-bit, Sparc
32/64-bit, ARM7+Thumb2). I touch all of them, mainly for
optimisation of crypto primitives by competing in speed with compilers...
- Java. Use it as algorithmic language and don't use SE standard library.
- Python. As alternative to Perl for parsing. Network and web
programing.
- C#. Use it as algorithmic language and don't use standard library.
- Elisp. Wrote own modes, my ~/.emacs have long hacking history.
- grep, sed, awk, find. Pretty good.
- Windows batch file. Know many tricks for writing "advanced" batch files.
- JavaScript.
- Build tools:
- GNU Make. I help people on help-make@gnu.org.
- Autotools - automake/autoconf/libtool.
- SCons.
- CMake.
- Apache ANT. I write macroses and command extensions.
- Maven.
- Gradle.
- VCS (version control system)/patch-management:
- CVS.
- SVN.
- Mercurial. Start from version 0.9.5!
- Git.
- Bazaar.
- Mercurail queue (MQ).
- GNU Quilt.
- BTS (bug tracking system):
- Trac. Promote of use on my job company and make administration.
- Redmine.
- Debian BTS.
- Bugzilla.
- Mantis.
- Roundup.
- API:
- libc.
- pthread.
- Java SE.
- Win API, low skill, among other work with native GUI.
- GTK 2.0.
- QT 4.x.
- PKCS 11.
- Browser API.
- NPAPI.
- XPCOM.
- ActiveX.
- XUL.
- Debugging:
- gdb.
- strace, ltrace.
- windbg.
- procexp, procmon.
- jdb.
- Testing:
- lint, cppcheck.
- Valgrind.
- checkstyle, PMD.
- Make own testing framework for multi-threading testing of library
with ethalon standard realisations on ANSI C and Java.
- JUnit.
- NUnit, low skill.
- Development tools:
- GNU Emacs. Here I live.
- Vim.
- GNU Bash.
- POSIX utils.
- NetBeans.
- Eclipse.
- MSVC.
- IAR Embedded Workbench.
- Keil Studio.
- Platforms:
- NetBeans platform.
- Mozilla Platform.
- Servers:
- INN2.
- ProFTPD.
- JBoss.
- GlassFich.
- Packaging systems:
- Shell .run.
- Cygwin cygport.
- Debian deb.
- NSIS.
- Communication - Jabber, Mail lists, NNTP, Wiki, Forums.
- OSes (operation systems):
- GNU Linux. Debian. Permanent reader of debian-russian@lists.debian.org.
- Windows 2k/XP/2k3/7.
- FreeBSD.
- Solaris. Low skill.
- AIX. Low skill.
- zOS. Low skill.
- Processor architecture: i686, AMD64/EM64T, Itanium, Power 32/64-bit,
Sparc 32/64-bit, zSeries, ARM7.
- Microcontroller architecture - ARM7TDMI, Cortex M3
- Microcontroller series - SAM7, LPC214x, STM
- Text formatting language:
- HTML/CSS.
- DocBook.
- Plain TeX/LaTeX.
- man/troff.
- GNU Texinfo.
- reStructuredText.
- Hardware vitalization:
- VirtualBox.
- VMware.
- QEMU. Testing big-/little-endian issue to check code portability.
- DOSBox, snes9x, gens-gs, zsnes. Run old games.
- Disk storage:
- Natural language - Ukrainian (native), Russian
(native), English (reading, basic writing).
Vita
- Bad about me:
- Try to understand how something work discarding spending time. So
dislike deadline.
- Totally frustrated by short work term.
- Good about me:
- Open to other people.
- I am able to listen.
- Don't stay on false position as soon as I understand failure.
- Like make things right or ever better.
- Quickly adapt to new situations.
Favourite software.
- Favourite text editor - GNU Emacs.
- Favourite programming language - ANSI C, POSIX sh.
- Favourite build tools - GNU Make.
- Favourite version control system - Mercurial.
- Favourite GNU Linux distro - Debian.
- Favourite windows manager - fvwm2.
- Past favourite X terminal - rxvt.
- Current favourite X terminal - xterm/mintty.
- Favourite file manager - GNU MC.
- Favourite browser - Firefox.
- Favourite BTS - mail list based/Trac.
Hobbies and interests.
- Open source software development.
- GNU Emacs.
- Ham amateur.
- Foundation of mathematics, mathematical logic, proof assistant.
- Cybernetics, studis on complex systems, self-organization,
replication, social behaviour.
- Music theory, keyboard, synthesiser.
- Reading old school sci-fiction.
- Human rights, property low, intellectual property, copyright
- Figure skating on ice.
- Cooking.
- Work on garden.