Anton Kotenko

JavaScript & Java Frontend Developer

Contacts

Phone
+49 (176) 84-18-1188
E-mail
shaman.sir@gmail.com
Location
Munich, Germany
Webpage
https://shamansir.github.io
Birthday
4 March 1984
Alternative Versions
http://www.linkedin.com/in/shamansir (LinkedIn),
http://careers.stackoverflow.com/shamansir (Carreers @ SO)
Code Examples
https://github.com/shamansir
Blog
http://shamansir.github.io/blog/ (In English),
http://shamansir.github.io/blog/ru (In Russian)

Objective

Life, books, neurons and bytes made me an experienced nerd—the one seeking for perfection both in source code (not to the extremes) and in user delight (to some extremes). That's why I like to participate in projects where visual part (and user) matters on the same level as the good code. Also, I like projects which are open to users and other developers to improve. And, I love to code and to solve things in a beautiful way.

What inspires me is discovering the mathematical nature of things like music and art or just debates, AIs or humans

What am I looking for? Challenges.

Things I don't like? Absence of innovation.

Recap

Skills

Programming Languages
Java, JavaScript, React, Python, Elm, PureScript, Haskell
IDE
VisualStudio Code, IntelliJ IDEA, WebStorm, Eclipse, SublimeText, NeoVim
UI Frameworks
Elm, React, React Redux, GWT (Google Web Toolkit), JQuery, Vanilla JS
Version Control
Git, Mercurial
Bugtracking Systems
EdgeWall Trac, JB YouTrack, org-mode
Operating Systems
macOS, Ubuntu
Databases
SQLite, PostgreSQL, Cayley, DataScript
Other
Animation, Design, UX, HTML5, d3.js, Processing, WebGL, GLSL Language, HTML5 Canvas, functionaλ Programming
Things I forgot since time passed by
Assembly Language, C++, Perl, Borland Delphi, Borland C++ Builder, Apache Wicket, Spring for Java EE, Spring + Hibernate, XSLT, 3D Modelling
Things I'd like to try
LLVMs, Unison, Godot, LEAN, RaspeberryPi, Racket (Scheme), Julia, R Language, Blender

Professional Experience

JetBrains GmbH

(05/2016 — 08/2024, 9 years)
Where
Munich, Germany
Company Website
https://jetbrains.com
Company Specialization
World-known IDEs for Software Developers and not only.
Positions
  • Software Developer, Generative Design
  • Frontend-Developer, JetBrains Website & Component System
  • Frontend-Developer, WebHelp
  • Frontend-Developer, Developer Ecosystem Surveys
Experience
In JetBrains, I started as FrontEnd developer and through making interactive charts for web, ended up with being the technical lead in our own fresh-created team of generative art. It is the way I always wanted to follow before, and I am glad that it actually happened.

With the help of code, HTML Canvas & WebGL and, later, neural networks, for more than five years we produced a large part of design materials for the marketing needs as well as splash screens for the famous IDEs. For sure it required guidance from the design team before using it in actual business. I used what I learned during pet projects in work and received even more knowledge.

Here I was also developing Noodle, a visual programming platform for generative visuals and not only.

Also, a dozen of public talks I did, were told during my work in JetBrains.

Generative Design

Position:
Software Developer
Project Website:
https://cai.jetbrains.com
Technologies:
JavaScript, Elm, HTML5 Canvas, GLSL Shaders, GLSL Language, DHall, Artificial Intelligence
Tags:
#generative-art, #animation, #gui, #user-interface, #visual-programming
Talks:
Projects:

JetBrains Website & Component System

Position:
Frontend-Developer
Technologies:
JavaScript, React
Talks:
About Git. That's easy

WebHelp

Position:
Frontend-Developer
Technologies:
JavaScript, React, React Redux, CSS

Developer Ecosystem Surveys

Position:
Frontend-Developer
Project Website:
Technologies:
JavaScript, d3.js, CSS, SVG
Tags:
#datavis


Animatron LLC (aff. with JetBrains)

(07/2011 — 05/2016, 5 years)
Where
  • Munich, Germany /2012 — 2016/ (JetBrains GmbH)
  • Odessa, Ukraine /2011 — 2012/
  • Boston, United States, MA
