I’m Tomasz Chojna
I wrote my first line of code in 2009, without even noticing that
it was a "programming", I just wanted to make some changes in my
MMORPG game server. I also needed a simple website to allow my friends
to create their profiles, so I discovered HTML, CSS and PHP.
During my journey, I met many great people who showed me how fascinating the world of IT can be.
I've never imagined that this could led me to a professional programming career, which has started in June 2012.
Solving challenging problems is always a lot of fun to me. Currently my greatest passion is optimizing performance. I love making things run few times faster by improving sql queries, introducing caching, refactoring inefficient code.
I think that the most important skill of a programmer is the ability to learn new things quickly. I am willing to learn anything that could be helpful in creating the best solution, even if it's far out of my comfort zone.
As a perfectionist I would love to create the best
possible solutions, but I also understand that
a perfect world doesn't exist and often good is good enough.
I have some rules I am always following while working:
- I balance the best ROI for a company with providing adequate quality.
- I actively contribute to the development of a software product sharing all ideas that could improve it.
- I minimize the time spent on repetitive tasks and processes by trying to automate them either by my own code or third-party solutions.
- I clearly communicate all the issues and propose multiple solutions.
- I am thinking ahead when designing new features, especially what the impact of a certain change is.
(Python, PHP, Node.js, Go)
My strongest skill and the field I am most interested in. I've created things like: push/email notification system, mobile shop, APIs for complicated app interfaces, integrations with other apps (e.g. Facebook Graph API), and many more..
(Docker, Ansible, AWS)
I am experienced in running code in the production environment. I am familiar with automated provisioning, Docker containers, continuous deployment, monitoring and logs management.
(ALGORITHMS, DESIGN PATTERNS)
Some things stay the same for all programming languages. I've spent a lot of time learning how to choose proper data structures, algorithms and architectures.
(HTML, CSS, JS, Angular, Backbone, React)
Currently something I am doing on the side. I managed to implement production system based on kNN and collaborative filtering algorithms.
AppicFrontend, Backend, DevOps
Event discovery app for a Dutch market, available on iOS and Android. I was responsible for the whole backend side of the project, including also some Frontend administrative interfaces.
I was responsible for building user interface for the work time scheduling application.
Loyalty city cardFrontend, Backend
I created REST API for the mobile application, which was
used for giving points for certain actions.
I also implemented dashboard-like interface for data analysis.
Angular FormCreatorFrontend, Backend
I created an editor in Angular.js for creating JSON-based configuration for interactive forms. The user could define control-flow based on the data entered in the form, as well as validation rules and display formats. Several hundreds forms have been successfully created using this component.
I designed and coded the layout based on Bootstrap for the primary school.
I also extended standard wordpress panel with plugins for importing and sharing time schedule of school classes.
- mobile apps in PhoneGap/Cordova
- integrations for marketing applications
- wordpress plugins for online reservation system