Logo of Mariusz Kotas
Picture of Mariusz Kotas

Mariusz Kotas

Software Craftsman

Summary

I am a passionate pragmatic software developer from Czech Republic who is continuously improving software craftsmanship.

I'm putting emphasis on a software quality and clean code. I'm interested in the enterprise software development and I have great expertise in all .NET technologies.

Skills

Architecture

  • Clean, pragmatic codebase
  • SOLID principles, TDD, design patterns
  • DDD, CQRS, Event sourcing
  • Microservices, REST, Service bus (MassTransit, RabbitMQ)

.NET development

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

Databases

  • Good knowledge of SQL language
  • ER diagramming
  • Stored procedures in PL/SQL
  • Experience with PostgreSQL, Microsoft SQL Server, SQLite

Other

  • Web development - Js, Typescript, SPA (Angular2)
  • Version control - SVN, Git
  • Continuous integration - TeamCity, Bamboo
  • Agile methodology - Scrum (Jira, Confluence)
  • Experience with functional programming paradigm (Haskell and F#)
  • Knowledge of Java, C++, Python

Professional experience

IT Contractor

  • IT Contractor
  • Prague, Czech Republic
  • January 2017present
  • Flexiana s.r.o.
  • Alza.cz a.s.

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 experience

Primus Monitoring

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

Keyword Filter Application

  • Postprocessing for Google AdWords planner
  • Desktop application (WPF, Material design)

Projects & publications

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)