Oleg Varaksin

LEBENSLAUF

Oleg Varaksin

Anschrift: Dorfstr. 9, 79100 Freiburg, Germany
Telefon: +41 766024194
Email: XING-Profil: XING
Blog: Thoughts on software development

Als erfahrener Full-Stack Entwickler, Architekt und Berater stelle ich mich gerne neuen Herausforderungen im Bereich Java / Web Entwicklung und biete fundierte IT-Kenntnisse, leistungsorientierte Arbeit, selbständige Arbeitsweise, Zuverlässigkeit und Teamgeist.

Berufsausbildung
04/2000 - 09/2011

Diplomstudiengang Informatik II an der FernUniversität Hagen. Abschluß - Diplom-Informatiker mit der Gesamtnote "sehr gut". Diplomarbeit - Kommunikationstechnologien für webbasierte Client-Server-Anwendungen.

12/1997 - 09/1998

Einjähriges Qualifizierungsprogramm "Anwendungsentwickler für Netze und UNIX" bei der ZWF GmbH - autorisiertes Siemens-Nixdorf Training Center, Saarbrücken. Zeugnis mit "sehr gutem Erfolg".

10/1993 - 10/1996

Promotion an der Universität Tomsk in der Fachrichtung "Theoretische Physik".

01/1986 - 06/1993

Studium an der Universität Omsk in der Fachrichtung "Physische Informatik". Abschluß - Diplom-Physiker mit Auszeichnung.

Weiterbildung
Seit 01/01/2020

Monatliche eintägige Rowing Sessions bei Fincons Group AG. Themen: Docker Virtualisierung mit Container, Beyond functional Java, Machine Learning / Deep Learning, Design Thinking, Spring Boot, Blockchain and Cryptocurrency, TypeScript, u.w. Referent für die TypeScript Session.

17/05/2023

OpenShift Basics. Veranstalter: acend GmbH, Bern. Zertifikat.

18/05/2021 und 25/05/2021

Workshop "Spring Cloud Stream and the Solace PubSub+ Platform" - building highly scalable event-driven microservices connected with shared messaging systems. Veranstalter: Solace.

16/10/2019 - 17/10/2019

Entwicklerkonferenz "BaselOne" in Basel, https://baselone.ch. Themen: Big Data Stream Processing, PWA, Microframeworks, GraphQL, und mehr.

02/05/2018 - 04/05/2018

Software Architecture Foundation Level Kurs mit der Zertifizierungsprüfung nach iSAQB. Veranstalter: SEI Swiss Engineering Institute, Zürich. Zertifikat.

02/11/2016 - 04/11/2016

Dreitägiger Angular 2 + TypeScript Workshop bei JSPerts, https://jsperts.de. Inhalt: TypeScript-Compiler, Typen, Klassen, Module, Typdefinitionsdateien, Angular 2 Komponenten, Dependency Injection, Routing, Serveranfragen, Kommunikation zwischen Komponenten, Formulare und Validierung, Redux, Angular 2 Testing, Fallen und Best Practices. Zertifikat.

13/07/2015 - 14/07/2015

