Who Am I?
My name is Marcin Jahn. I am a technology evangelist/developer/tech enthusiast from Łódź, Poland. I am an automation and robotics engineer by education - but frankly, I am not keen on working with robots, I much prefer software development targeting the web/cloud. I am interested in all computer things, but my main activities are in the following areas:
- cloud
- IoT
- containerization
- linux
- frontend development
- backend development
These are just some keywords that come to my mind at the moment. The world of IT is so huge (end expanding all the time) that it’s quite hard to encompass the technology landscape that we’re dealing with today with just a couple words. However, looking at the list I think it summarizes quite well what I’m doing most of the time in front of a computer.
Technologies
Here arere a few technologies/products, called out by name, that I use and have expertise in:
- cloud:
- Microsoft Azure - I have multiple years of experience with Microsoft’s cloud offerings. During my work I’ve been mostly dealing with App Services (Web Apps, Functions, Logic Apps), container offerings (Container Instances, AKS), databases and storage in general (CosmosDB, Storage Table, Storage Queue), IoT Hub, DPS, and many other services that I used together to build various systems. I have the following Azure certificates:
- Google Cloud - I have the Professonal Cloud Architect certificate.
- backend development:
- .NET C# - the first programming language that I really got into and used professionally. It’s still my preferred choice for new projects, and I really like the direction Microsoft is heading with the language.
- Node.js - I find Node.js to be a perfect tool for web APIs, smaller applications or PoC/demo needs. Paired with NestJS, it’s a perfect environment for a project.
- databases:
- MongoDB - I’ve used MongoDB in numerous projects, where performance and scalability were key. At this point, MongoDB is a mature and feature-rich database that is a great fit for lots of usecases.
- elasticsearch - I have experience in building search systems that rely on huge data sets, based on elasticsearch.
- CosmosDB - versatility of CosmosDB makes it a great choice for pretty much any project that requires a database. I mostly sticked with the MongoDB API and Table API for the projects I’ve worked on.
- Redis a useful piece of software for various uses, mostly as a caching storage system. I’ve used it pretty extensively in lots of projects, not only for caching, but also for the distributed locking needs (RedLock).
- InfluxDB - for one of the projects I worked on, it was necessary to collect timeseries measurements on cloud system’s performance. InfluxDB turned out to be a great fit for that use case.
- ci/cd:
- GitHub Actions - I’ve created quite a few CI/CD pipelines that run on GitHub Actions. Btw, this website is deployed using GitHub Actions as well!
- Azure Pipelines - I’ve used Azure Pipelines in numerous projects, especially when the project was hosted on Azure.
- containerization:
- OCI containers - using Podman or Docker is nowadays a standard way to run applications, in the cloud or on the edge. Most of the applications I build end up as container images.
- Kubernetes - an amazing initiative to standardize the way we deploy apps across cloud providers. Nowadays, I prefer deploying my apps there than using things like Azure Functions or other SaaS solutions that were my preferred choice in the past. Regarding the actual cloud offering, I rely on Azure Kubernetes Service. Btw, this website is hosted on K8s as well
- frontend development:
- Angular - I’ve worked on a few projects that incorporated Angular to build the client-facing experiences. These projects also relied on TypeScript, RxJS, NgRx, Jest, Angular Material, and others.
- VuePress - a great choice of a static site generator for Vue.js enthusiasts. It’s just easy to use and easy to extend.
- Astro - another great static site generator. It puts a great accent on load speed of the sites built with it. This website used Astro!
- iot:
- Azure IoT Hub - I started using it while working on my master thesis to build my own IoT Platform. I also used it extensively at work.
- Raspberry Pi - this small PC is a perfect hardware for experimentation in various IT areas. I used it as an IoT device in some IoT projects.
- Arduino - I built numerous smaller projects on Arduino, mostly for experimenation before moving the project onto target hardware (mostly ATMega microcontrollers)