Career Profile

Born with keyboard in 21th january 1988 in Wrocław. For fourteen years I have been learning programming in four languages, in order: C++, Java, PHP, Python - my love. Since 2015 from time to time I have been writing some scripts for collecting data to Excel files - I have my own clients for who in next months me and friends are going to create web pages. Python is pretty simple and powerful language, thankfully to it I met nice several people with who we are planning our future :-) Among other languages I know well I am looking for job using Python...

Experiences

C++17 devel

06-2018 - 09-2018
private

New invented, the fastest prime sieve on the world on one thread generates all primes up to bilion on low computer in less than ten seconds. My task is to write an engine that should allow save all numbers from 2 to N, where N signs free place on drive in bits minus 10% of free space. Due to algorithm works on various ranges it needs a tricky memory management which communicate with very slow hard disk as less as possible. Short algorithm is expanded with lot of calculations for faster work. Pure C++17 with best practices is used with little library hand made, all code is going to be moved to WWSIS server after all tests.

C++11 Co-developer

05-2018 - 06-2018
Freelancer, teacher

Asked on e-korepetycje.net to write complete Checkers game with computer player using strict Object Oriented Programming in C++11. I wrote vast majority of code and used alpha-beta algorithm variation with deep tracking of tree-game. The depth chosen by human player is a level of difficulty of computer. The rules of checkers are very simple until one wants to learn computer play as good as possible, fortunately several years after my first attempt to write that game I can tell proudly - well done! All code is divided to classes, and used several new techniques from C++11. Game is almost finished, some refactor is needed and I will commit it to my GitHub.

Script writer, scrapper

05-2018
Freelancer, data scrapping

I have been showing since several weeks microservices in Python for some people. I wrote several scripts that scraps contacts from web to Excel. Created database this way is going to help us in making little company in near future where we will be writing simple pages for Wrocław's gastronomy. We are working on new design pattern used in rapid page development - old MVC is good but has some constraints and is not flexible, especially when model of db table has changed. I hope at the end of year present db2v controller ("database to view, view to database") that eliminates inflexibility of MVC.

Private lessons

2016 - now
Home, for myself

Once I showed some basics of Turbo Pascal for very young boy, his father - my friend - asked me why I had not teach people yet. Good idea, especially I can translate that strange symbols (bushes) into human readable. I decided to start sharing my knowledge, passing it as best I can (C++, Java, Python)

PHP 5.6 & Python 3

08.2016 - 03.2017

Accidentally known trader was looking for programmer who could help him put large data from Excel files (very big variety of forms) and some invoices in one place. He had bugs I was to fix. These soulutions allows him to count and predict costs of devices that reduce the reactive power consumption - in short.


Epesi BIM is an polish opensource CRM project. Almost 60 mb of code made it biggest application I had occasion to develop. Fortunately authors used good OOP practices so after one month of reinstalling it twice per day (or more :D ) I realized how to play with.
Python with XLRD module made it easy to read Excel's spreadsheets and to fill Epesi's commondata wrapper (written by me). DataInputGrid (I'll upload it to github in near future) allowed to put data in a grid - this functionality at march of 2017 was not able yet in Epesi!

2D Game developer

2013-2015
Home, for myself

One night starring at the sky I was wondering how simple 2D games are written. Long research guided me to the SFML library maintained in C++ (with bindings to other langs). Due to hard debugging cpp code I was forced to look other solution: just written game by better coders than me. Perfect idea that learned me new things about programming: the design patterns. Ok, I still cannot say that solo tommorow I start to develop new Quake 3 Arena, but the new experience will never allow me again start something new until I would elaborate on the project with paper and pen.

Lead Developer

04-2015 - 10-2015
Ansi C & C++Qt 4 as a freelancer

I had worked for six monts on implementing three algorithms for some opensource server and main task was to judge how application would behave under various conditions. It turned out quickly that server is for show only but unusable for lot of users who could send heavy files often. Our team started to write an application from scratch with client under web browser - without downloadable client.

One task I am allowed to describe was to put starts scripts for dockers, and to produce logs in manner we discussed at meetings. In last, sixth month team manager told me to learn how to use Selenium in Java for automatic tests.

My home-made projects

Below I present little part of my codes I commited to GitHub for this portfolio.

eml out - Simple Python's script that extracts all eml files (downloaded from some server) in one dir, and all extracted attachments are put to separate dirs based on an author. So now U can download all mails and sort'em by little modification. Used it while uploading to Epesi.
6 kroków - Mini project scrapes data to - yes, of course - Excel file.
Bip_podmioty - Public Information Bulletin - a site allows people to find various information about governs of whole Poland. Addresses of public entities are now in my Excel and in Epesi.
Atom - A comprehensive website template solution for startups/developers to market their mobile apps.
PanoramaFirm - Old example how to scrap data to more convinient form. By then I had not any more scrol and switch sites for looking clients; they wanted to sit in my... Excel
WinAmpSkins - Everybody loves WinAmp, and its skins

Skills & Proficiency

Python3 & Jython 2.7

Java SE & JSFML

Java EE & JSP (beginner)

C++11/14 & STL, Boost

Selenium WebDriver & Python (Jython)

Linux

HTML5 + CSS3 + JS

Epesi CRM (PHP)

SQL

Eclipse IDE, PyCharm

Motivation