Bydgoszcz, Poland-https://www.slidetorial.com
Mike Wojtyna
I strongly believe in classic Test-driven development approach. I’m a Domain-driven design
practitioner. This methodology proved to be an excellent tool for sophisticated projects, which I
enjoy the most. My code is clean and easy to modify, thanks to the modular, loosely coupled design
achieved by continuous TDD iterations backed by deep understanding of business requirements.
Technical Skills
Experience
Likes:
domain-driven-design architecture tdd java spring mongodb aop spring-aop design-by-contract software-quality
oop rest design-patterns unit-testing automated-tests
Dislikes:
javascript html php python
Founder & CEO – Slidetorial
java, spring, mongodb, angularjs, .net
2015 → Current
Software development (mainly Java backend), recruitment, mentoring, preparing requirements & specifications
Freelancer – Freelance
java, spring, .net, javascript, angularjs, sql, mongodb, google-chrome, php, android
Jun 2012 → Nov 2016
I've been working as a freelance software engineer since 2012.
System administrator – Nicolaus Copernicus University, Faculty of Mathematics and Computer
Science
unix, shell, bash, system-administration, liferay, java
Aug 2011 → Jun 2012
I was responsible for Unix systems administration, configuration of network services, taking care of servers and helping staff
solving technical problems.
Education
PhD Computer Science – Nicolaus Copernicus University
java, domain-driven-design, data-science
Oct 2013 → Current
In my free time I’m a computer science PhD student. I’m the co-author of scientific articles regarding machine learning, data
mining and software quality. I’m currently working on finding scientific methods of measurement Domain-driven design impact
on software quality. I was running Java software engineering classes for students at Nicolaus Copernicus University in Torun,
Poland.
Computer Science – Nicolaus Copernicus University
java, math, c, c++, sql, machine-learning, algorithm
mikewojtyna/excelnate – https://github.com/mikewojtyna/excelnate
Projects & Interests
Apps & Software
Oct 2008 → Oct 2013
Feb 2018 → Current
Excelnate is a library to map Excel files to Java objects
Certificate management application
java, spring, spring-boot, reactjs, mongodb
Jan 2018
Custom application to manage certificates and patents for my client.
Invoicing application
java, spring, spring-boot, mongodb, angularjs
Feb 2017
This is a specialized invoicing application, designed according to the business rules of my client from construction industry.
I gathered project requirements, prepared business specification, created a prototype and finally built the working product.
Thanks to the short feedback loop (1 to 2 week-long sprints) and Domain-driven design approach we managed to create a
software which completely satisfied specific business needs of the company.
Project was built with Spring Framework, MongoDB and AngularJS.
EyeCanType – http://www.eyecantype.com
opencv, java
May 2015
EyeCanType is made for people whose only way to communicate with others is their eyes. EyeCanType uses normal web
camera (no special hardware required!) to allow users to write on a computer by only looking at the screen.
Another project of my idea. EyeCanType is a proof of concept prototype application to allow writing using just your eyes. The
project was created at Startup Weekend hackathon and received 2 out of 3 available prizes (audience's award and best pitch
award).
Project was created using OpenCv library. My responsibility (together with my colleague) was to adapt the eye pupil tracking
algorithm to our needs, so it was possible to translate data to letters on virtual keyboard. I created also a simple Java
application to bridge everything together.
Our prototype was extremely well received and made a lot of noise in our area (media, newspapers, interviews, new
opportunities & contacts etc.).
Slidetorial – https://www.slidetorial.com
java, spring, mongodb, angularjs, rest, net, google-chrome
Apr 2015
Create tutorial for any application in less than 20 seconds! Slidetorial helps you to create simple tutorials for complex
software. Build step-by-step online tutorials for any application in the blink of an eye. Thanks to Slidetorial, you can effectively
share software knowledge in your company or create easy-to-follow tutorials for your customers. Don’t waste your time and
money on creating complicated software guides and focus on what’s really important for your company!
Slidetorial is my own project. I'm responsible for software development (Java backend, .NET application, some Javascript
fixes), business strategy and all the other stuff owners need to do :).
Many different technologies were used while building Slidetorial. Backend system was created using Spring Framework and
MongoDb. Business logic is exposed via REST API, which is consumed by web, desktop and mobile applications. Webpage,
Web editor and tutorial player are created in AngularJS. Tutorial steps are captured by Chrome extension (for web
applications) and native .NET C# application (for Windows applications). Earlier versions included also Python application for
Linux and Android app, but they were ultimately abandoned due to business constraints
Pizza Friends – https://play.google.com/store/apps/details?id=goobar.android.pizzashare
android, java
Apr 2014
Pizza Friends app helps you to easily split restaurant bill with your friends when you go out for a pizza.
Pizza Friends is my first serious Android application. The project was build entirely by myself, including coding, design, UI &
promotion.
The goal of the project was to learn how to create professional Android apps.
Cextractor
java, osgi, netbeans, genetic-algorithm
Aug 2013
The NetBeans plugin to automatically extract OSGi components from object-oriented applications. This project is the practical
part of my master thesis.
The plugin uses a sophisticated genetic algorithm to automatically group classes into components based on how tightly they
are coupled together.
Application consists of following modules: - Tracer - creates a callgraph in the runtime of the application using a Java agent
and AspectJ - Callgraph viewer - Algorithm - runs the genetic algorithm which automatically suggest best OSGi components Component manager - allows a user to manually refined suggested components - Bundle builder - builds a ready OSGi bundle
I created Spring Framework practical course – Course
Others
Mar 2018
I created Spring Framework practical course for Polish developers.
Joined Upwork – Milestone
Jun 2017
Started freelancing on Upwork
Joined local JUG – Community
Nov 2016
I joined Bydgoszcz Java User Group and gave a lecture about building aggregates in Domain Driven Design.
Open Source Is a Continual Bugfixing by a Few – Science
Aug 2014
I'm the co-author of scientific paper regarding open source workflow patterns. The result of our work was presented at
Advances in Databases and Information Systems 18th conference.
Github is one of the most popular repository sites. It is a place where contributors come together to share code, ideas,
thoughts and report issues. By using topic modelling applied to comments we are able to mine plentiful interesting
information. Three aspects of an open source project mostly attracted our attention: the existence of a ”Core Team’” - small
number of developers that have the most contributions, the prevailing popularity of topics related to bug fixing and the
continuous development of project without significant iteration phases.
Tools
Favorite Editor:
Vim