Scroll To View More
Radosław Szalski, Software Developer in Poznań, Poland
Radosław Szalski

Software Developer in Poznań, Poland

Member since February 4, 2017
Radosław is a Python enthusiast, self-starter, and full-stack web developer. He has over six years of professional experience engineering web applications. While working with many different technologies, he focuses on full-stack development, craftsmanship, and testing processes. He enjoys automating things with Ansible/Terraform and learning new technologies, and he is experienced with recruiting and onboarding engineers.
Radosław is now available for hire

Portfolio

  • Hawkker (via Toptal)
    AWS, Python, JavaScript, React, Django, Django REST Framework, PostgreSQL...
  • LudosProject
    Python, React, React Native, AWS, Ansible, Terraform, Packer, Prometheus...
  • MobileCoin (via Toptal)
    React Native, React, Redux, Flow, Bitrise CI, Swift, ObjectiveC, iOS, Android...

Experience

  • Python, 7 years
  • JavaScript, 4 years
  • Ansible, 3 years
  • Docker, 3 years
  • Terraform, 2 years
  • Amazon Web Services (AWS), 2 years
  • React Native, 2 years
  • React, 1 year
Poznań, Poland

Availability

Part-time

Preferred Environment

MacOS/Linux, Git, PyCharm, Zsh, Chrome dev tools

The most amazing...

...project I've developed is an intuitive library to recursively parse XML documents into interactive Python objects and back.

Employment

  • DevOps/Full-stack Engineer

    2018 - PRESENT
    Hawkker (via Toptal)
    • Used AWS CloudFormation templates (Infrastructure as Code) to provision multiple identical highly available AWS environments. Integrated Sentry and DataDog agents, enabling the monitoring of every environment and release process.
    • Maintained and extended a Django-based REST API as well as React-based SPA. Migrated from Django v1.11 to v2.2 in a production-serving REST API.
    • Used Python to automate the deployment and release process of both back-end API and front-end SPA. Integrated with AWS CloudFormation for verification of parameters for each environment.
    • Introduced GitBook as a documentation hub and configured GitHub projects. Wrote extensive documentation on the release process of all the apps, security best practices, push notifications configuration, and more.
    • Improved the ServiceWorker configuration and created a native Android app utilizing Trusted Web Activity to seamlessly utilize the PWA version of the website. Worked on the native iOS app to fix bugs and provide ongoing maintenance.
    Technologies: AWS, Python, JavaScript, React, Django, Django REST Framework, PostgreSQL, PWA, TWA, Android, iOS
  • CTO

    2016 - PRESENT
    LudosProject
    • Screened, recruited, and coached Python, JavaScript, and Unity developers.
    • 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.
    Technologies: Python, React, React Native, AWS, Ansible, Terraform, Packer, Prometheus, Grafana, Flask, Falcon, SQLAlchemy, Alembic, Django, GitHub, AWS Lambda, Locust.io
  • React Native Developer

    2018 - 2019
    MobileCoin (via Toptal)
    • Developed a cryptocurrency wallet app for iOS and Android in React Native, backed by both Firebase and a crypto ledger, with support for wallet generation, export and recovery, multiple currencies, QR code scanning and various security features.
    • Worked on compiling a multi-target toolchain using Android NDK for cross compilation of a Rust library that was a native dependency.
    • Introduced Flow for static type checking, linters and Redux, worked proactively on workload planning and the CI/CD pipeline.
    • Deployed a URL redirector for Deep Linking support using AWS Lambda and CloudFront.
    • Worked on integrating Rust-based cryptocurrency payments into a fork of the Signal Messenger app.
    Technologies: React Native, React, Redux, Flow, Bitrise CI, Swift, ObjectiveC, iOS, Android, Firebase, Zeplin, Sketch, Rust, Cryptography
  • Senior Python Developer

    2018 - 2018
    Croscon (via Toptal)
    • 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.
    Technologies: Python, Flask, React, Backbone, Marionette, Docker, Celery, SQLAlchemy, Peewee, MySQL
  • Senior Full-stack/Python Engineer, Team Lead

    2015 - 2017
    STX 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.
    • Profiled and optimized performance of back-end Python code and front-end JavaScript.
    • Managed the whole team: trained and coached them, performed appraisals, and planned goals for upcoming months.
    Technologies: Python, JavaScript, jQuery, Ansible, Vagrant, Supervisord, Git, Pyramid, Mercurial, rST, SVN, CVS, Jira
  • Senior Python Engineer

    2014 - 2015
    STX 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.
    Technologies: Python, JavaScript, jQuery, Ansible, Pyramid, PyTest, Git, Mercurial, Jenkins, Fabric
  • Technical Referent

    2013 - 2014
    Poznan University of Technology
    • 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.
    Technologies: Python, TFTP, PXE, Linux
  • Software Engineer/Researcher

    2012 - 2014
    Poznan University of Technology
    • 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.
    Technologies: Python, Fabric, Invoke, Java, C, SIP, OpenIMS, LaTeX, UML

Experience

  • 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.
    See: https://www.yoti.com/developers/documentation/?python

  • 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.

Skills

  • Languages

    Python 3, Python, Falcon, HTML, JavaScript, HTML5, TypeScript, Sass, SQL, CSS3, Bash, CSS, Swift, Objective-C
  • Libraries/APIs

    jQuery, REST APIs, React Navigation, Redux-saga, Flask-RESTful, React, React Redux, Asyncio
  • Tools

    Mercurial, Docker Compose, PDB, PyCharm, Vagrant, Pytest, Travis CI, AWS ECS, AWS CodeBuild, Grafana, Git, Terraform, Ansible, Packer, VirtualBox, Nginx, Flow, Jenkins, Sublime Text, LaTeX
  • Paradigms

    REST, Unit Testing, Functional Programming, Extreme Programming, Microservices Architecture, Object-oriented Programming (OOP), DRY, Test-driven Development (TDD), Agile Software Development, Scrum, KISS, Kanban
  • Platforms

    Bitrise, Docker, Linode, Linux, Visual Studio Code, Amazon Web Services (AWS), Android, iOS
  • Other

    Code 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)
  • Frameworks

    Redux, Django REST Framework, React Native, Flask, Pyramid, Django, Jest
  • Storage

    AWS S3, AWS RDS, MySQL, PostgreSQL, Redis, SQLite

Education

  • Master of Science degree in Computer Science
    2014 - 2016
    Poznan University of Technology - Poznań, Poland
  • Bachelor of Science degree in Computer Science
    2010 - 2014
    Poznan University of Technology - Poznań, Poland
I really like this profile
Share it with others