Logo of Mariusz Kotas
Picture of Mariusz Kotas

Mariusz Kotas

Software Craftsman

Summary

Passionate pragmatic software developer from Czech Republic who is continuously improving software craftsmanship.

I'm an independent software freelancer/consultant. Don't hesitate to contact me if you have a custom solution you would like me to implement or help your team move forward.

Skills


I'm putting emphasis on a software quality and clean code. Interested in helping clients with their domain, focusing on solving their problems. I have great expertise in all .NET technologies.

Architecture

  • Clean, pragmatic codebase
  • SOLID principles, TDD, design patterns
  • DDD, CQRS, Event sourcing
  • Microservices, REST, gRPC

.NET development

  • Perfect knowledge of C#
  • WPF, Windows Forms, ASP.NET MVC, WebAPI, UWP/WinRT
  • Entity Framework
  • Experience with DI containers, DevExpress, xUnit, NuGet and ReSharper
  • SSO - OpenID, OAuth (IdentityServer3/4)
  • Keeping up to date with .NET Core, EF Core, ASP.NET Core and cross platform development

Web frontend

  • Javascript, Typescript
  • SPA - Angular 2+, VueJS
  • ASP.NET MVC and WebAPI
  • GraphQL and REST API design

Other

  • Good knowledge of SQL language
  • Experience with PostgreSQL, Microsoft SQL Server, SQLite and PL/SQL
  • Version control - SVN, Git
  • Continuous integration - TeamCity, Bamboo, Jenkins
  • Agile methodology - Scrum (Jira, Confluence), Kanban
  • Experience with functional programming paradigm (Haskell and F#)
  • Knowledge of Java, C++, Python
  • Bitcoin, cryptocurrencies and quantitative trading

Professional experience

IT Contractor

  • IT Contractor
  • Prague, Czech Republic
  • January 2017present

Software Engineer

  • Remote
  • April 2021present
  • Bitcoin and Lightning Network payments for everyone

Co-Founder

  • A fully automated quantitative crypto trading desk

Solutions Architect & Tech Lead

  • Enterprise distributed system
  • .NET Core, Kubernetes

Senior Software Developer

  • Innovative projects
  • .NET Core, Angular 2

Software Developer

  • Hospital information system
  • Chemical process simulator
  • IS builder: framework for rapid development large information systems

Software Developer (C#)

  • Operating system for pensioner

Freelance projects

ERP system

  • Gigantic ERP system (150+ modules)
  • Microservices, horizontal scalability, greenfield project
  • Kubernetes, Linkerd, .NET Core, Angular, GraphQL, gRPC

Nexus

  • Back-office system
  • Frontend: web application written in Angular 7, Ant design
  • Backend: .NET core, IdentityServer4, Hangfire
Screen of Nexus
Screen of Nexus
Screen of Nexus

TraXBot

  • Fast and optimized execution platform for our high-frequency trading (HFT) strategies
  • Reactive platform based on .NET core and Rx
Screen of TraXBot
Screen of TraXBot

Adnext Crypto

  • Crypto trading tools
  • Web application ASP.NET MVC + VueJS and SignalR (websockets)
Screen of Adnext Crypto
Screen of Adnext Crypto
Screen of Adnext Crypto

Primus Monitoring

  • Monitoring system for industrial washing machines
  • Desktop and web application (WinForms, ASP.NET MVC, DotVVM)
Screen of Primus Monitoring
Screen of Primus Monitoring
Screen of Primus Monitoring

Keyword Filter Application

  • Postprocessing for Google AdWords planner
  • Desktop application (WPF, Material design)
Screen of Keyword Filter Application
Screen of Keyword Filter Application
Screen of Keyword Filter Application

Projects & publications

Websocket client

    GitHub stars Nuget
  • Pure websocket client with built-in reconnection and error handling

Crypto websocket clients

    GitHub stars Nuget
  • Websocket connectors to various crypto exchanges
  • Bitfinex, Bitmex and Binance

Encryptor

  • Hobby project, the encryption app (Windows 10) for paranoid people

MKEncryptor.Core

  • Open-source encryption portable library/wrapper for C#. It is used in commercial product Encryptor (see above).

MKEventAggregator

  • Open-source library. Event aggregator / Message bus for .NET with plugins system support

MKPluginsSystem

  • Example of plugins system in the .NET world

Super Maze

  • Multiplatform game. It's created with the MonoGame framework (Open Source version of the XNA)

Issues of acquiring client data with touch-based interfaces

  • Bachelor thesis
  • Implementing touch-based web client for existing hospital IS

Education

Applied informatics

  • Masaryk University, Faculty of Informatics
  • Brno, Czech Republic
  • Bachelor's degree programme
  • 20122014

    Languages

    • Czech - Native or bilingual proficiency
    • Polish - Native or bilingual proficiency
    • English - Professional working proficiency

    Favorite books

    • Pragmatic Programmer (A. Hunt, D. Thomas)
    • Clean Code and Agile Principles, Patterns, and Practices (Uncle Bob)
    • Domain-Driven Design: Tackling Complexity in the Heart of Software (E. Evans)