Teilnahme an der zweitägigen AngularJS Schulung für Fortgeschrittene in Stuttgart-Esslingen, www.thecodecampus.de. (Performanceoptimierung, Security, Modularisierung und Strukturierung, eigene Validatoren, Dos & Don'ts anhand von Beispielen, Neuerungen, AngularJS 2.0, u.v.m). Zertifikat.

23/02/2015 - 27/02/2015

BASTA! Konferenz für .NET, Windows und JavaScript in Darmstadt. Teilnahme an AngularJS Workshop (Grundaufbau, Controller, Datenbindung, Direktiven, Services, u.v.m). Zertifikat.

08/03/2012

Workshop "Real Life JS: High Performance Websites" beim Developers Peak in Karlsruhe - Best Practices zur Optimierung von Web-Applikationen. Zertifikat.

09/11/2009 - 13/11/2009

W-JAX 09 - Die Konferenz für Java, Enterprise Architekturen & SOA in München. Teilnahme an "JSF Day" und "JSF Experts Day". Zertifikat.

26/02/2007 - 27/02/2007

Entwicklertage 2007 in Frankfurt-Mörfelden. Workshop "JSF-Anwendungen selbst gekocht". Teilnahmebescheinigung.

02/2006 - 11/2006

Englisches Sprachtraining mit dem Schwerpunkt "Kommunikation" bei der Inlingua Sprachschule, Villingen. Teilnahmezertifikat mit der Gesamtnote "sehr gut".

01/2005 - 01/2005

Java 5 Workshop bei der Metris GmbH, St. Georgen. Teilnahmebescheinigung.

07/2002 - 07/2002

Weiterbildungsveranstaltung "EJB-Grundkurs" (Programmierung und Architektur von Enterprise Java Beans Anwendungen) bei der Metris GmbH, St. Georgen. Zertifikat.

03/2001 - 03/2001

Ausbildungsseminar "Projektmanagement" bei der Metris GmbH, St. Georgen. Zertifikat.

Werdegang
Seit 01/2018

Senior Software Engineer / Consultant bei den Schweizerischen Bundesbahnen, SBB Infrastruktur, Bern, Schweiz.

  • Architektur und die Entwicklung von real-time GUIs im Projekt "Traffic Management System" (TMS), Kapazitätssteuerung. Unter anderem wird ein erweiterter Streckenspiegel mit Dispositionsmaßnahmen entwickelt, der in die bestehende RCS (Rail Control System) Umgebung integriert ist. Ein Streckenspiegel ist eine schematisierte Darstellung des Gleisnetzes mit Signalen, Weichen, Betriebspunkten, Orts-, Weg-Belegungen, usw. Technologien und Tools: Java 17 und höher, Spring, Spring Boot, Spring WebFlux, Spring Cloud Stream, Project Reactor, Solace Message Broker, Eclipse RCP, RxJS, JavaScript, TypeScript, Web Components, Angular 17 und höher, WebGL 2, Electron, SVG, HTML5, SASS, Node.js, NPM, Karma, Jasmine, Playwrite, Cypress, Maven, Jenkins, OpenShift, GIT, IntelliJ.
  • Agile Architektur und Entwicklung von neuen innovativen Lösungen im Projekt "Traffic Management System" (TMS), Kapazitätslenkung. Es wird ein neues Zugsteuerungssystem mit einem hohen Automatisierungsgrad designt und entwickelt, das mit den elektronischen Stellwerken kommuniziert, um die Produktionsvorgaben umzusetzen. Entwicklung von Echtzeit-Komponenten und GUIs. Technologien und Tools: Reaktive, ereignisgesteuerte Architektur und reaktive Programmierung von nebenläufigen Prozessen mit Java 17 und höher, Eclipse RCP, RabbitMQ, Solace Message Broker, Spring, Spring Boot, Spring WebFlux, Spring Cloud Stream, Spring Integration, Project Reactor, PostgreSQL, REST, AMQP, MQTT, RxJS, JavaScript, ECMAScript 2015-2022, TypeScript, Web Components, Angular, Angular Material, Angular CLI, Pixi.js, WebGL, SVG, HTML5, SASS, Node.js, NPM, Karma, Jasmine, Cypress, Maven, Sparx Enterprise Architect, Jenkins, SonarQube, Grafana, OpenShift, GIT, JIRA, Polarion, IntelliJ, Eclipse.
  • Frontend- und Backend-Entwicklung für Warn-App Rangier - eine mobile App für die Warnung des Lokführers beim Rangieren in gefährlichen Situationen. Plattformen: iOS, Android, PWA (Progressive Web Application). Technologien und Tools: Flutter (Google's Mobile App SDK), Dart, RxDart, Objective-C, Java 17, Spring Boot, MQTT, OAuth2, OpenID Connect, Ionic Framework, TypeScript, Angular, RxJS, Node.js, NPM, Karma, Jasmine, JUnit, Cucumber, Appium, BrowserStack, Jenkins, OpenShift, Sonar, Jira Xray, GIT, IntelliJ.
  • Entwicklung einer WebGL-basierten 2D Rendering Engine und WebComponents für das Projekt "Traffic Management System" (TMS). Technologien und Tools: WebGL 2, TypeScript, JavaScript, WebComponents, Angular, RxJS, NPM, Karma, Jasmine, Cypress, Puppeteer, Jenkins, OpenShift, GIT, IntelliJ.

01/2014 - 12/2017

Senior Software Engineer / Frontend Experte bei den Schweizerischen Bundesbahnen, SBB Personenverkehr, Bern, Schweiz.

  • Design, Architektur und agile Frontend Entwicklung eines neuen WebShops www.sbb.ch im Projekt "Sanierung Vertriebssysteme". Im Webshop können Billette und Abos für die Schweiz und benachbarte Länder online gekauft und selbst ausdruckt werden. Schwerpunkt im Projekt: Frontend-Entwicklung, vom Fahrplan bis zur Kaufbestätigung. Technologien und Tools: Java 8, JSF 2.2, PrimeFaces, OmniFaces, Spring Framework, WebServices, REST, Swagger, Responsive Web Design, Usability and Accessibility, HTML5, CSS3, SASS, JavaScript, jQuery, Handlebars, Angular, TypeScript, CommonJS, Node.js, NPM, Yarn, Gulp, Webpack, Maven, Selenium, JUnit, Mockito, UML2, Sparx Enterprise Architect, Tomcat, Jenkins, Docker, OpenShift, GIT, JIRA, IntelliJ.
  • Mitarbeit an der webbasierten Verkaufsapplikation CASA für den bedienten Ticket-, and Abo-Verkauf am Schalter. Technologien und Tools: Java 8, JSF 2.2, PrimeFaces, Spring Framework, WebServices, REST, HTML5, CSS3, SASS, JavaScript, jQuery, Angular, TypeScript, Node.js, NPM, Maven, Selenium, JUnit, Mockito, Tomcat, Jenkins, Docker, OpenShift, GIT, JIRA, IntelliJ.

03/2013 - 12/2013

Senior Software Engineer bei der Swiss Post Solutions AG, Integrated Document Solutions, Villingen-Schwenningen und Zürich.

  • Entwicklung eines "Web Portal" Frameworks für modulare JSF Applikationen. Eingesetzte Technologien - JEE 6, CDI, JSF 2, PrimeFaces, jQuery, HTML5, Webstandards.
  • Entwicklung und Weiterpflege bestehender web-basierter Struts und JSF Applikationen für den Bereich Document Management & Archiving.
  • Coaching, Schulung und unternehmensweite Projektunterstützung im Bereich webbasierter Applikationen.

09/2012 - 12/2015 (Freelancer)

Java / Web Entwickler und Berater bei der Dürr Systems GmbH, Bietigheim-Bissingen.

  • Unterstützung in der Web-Frontend Entwicklung mit PrimeFaces (führende JavaServer Faces Bibliothek). Entwicklung einer komplexen GUI-Komponentenbibliothek für den weltweit tätigen Automobilzulieferer (Maschinen- und Anlagenbau). Die Bibliothek besteht aus mehr als 60 einmaligen UI Komponenten, Chart und Reporting Tools. Eingesetzte Technologien - Java 7, JSF 2, PrimeFaces, OmniFaces, CDI, jQuery, Flot Charts, JSON, GSON, Apache Commons, Applikationsserver JBoss 6 und 7, Maven.
  • Beratung im Bereich webbasierter Applikation und GUI-Entwicklung.

08/2010 - 08/2013 (Freelancer)

Senior Java Developer bei der Innflow AG, Regensdorf, Schweiz.

  • Webentwicklung für das "Innbound" Project - Applikation für Spesen-, Reise-, Zeiterfassung und mehr - mit Java EE 6, JSF 2, PrimeFaces, jQuery, Spring, Hibernate, Jetty, MySQL.

08/2008 - 06/2013

Senior Software Engineer bei der Scalaris AG, Villingen-Schwenningen.

  • Entwicklung eines webbasierten digitalen Postkorbs für Dokumente und E-Mails. Intelligenter Zugriff auf eigene Dokumente mit dem integrierten touchfähigen Viewer und Thumbnails. Die Web-Applikation hat ein responsive Design und ist für Touch-Screen Bildschirme geeignet. Eingesetzte Technologien - JEE 6, CDI, JSF 2, PrimeFaces, HTML5, CSS3, jQuery, JavaScript Bibliotheken. Applikationsserver JBoss 7.x.
  • Entwicklung eines WebClients für die Konfiguration der Oracle Volltext-Suche. Eingesetzte Technologien - JEE 6, CDI, JSF 2, PrimeFaces, jQuery, HTML5. Applikationsserver JBoss 7.x.
  • Entwicklung eines WebClients für die Benutzer- und Gruppenverwaltung. Suche nach Benutzern / Gruppen, Anzeige und Ändern von Eigenschaften, Verwalten der Gruppenzugehörigkeit, usw. Eingesetzte Technologien - JEE 6, CDI, JSF 2, PrimeFaces, jQuery. Applikationsserver JBoss 7.x.
  • Entwicklung eines WebClients für ein Hochsicherheits-Projekt. Eingesetzte Technologien - JEE 6, CDI, JSF 2, PrimeFaces, jQuery. Applikationsserver JBoss 7.x und WebLogic 12.x.
  • Design und Frontend Entwicklung eines Management Clients - JSF 2 Web-Applikation zur Verwaltung der Metadaten eines DMS. Der Management Client ist ein Bestandteil der Scalaris ASP Lösung. Eingesetzte Technologien und Frameworks - J2EE, JSF Mojarra 2.x, PrimeFaces, Facelets, jQuery. Applikationsserver JBoss 5.x.
  • Design und Entwicklung von web-basierten Dokument Management Systemen (DMS) für die vielseitigen elektronischen Aktenlösungen - General Files & Folders, Human Resources Management, Scalaris ASP, Credit Suisse L+C, eFiles. DMS besitzen umfangreiche Funktionen - Suche, Anzeige, Ablage, Strukturierung, Versionierung, Rechteverwaltung, Audit, etc. Eingesetzte Technologien - J2EE, EJB, Struts, JSF Sun RI, Apache MyFaces, Tomahawk, JBoss RichFaces, PrimeFaces, Facelets, JavaScript und Ajax (Prototype, JQuery, YUI Library), Webstandards. Applikationsserver BEA WebLogic 9.x-10.x, JBoss 4.x-5.x und Tomcat 5.x-6.x.

12/2005 - 08/2008

Senior Frontend Entwickler für J2EE basierte Frontends bei der Elsag Solutions AG, Villingen-Schwenningen.

  • Design und Entwicklung der Web-Applikation "essencio © inCursa". "essencio © inCursa" stellt ein flexibles und multifunktionales Framework für Dokumentenmanagement-Lösungen (Enterprise Content Management) dar. Es stellt einerseits die Funktionen und Strukturen für die Bearbeitung von Dossiers, Geschäftsfällen und Legal Matters einheitlich zur Verfügung und erschließt anderseits die Individualisierung verschiedener Anwendungen. Eingesetzte Technologien - J2EE, JSP, Struts, JSTL, JavaScript, Ajax (Prototype-, Scriptaculous-Framework), Apache-Bibliotheken, Webstandards. Applikationsserver BEA WebLogic und Tomcat.
  • Design und Entwicklung der Web-Applikation "essencio © perActa". "essencio © perActa" ist eine Lösung im Bereich Archivmanagement & Retrieval und realisiert mandantenfähige Ablageorganisation mit webbasiertem Dokumentenzugriff. Eingesetzte Technologien - J2EE, JSP, Struts, JSTL, JavaScript, Ajax, Apache-Bibliotheken, Webstandards. Applikationsserver BEA WebLogic und Tomcat.
  • Entwicklung der Web-Applikation "Condor" für die Schweizer Großbank Credit Suisse. Eingesetzte Technologien - J2EE, JSP, Struts, JSTL, JavaScript, Apache-Bibliotheken, Webstandards. Applikationsserver BEA WebLogic und Tomcat.
  • Wartung und Weiterentwicklung des webbasierten Tools zur Administrierung des Dokumentenzugriffs. Eingesetzte Technologien - J2EE, JSP, Struts, JSTL, JavaScript, Webstandards. Applikationsserver BEA WebLogic, JBoss und Tomcat.

10/2005 - 11/2005

Senior Java-Entwickler bei der Pro Medisoft GmbH, Mannheim.

  • Programmierung von Web Services mit Apache Axis als Schnittstelle zwischen Internet-Shops und Warenwirtschaftssystem.
  • Entwicklung von Internet-Shops für diverse Apotheken mit JSP / Servlets und Tomcat unter Windows / Linux.

10/1998 - 09/2005

Softwareentwickler bei der Metris GmbH (ehem. META Finanz), St. Georgen.

  • Installation, Betreuung und Dokumentation des SUSE LINUX Systems. Portierung von SAID2, Pflegetool und Demo-Client auf SUSE LINUX 9.x. Projektspezifische Werkzeugkonfiguration und die Shell-Script Programmierung unter LINUX.
  • Design, Implementierung und Test des komplexen Produktes SAID2. Das Produkt ist für Versicherungsunternehmen konzipiert (Schaden-Außen-Innen-Dienst). Die Anwendung SAID2 wurde mit modernen Enterprise-Technologien (J2EE, EAI) in Java realisiert. Schwerpunkte in dem Projekt: Geldflusskomponenten. Eingesetzte Applikationsserver - JBoss und WebSphere, Testframeworks - Cactus und JUnit.
  • Design und Implementierung von Komponenten im Client/Server-Umfeld für ein umfassendes Schadenkomponentensystem (SKS) in der Programmiersprache Java auf Basis der Enterprise-Technologien (J2EE). Das Projekt wurde hauptsächlich mit Swing, XML und EJB realisiert. Schwerpunkte in dem Projekt: Geldflusskomponenten und die GUI-Entwicklung allgemein. Eingesetzte Applikationsserver - JBoss und WebSphere.
  • Konfiguration- und Releasemanagement mit Hilfe von diversen Datenbank-, Make-Tools und dem Build-Werkzeug Ant.

04/1996 - 05/1997

Softwareentwickler und Web-Programmierer bei der Fractal GmbH, Omsk.

  • Softwareentwicklung für den Medienbereich, Desktop Publishing und die Erstellung von Druckprodukten.
  • Computerdesign, Entwurf und Gestaltung von unternehmensspezifischen Portalen für Werbeagenturen.

EDV-Kenntnisse
Betriebssysteme

Windows, iOS (Mac und iPad), Android, Unix, Linux (SuSE, Ubuntu, Kubuntu), OS/2, DOS.

Programmier- und Scriptsprachen

Java 8 und höher, Kotlin, Dart, JavaScript, ECMAScript 2015-2022, TypeScript, WebGL Shaders, C, C++, C#, Objective-C, Fortran, Reduce, SQL, PL/SQL, UNIX-Shells, Batch-Script.

Markup- Modellierungs-, Beschreibungssprachen und Stylesheets

UML, WebML, XML, XSL, XSLT, (X)HTML, CSS, RDF.

Technologien, Protokolle, Frameworks und Bibliotheken

Java EE, Eclipse RCP, EJB, JSP, JSTL, Servlets, Struts, JSF, PrimeFaces, PrettyFaces, Facelets, CDI, Spring Framework, Spring Boot, Spring WebFlux, Spring Cloud Stream, Spring AMQP, Spring Integration, Spring Data, Project Reactor, RxJava, RabbitMQ, Solace Message Broker, Event-Driven Architecture, Akka Framework, Bean Validation, Hibernate, JavaScript Frameworks, Web Components, jQuery, Mustache, Handlebars, Angular, Angular Material, Angular CLI, PrimeNG, React, Redux, Vue.js, RxJS, Pixi.js, D3.js, WebGL, Ionic Framework, Cordova, PWA (Progressive Web Application), Flutter (Mobile UI Framework), WebWorkers, Bootstrap 4, HTML5, CSS3, SASS, PhantomJS, SOA, WebServices, REST, JAX-RS, JAX-WS, Jersey, JSON, GSON, Jackson, Swagger, AsyncAPI, WebSocket, MQTT, AOP, AspectJ, OAuth2, OpenID Connect.

Test Frameworks

JUnit, Mockito, PowerMock, Cucumber, Selenium, Jasmine, Karma, Mocha, Protractor, Puppeteer, Cypress, BrowserStack, Appium.

Build-Management Tools

Ant, Maven, Grunt, Gulp, Yeoman, Bower, Webpack, Angular CLI, NPM, Yarn.

Continuous Integration und Delivery

Jenkins, Docker, OpenShift, Travis CI.

Datenbanken und RDBMS

Oracle, DB2, MySQL, PostgreSQL, HSQLDB, Mongo DB, Redis, R2DBC (Reactive Relational Database Connectivity).

Applikation-Server, Webserver, serverseitige Plattformen

JBoss, WildFly, IBM WebSphere, BEA WebLogic, Tomcat, Jetty, GlassFish, Apache, Express, Node.js.

Entwicklungsumgebungen und -tools

IntelliJ IDEA, WebStorm, Eclipse, NetBeans, ERwin, Oracle Developer Tools, Sparx Enterprise Architect, BabelJS, Google Closure Compiler, SonarQube, Grafana, Atlassian Tools.

Versionsverwaltungstools

GIT, SVN, CVS, ClearCase.

(Office) Programme

Microsoft Office, Microsoft Visio, OpenOffice / LibreOffice, Adobe PageMaker, Adobe Photoshop, CorelDraw, GIMP.

Bücher und Open Source Projekte
Hobbys
  • Internet, Computer
  • Schach
  • Lesen technischer Bücher
  • Wandern und Joggen im Wald