Company Website
https://animatron.com
Company Specialization
Web Animation Editor and Social Video Editor for the good
Positions
GWT/JS Developer, JS Player
Experience
In Animatron, we’ve built an innovative (to that time) Animation Editor for the web in GWT and JavaScript, with a back-thought to replace Macromedia Flash since the latter was going away for good. I was responsible for developing the HTML5 Canvas player to play those animations, the one that was packaged into with exported files and allowed to embed it on any web page. It included many 2D graphics techniques I used later in Computational Arts in JetBrains. Some techniques I learned before, and also applied them.

It was a nice startup atmosphere where everyone could participate on the same level. I was working remote from Munich for Boston and we had an office in Lviv where I traveled sometimes too.

JS Player

Position:
GWT/JS Developer
Project Website:
Technologies:
HTML5 Canvas, JavaScript, GWT (Google Web Toolkit), Java, SVG
Tags:
#animation, #graphics
Talks:
Projects:
JS Player for Animatron


iPark Ventures

(04/2010 — 06/2011, ~1.5 years)
Where
Odessa, Ukraine
Company Website
Company Specialization
Useful web portals for the Ukraine & the world
Positions
  • Java GWT Front-End Developer, Experika
  • Java GWT Front-End Developer, Petonik
Experience
In iPark, in Odessa, we were creating web portals to help local people find their favorite job and take care of their pets. Here I practiced Google Web Toolkit, the framework I was very fond of after getting too used to Spring & Hibernate.

It is in iPark where the colleagues forced me to give my first public talk and so I did two at a time, which eventually led me to work in Animatron & JetBrains. Here in Odessa I‘ve met great people we became close friends with, as well as I met many Ukrainian professionals and leaders along the way.

Experika

Position:
Java GWT Front-End Developer
Project Website:
Technologies:
Java, GWT (Google Web Toolkit), mvp4g GWT Framework, JavaScript, Python, Long Polling (AJAX)
Talks:

Petonik

Position:
Java GWT Front-End Developer
Project Website:
https://petonik.com
Technologies:
Java, GWT (Google Web Toolkit), JavaScript, Python


Exectum LLC

(10/2009 — 02/2010, 6 months)
Where
St. Petersburg, Russia
Company Website
Company Specialization
-
Positions
Java EE / Web Developer, Admin Page for Billing Engine
Experience
The ExtJS-based FrontEnd for the Administration Site of a Billing Engine, which communicated to the server using Java-RPC.

Admin Page for Billing Engine

Position:
Java EE / Web Developer
Technologies:
Java, Java RPC, Spring for Java EE, EJB (Enterprise Java Beans), JavaScript, Ext JS


FotoNation / Piclinq

(06/2007 — 06/2009, 2 years)
Where
St. Petersburg, Russia
Company Website
Company Specialization
Web portal for managing images & video gallery for Nikon cameras
Positions
  • Java EE Developer, myPicturetown (Java EE)
  • JavaScript Web UI Developer, myPicturetown (JavaScript)
Experience
In FotoNation, we developed photo sharing service for Nikon, one of the very first of its kind. At that time, Nikon had released their first Photo Cameras with Wi-Fi support. I worked in the UI Team, responsible both for Java & JavaScript on the FrontEnd, the hardest were the Gallery page and the individual Photo viewer, like including Drag & Drop of images from the file system while there were almost no solutions for it at the time, beating Time Zones and other challenges.

Action System for the UI was the idea and implementation of ours since technologies we used provided no friendly and easy approach. // Development with Apache Wicket + JavaScript ‐ complex native‐JS+Java components and layouting scripts + action system, UI prototypes using JQuery. Components/Layouts are dynamically communicate with server‐side/Database.

myPicturetown (Java EE)

Position:
Java EE Developer
Technologies:
Java, Apache Wicket, JSF (Java Server Faces)
Recommendations:
Anton is a very talented developer who developed a lot of Ajax-based Web UI as well as server-side Java code for myPictureTown service. His knowledge of web technologies and languages, such as Javascript+Ajax, HTML, CSS are on the expert level. He is a reliable, hard-working professional, and I recommend him without reservations. Anton is a honest, responsible, executive and skilled programmer.

