About Me
Hi, my name is Alex and I am a software developer looking for a remote web development job in a company with great engineering culture.
I started learning programming about 9 years ago, participated in school Olympiads and made some contributions to open source projects during Google Code-In contest. After few years I started working as a freelance software developer, mostly small projects about data extraction/manipulation, automation of routine tasks. 3 years ago I participated in Google Summer of Code working on reverse engineering and import projects for LibreOffice. For the last 2 years I was working on my Master’s degree project in a group of students under SAP supervision developing a benchmarking platform for anomaly detection algorithms evaluation.
I was always enjoying self-study not limiting myself just to the mandatory university program: books, online courses (Coursera, Hexlet), participating in communities, personal and open source projects.
Hobbies: programming, technologies/computer hardware, computer games, traveling.
Skills
- Focus on ‘why’, the goal, instead of just blindly implementing the task without caring whether it will actually solve the problem.
- Aware of software engineering practices (Agile, XP, TDD, CI, etc.), can apply them when appropriate.
- PHP, JavaScript, Python.
- Relational databases (MySQL, PostgreSQL, SQLite), ORMs (Eloquent, Doctrine).
- Web backend frameworks: Laravel, a bit of Node.js.
- Frontend: HTML, CSS, JavaScript (including modern features), Bootstrap, jQuery, …
- Automated tests (unit tests, integration tests, etc., mostly using classical xUnit frameworks like PHPUnit, PyTest), TDD.
- Basic usage of Vagrant, Docker.
- Website data extraction/automation using Selenium or HTTP queries.
- Experience with Windows, Linux (mostly Ubuntu), both as a user and as an app developer.
- Also had desktop development experience. С#/.NET, Java/Kotlin, C++, Python. Qt/PySide2, WinApi.
Open Source Projects
Recent open source contributions and personal projects
A website where you can publish a CV and get feedback, improvement suggestions from the community and HR.
Bug fixes, small improvements. My first experience with Ruby.
A screenshot capturing/editing app.
Bug fixes, small improvements to make UI better and more intuitive.
WebChangeNotifier
https://github.com/AlexP11223/WebChangeNotifierAn app for web page changes detection (e.g. to monitor product list in a local store to quickly detect short-time sales, availability of the desired item). Periodically opens the page using Selenium, extracts the text by the specified selector, and sends email (via Mailgun) with a diff report if there are changes since the last time. I was trying to avoid unnecessary complexity to finish the project/prototype as soon as possible: Selenium instead of HTTP queries because the performance was not important here and Selenium works well out of the box for all websites (with any frontend); standard CSS/XPath selectors; CLI, config file.
Client-side scripts for an online forum improving UI and adding new features for users (auto-saving message drafts, hotkeys, quick quote) and moderators (reply templates, Geo IP). The scripts greatly reduced the time spent on routine actions and improved user experience.
The most interesting university/training projects
C-like language compiler (into JVM byte-code) + a basic editor, step-by-step execution, visualization of compilation steps.
ToDo web app implemented using Laravel, Bootstrap. Optimized for mobile devices. Deployed on Heroku.
Flights Data Visualization
https://alexp11223.github.io/D3FlightsDataVisualization/index.htmlDataset visualization using d3.js, Leaflet (charts, maps).
Hexlet PHP Projects
https://github.com/AlexP11223?tab=repositories&q=php-projectProjects developed with mentor supervision during Hexlet courses (a Russian analogue of Treehouse): logic games (development environment setup, CI), comparison of JSON/YAML files (polymorphism, patterns, FP, TDD), web page info extraction (Lumen web framework, job queue, TDD, Heroku).
Work Experience
Inpsyde GmbH
Software Developer
2020 -
Freelance
Software Developer
2014 - 2019
Web and desktop software development. Mostly small projects about data extraction/manipulation, automation of routine tasks, development of system utilities, such as:
- Extract some data from a website via API (if available) or HTML parsing, save to database or file, process/aggregate the data generating reports for the user, making it easier to analyze and saving time spent on performing these operations manually.
- Process large amount of pictures (e.g. crop to small previews, resize and so on) using Python.
- Design and implement a disk backup system like Acronis True Image, simplified and optimized for a specific setup, making it easier to use and less error-prone.
- Video kiosk for a museum exposition — a full screen web app for a device with two screens: a touch screen for video selection and other controls, and a big projector for the video.
Master's degree project, SAP internship
https://github.com/anomaly-detection-macrobase-benchmarkSoftware Developer, Researcher
2018 - 2019
Research/evaluation of anomaly detection algorithms. Developed a benchmarking platform (Java, Python).
Google Summer of Code, The Document Foundation (LibreOffice)
https://summerofcode.withgoogle.com/archive/2016/projects/4529893417156608/Software Developer, Reverse Engineer
May - August 2016, May - August 2017
Reverse engineering of Zoner Draw (vector graphics editor) and QuarkXPress (desktop publishing software) binary file formats and parsing/import library implementation. Added support for these formats into LibreOffice, allowing users to restore their old documents created in discounted or Windows-only software.
Education
Vytautas Magnus University, Lithuania
Bachelor's and Master's degrees in Applied Informatics (Computer Science)
2013 - 2019