Anton Kotenko
JavaScript & Java Frontend Developer
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
- 20+ years programming experience in business (since April 2003)
- 15+ years in frontend developemnt, among them
- 8 Companies, incl. Nikon & JetBrains affilates
- More than a dozen of open-source projects
- 18 talks at different conferences or meetups, all over the world
- 2 custom GUIs invented and implemented
- Worked in 3 cities: Munich (Germany), Odessa (Ukraine), Saint-Petersburg (Russia)
- Doing visuals for techno-parties in TouchDesigner
- Released one music album with friends (mine are lyrics and I was the singer)
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
(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
- At first, I was participating in developing the component system in React for the company website and the documentation portal, then I developed all the charts for DevEcosystem surveys using `d3.js`.
Then, almost a year in the marketing team.
After all that we, with my colleague, a fellow designer, formed the team of Computational Arts.
Here, following my previous graphics-targeted experience, I became a Technical Lead and developed code of automative designs for marketing needs and splash screens for the famous IDEs, using HTML canvas & WebGL shaders as well as neural networks.
Also, I developed UI for the designers to be able control the parameters of the output.
(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 Animation Editor for the web in GWT and JavaScript, to replace Macromedia Flash.
My responsibility was developing the HTML5 JavaScript player and designing the API for it to properly and reliably reproduce all the 2D animations created by the users of the portal.
(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 we developed the frontend interface using GWT (Java). While working here, I did my first public talks on the conferences, telling the visitors both about GWT and JavaScript tricks.
(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
- Fotonation (later Piclinq) was the company opened by Nikon especially to develop the portal for users to manage their Photo library. We developed the complex frontend interface for it, using mostly Apache Wicket (Java) and vanilla JavaScript where we needed custom control.
(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
- EmDev is the outsourcing company, here I learned to develop with Spring / EJB in connection with Hibernate (everything Java). Also, I have applied my Borland Delphi skills here.
(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
- -
Conference/Meetup Talks
- The Basics of Generating Everything for Lambda Meetup'23 @ Munich, video in English
- PureScript with a chance of Free Monads for Lambda Meetup'23 @ Munich, video in English
- Noodle : Animation as Ramen for JetBrains Design Talks'22 @ Munich, video in English
- Tron : Minimalist UI for Generative Art for JetBrains Design Conference'20 @ Munich, video in English
- Generative Animation in Elm for f(by)'19 @ Minsk, video in English
- The Future of Web UI Development. for FrontEnd Developers Meetup'18 @ Munich, slides in English
- iElm @ JetBrains'17 @ Munich, video in English
- iElm for Shore GmbH'17 @ Munich, video in English
- Elm. The language itself and how it brings functional programming into web for Frontend Developers Meetup'17 @ Munich, video in English
- About Git. That's easy'17 @ Munich, slides in Russian
- Elm: 2D & 3D Graphics. for Frontend Developers Meetup'17 @ Munich, video in English
- RPD: Reactive Patch Development v2.0 for JavaScript Meetup'17 @ Munich, slides in English
- RPD: Reactive Patch Development for JS Kongress'16 @ Munich, video in English
- Animatron Player API in Details for Ultracode Munich Meetup'13 @ Munich, video in English
- How to Grasp the Functional Way of Writing JavaScript for e-legion'12 @ St. Petersburg, slides in English
- The Real JavaScript for Web Standards Days'11 @ Kyiv, video in Russian
- Fluxus for Application Developer Days (ADD)'11 @ St. Peterburg, video in Russian
- Web-development with GWT & mvp4g for Application Developer Days (ADD)'11 @ St. Peterburg, video in Russian
Interests
- Generative Art
- Visual Programming
- Japanese Language
- functionaλ Programming
- Animation
- Generative Music
- Theorem Proving
- Touch Designer
Hobbies
- Biking
- Exploring Cities
- Modern Arts / Graffiti
- CG / Typography
- Composing hard-to-listen electronic music
- Geeking geeky things
- Indie (but not always) games
- Japanese language, despite it's banal
- Books & Comix
Personal Qualities
- Accurate
- Responsible
- Honest
- Communicative
- Creative
Languages
- English : C1
- German : B1
- Spanish : B2
- Japanese : A1
- Ukrainian : A2
- Russian : Native
Books, I'm inspired with
- Dune, by Frank Herbert
- All Tomorrow's Parties, by William Gibson
- Land of Lisp, by Conrad Barski
- Designed for Use, by Lukas Mathis
- Advanced 3D Photorealism Techniques, by Bill Fleming
- 3D Graphics & Animation, by Mark Giambruno
- Programming Pearls, by Jon Bentley
- A Type of Programming, by Renzo Carbonara
- Nature of Code, by Daniel Shiffman
- Tricks of the 3D Game Programming Gurus, by Andre LaMothé
- Programming Perl, by Larry Wall, Tom Christiansen, Jon Orwant
- The Element of Typographic Style, by Robert Bringhurst
- The Animator's Survival Kit, by Richard Williams
- Designing with Web Standards, by Jeffrey Zeldman
- Retrocomputing with Clash, by Gergő Érdi
- Synth Secrets, by Gordon Reid
- The Game of Logic & Symbolic Logic, by Lewis Carrol
- Interactives Skizzieren with VVVV, by J.Barth, R.S.Grasy, J.Leinberger, M.Lukas, M.L.Schilling
- The Elements of Euclid, by Oliver Byrne
- Understanding Comics, by Scott McCloud
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.Boris Berkman, Senior Software Architect, Piclinq (prior to spin-off - FotoNation)
- Anton is a honest, responsible, executive and skilled programmer.Andrey Nikankin, Technical Director, Piclinq Rus (FotoNation Rus)
- 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.Sergey Kuznetsov, Software Developer, Piclinq