myPicturetown (JavaScript)

Position:
JavaScript Web UI Developer
Technologies:
JavaScript, AJAX, CSS
Recommendations:
I know Anton as a brilliant Javascript programmer with strong understanding of the most advanced concepts of this language. His Java skills are also allow him to write good Java code. It is a pleasure to work with such talented professional.


FK LTD

(11/2006 — 06/2007, 8 months)
Where
St. Petersburg, Russia
Company Website
Company Specialization
No specific specialization
Positions
PHP & JavaScript Web Developer, CMS
Experience
CMS Project Development in PHP-JS-CSS for Real Estate Industry; Several small AJAX‐related projects.

CMS

Position:
PHP & JavaScript Web Developer
Technologies:
PHP, JavaScript, AJAX, XML


EmDev LLC

(03/2005 — 10/2006, 1.5 years)
Where
St. Petersburg, Russia
Company Website
EmDev
Company Specialization
Business Project Management products & Web Portals
Positions
  • Java EE Spring Developer, UnlockAustin
  • Java EE Spring Developer, emForge
  • Borland Delphi Developer, BPM Project
Experience
Mostly driven by outsourcing, in this company I participated in J2EE Projects ﴾Spring, Hibernate﴿ from the scratch, writing components, usually trying out and using new technologies ﴾Ajax, JSF, Spring/Hibernate﴿, what used to do before, and keep doing till today

One of the main projects was UnlockAustin, which was a platform for introducing people the musical and theatrical events (but not only those) happening in Austin, Texas. Could be that Austin is a popular city nowadays due to this web portal :D.

I also developed Delphi Visual Component for Stock monitoring (with realtime/dynamic data visualization support) using TreeMap Algorithm to be integrated into the client desktop application; Dealing with threads concurrency and a high rate of updates;

UnlockAustin

Position:
Java EE Spring Developer
Project Website:
https://unlockaustin.com
Technologies:
Java, Java EE, EJB (Enterprise Java Beans), JSP (Java Server Pages), Spring for Java EE, Spring + Hibernate

emForge

Position:
Java EE Spring Developer
Project Website:
https://emforge.org
Technologies:
Java, Java EE, EJB (Enterprise Java Beans), JSP (Java Server Pages), JSF (Java Server Faces), Spring for Java EE, Spring + Hibernate

BPM Project

Position:
Borland Delphi Developer
Technologies:
Java, Java EE, EJB (Enterprise Java Beans), JSP (Java Server Pages), JSF (Java Server Faces), Spring for Java EE, Spring + Hibernate, Borland Delphi, Python


FSBI VNII Okeangeologia

(03/2003 — 03/2005, ~2 years)
Where
  • St. Petersburg, Russia
  • Xiao Nang Hai, China
  • Privetnoye, Ukraine
Company Website
Company Specialization
Geological & Oceanographic Research
Positions
  • Software Developer, Geosignal Analysis (Fourier Transform)
  • Scientific Researcher, Geosignal Analysis (Receiving Data From Sensor)
  • Animation Creator for Conferences, Public Talks for Geophysical Conferences
Experience
My first programmer job turned out to be very interesting for the first job: we had expeditions to China and Ukraine and after these expeditions we’ve processed the collected seismic signals to predict even minor earthquakes.

Here I used a lot of different tools for the development (I learned coding by myself as a hobby before), but the main subject for me was learning the Fast Fourier Transform to flatten unwanted noise in the signal, only later I discovered that it is massively used in graphics and generative music as well, e.g. to split music in harmonics or to vectorize raster images.

Geosignal Analysis (Fourier Transform)

Position:
Software Developer
Technologies:
Borland C++ Builder, Borland Delphi, Object Pascal, C++

Geosignal Analysis (Receiving Data From Sensor)

Position:
Scientific Researcher
Technologies:
C++, Assembly Language

Public Talks for Geophysical Conferences

Position:
Animation Creator for Conferences
Technologies:
Macromedia Flash

Conference/Meetup Talks

Interests

Hobbies

Personal Qualities

Languages

Books, I'm inspired with

Recommendations