Python Developer in Poznań, Poland
CTO2016 - PRESENTLudosProject
Technologies: Python, React, React Native, AWS, Ansible, Terraform, Packer, Prometheus, Grafana, Flask, Falcon, SQLAlchemy, Alembic, Django, GitHub, AWS Lambda, Locust.io
- Performed extensive code reviews.
- Orchestrated dozens of virtual servers and databases, across multiple environments on AWS using Ansible, Terraform, and Packer.
- Owned all architectural choices.
- Created production-quality REST APIs in Python with authentication, logging, and metrics instrumentation (using Prometheus).
- Performed load testing and benchmarking of every developed microservice using Locust.io, Ab, Apib, and Wrk.
- Designed, implemented, and maintained back-ends on Amazon Web Services for various games and applications.
- Designed gorgeous metric dashboards using Grafana that allow every team member to see a high-level overview of the environments as well as dig into details if needed. Data sources included: AWS CloudWatch metrics, self-hosted Prometheus instance, and SQL connectors.
- Benchmarked and tuned the whole application stack from Linux kernel parameters through Nginx/uWSGI configuration options to AWS design choices.
- Consulted as the go-to guy for hard technical and business problems for the whole team.
- Negotiated with clients and analyzed requirements for upcoming games and services.
Senior Python Developer2018 - 2018Croscon (via Toptal)
Technologies: Python, Flask, React, Backbone, Marionette, Docker, Celery, SQLAlchemy, Peewee, MySQL
- Extended and fixed business-critical functionality for live customers.
- Worked on asynchronous file import/export endpoints for high-volume bulk transfers.
- Implemented new end-user workflows involving schema migrations.
- Integrated a React web app with REST API.
- Improved code coverage by writing functional and unit tests for new and existing code.
- Introduced type hints to a Python 3.6-based project.
- Migrated Peewee ORM from version 2.x to 3.x in an API with complex queries.
- Worked with MySQL with custom DB-level encryption requiring key sharing through Celery tasks.
Senior Full-stack/Python Engineer, Team Lead2015 - 2017STX Next
- Managed multiple products in the whole project.
- Decided on architecture for each application.
- Analyzed client requirements and advised clients on technology choices.
- Managed the whole software development cycle of multiple, cross-dependent production services.
- Developed a branching strategy in Mercurial.
- Reviewed code for every change made by every developer in my team.
- Advocated and coached team members on pair programming and automated testing.
- Owned and handled DevOps tasks, including orchestration and configuration management of environments and services using Ansible and Vagrant.
- Ensured that complicated and intertwined stuff worked according to business rules.
- Maintained multiple production applications, both legacy and greenfield.
- Wrote documentation and tutorials for new developers.
- Gave technical interviews and provided technical onboarding for many highly skilled employees.
- Managed the whole team: trained and coached them, performed appraisals, and planned goals for upcoming months.
Senior Python Engineer2014 - 2015STX Next
- Worked in Agile teams on multiple production services for the banking sector delivering immense business value.
- Analyzed complicated requirements and planned work for Scrum sprints.
- Managed and improved a legacy codebase while simultaneously delivering business value by developing new features.
- Presented products to new and existing clients.
- Advised clients on technology choices.
- Managed a Jenkins CI server, BI dashboards, and multiple virtual servers.
- Focused on quality, automating unit and integration tests.
- Educated colleagues on proper testing, mocking techniques, and advanced VCS usage.
- Continuously improved code testability and maintainability even in the legacy parts of the system.
Technical Referent2013 - 2014Poznan University of Technology
Technologies: Python, TFTP, PXE, Linux
- Ensured that researchers and students had working equipment and environments to work with.
- Managed computer networks, CS lab equipment, and various on-premises hosted platforms (ticketing system, project management software).
- Automated the provisioning of OSes in every lab using TFTP and PXE.
Software Engineer/Researcher2012 - 2014Poznan University of Technology
Technologies: Python, Fabric, Invoke, Java, C, SIP, OpenIMS, LaTeX, UML
- Developed a network testbed management framework in Python for scheduling experiments on wireless nodes.
- Designed an experiment description language and parser allowing reproducible test runs on this framework.
- Developed Linux kernel modules integrating with a Linux network stack and improving QoS scheduling.
- Designed and implemented crawlers/scrapers for Twitter and Facebook (both API and front-pages) using Java.
- Developed SIP clients integrating with a self-hosted Open IP multimedia subsystem.
- Wrote academic papers and performed wireless network related research.
- Designed experiment scenarios and user stories to be included in my papers.
- Supervised work of students and interns.
- Coinego – React Native Cryptocurrency Portfolio Manager (Development)
• Developed from scratch
• Observe selected coin prices and get notified on changes
• Define your crypto portfolio to see its worth
• Integration with REST API for coin prices
• Fully automated CI/CD pipeline with Bitrise and Fastlane, automatic deploys to Play Store
• Redux, Saga, Flow, Jest, Standard
- React Native Demo Project (Development)
A To Do list manager written using React Native.
• Front-end created in React Native for iOS/Android enabling the management of tasks with support for attachments
• Access to Camera API (taking photos, media library)
* Access to Contacts API
• Access to Share API
• State management with Redux and Redux-Saga
• Back-end REST API created in Python using Django + Django REST Framework
• JWT token authentication
• Automated tests with Jest/Enzyme/PyTest
• Linting: eslint/pylint
- Idle Car Factory | Mobile Game Back-end (Development)https://play.google.com/store/apps/details?id=com.ludosproject.idlecarfactory
Created the back-end architecture for a mobile game that has over 500,000 installs and receives hundreds of requests per second on Amazon Web Services. The architecture consists of a tier of web servers hosting a REST API written in Python (by me), load balancers, and PostgreSQL database. All of this managed using infrastructure as code where every resource is represented in Terraform and all of the servers are provisoned using Ansible. This allows for rapid deployment of multiple copies of whole environments and ensures that every change is versioned and documented.
- Python SDK for the YOTI Platform (via Immergo) (Development)https://github.com/getyoti/yoti-python-sdk
Designed and implemented a Python SDK for the YOTI platform. Designed plugins for Flask and Django that used this SDK. Coordinated work of other Python programmers. Communicated with both business and programmers.
- Mappet | XML To/From Python Mapper (Development)https://github.com/stxnext/mappet
This is a pure Python library developed to ease the pain of working with XML-based APIs and ESBs. It includes an elegant XML recursive parser based on lxml, which allows every XML document to be represented as a Python object. Such an object allows one to access XML nodes/attrs/children as object attributes, which makes it very intuitive to use. This library has a very high unit test coverage and has been open sourced thanks to my efforts while working in STX Next.
- eRFC | RFC to Ebook Converter (Development)https://github.com/rszalski/erfc
This is a simple Python project exhibiting the Unix tool philosophy, "Do one thing well." It is the result of my frustration with the formatting of plain-text RFCs on Kindle. It is well documented and has a simple and elegant CLI interface (created with docopt library).
- Jonnyguru.com | PSU Reviews Crawler (Development)https://github.com/rszalski/jonnyguru_psu_crawler
This is a Python crawler for power supply unit reviews on the fantastic and thorough Jonnyguru.com website. Written using the most popular crawling library in Python, Scrapy, it illustrates my approach to challenges: Automate it and share with the world.
Because having a good PSU for your PC is really important.
- Master's Thesis (Other amazing things)
"Real-Time Bidding Supply-Side Platform Emulator" - Included a Python implementation of SSP emulator in the RTB ecosystem using big data bidding datasets.
- Bachelor's Thesis (Other amazing things)
"Flow Utility Estimation and Signaling in Wireless Networks Managed by the DANUM System" - Describing work on flow shaping and QoS in wireless mesh networks using a custom kernel network stack.
- Terraform AWS Cloud: Sane Infrastructure Management (Publication)Writing an application is only part of the story. In order for it to be of value, it needs deploying somewhere it can scale; it has to run with high availability, have backups, and so on. Deployment and infrastructure management isn’t a simple process. And Terraform does nothing to hide the complexity. However, it does make your infrastructure declarative and reproducible, like your code. In this article, Toptal Freelance DevOps Engineer Radosław Szalski teaches us what Terraform is, how its components work, and how to configure an entire AWS Cloud solution in minutes using its configuration language.
Libraries/APIsjQuery, REST APIs, React Navigation, Redux-saga, Flask-RESTful, React, React Redux, Asyncio
ToolsMercurial, Docker Compose, PDB, PyCharm, Vagrant, Pytest, Travis CI, AWS ECS, AWS CodeBuild, Grafana, Git, Terraform, Ansible, Packer, VirtualBox, Nginx, Flow, Jenkins, Sublime Text, LaTeX
ParadigmsREST, Unit Testing, Functional Programming, Extreme Programming, Microservices Architecture, Object-oriented Programming (OOP), DRY, Test-driven Development (TDD), Agile Software Development, Scrum, KISS, Kanban
PlatformsBitrise, Docker, Linode, Linux, Visual Studio Code, Amazon Web Services (AWS), Android, iOS
OtherCode Review, GitFlow, Full-stack, Mentorship, Google Play Store, App Store, AWS CodePipeline, AWS Route 53, Prometheus, Architecture, Google Material Design, BLE, Cryptocurrency, Cryptography, Progressive Web Applications (PWA)
FrameworksRedux, Django REST Framework, React Native, Flask, Pyramid, Django, Jest
StorageAWS S3, AWS RDS, MySQL, PostgreSQL, Redis, SQLite
- Master of Science degree in Computer Science2014 - 2016Poznan University of Technology - Poznań, Poland
- Bachelor of Science degree in Computer Science2010 - 2014Poznan University of Technology - Poznań, Poland