Maciej Bazela | Flowyh

Young and ambitious programmer

Experienced in professional environments

Explorer of new technologies

Who am I?

Hi, I am Maciek and I fell in love with programming a long time ago.

I am currently a third-year Algorithmic Computer Science student at Wrocław University of Science and Technology.

Right now I am working as a Junior Software Engineer (C/Python) at TietoEvry.

I am hardworking, ambitious and always looking for new challenges. Therefore, every now and then I try to learn some new programming languages, frameworks or libraries.

I am not afraid of taking risks and I am always open to new ideas.

I love playing table-top games (especially Catan/Scrabble) and video games (mostly roguelikes). I also enjoy watching movies and series. My all-time favorite is Bojack Horseman.

What do I excel at?

So far, I've tried a lot of different programming languages and frameworks. I've also worked on a lot of different projects.

However, below you can find all the technologies I am most familiar with:

Started learning as a passion, now working as a C developer.

(for almost a year now!)

Language I'm most fluent in.

Have been using it for personal projects since 2018.

I've even created my own Python courses!

I've learnt Julia while working on metaheuristic algorithms for TSP.

Most of my university projects are written in Julia, since then!

Recently, I've picked up Scala as a alternative to Haskell.

Also, I've landed a new job as a Scala dev :)

My first professional work was related to Node.js backend servers.

I'd love to try it once again sometime in the future.

I'm highly proficient in using git as a version control system.

I've been using it since 2020, in personal and in professional projects.

I've started using docker during my JavaScript-related work.

I know the docker and docker-compose basics.

I'm using Linux mostly as my dev environment (WSL2 - Ubuntu distro).

Also, I'm pretty good at bash-scripting.

I've been managing a microservice application on AWS during a group project course.

I know a decent chunk about EC2 instances and DynamoDB.

I've created a DynamoDB database for my most recent group project (from scratch).

I've used DynamoDB's API to modify that database.

I've learnt about MySQL databases at uni.

I've created a simple app using MySQL database with my friend for our assignment project!

I've been managing a mongoDB database, when I was working as a Node.js dev in 2020.

Other notable skills

  • Broad knowledge about OOP design patterns.

  • Deep understanding of REST APIs and CRUD operations.

  • Proficiency in both relational (SQL) and non-relational (NoSQL) databases.

  • Advanced knolwedge about various data-patterns and algorithms.

  • Algorithmic-thinking, outstanding problem-solving skills.

Experience & Education

Work experience


Junior Software Engineer

July 2022 - ongoing

Full-time

TietoPoland Sp z o.o, Wrocław

Working with C code in teleco industry.

Developing a test framework in C and Python.

Giving Python lectures for several teams.


Intern Node.js developer

September 2020 - March 2021

Part-time

TMSolution Sp z o.o, Wrocław

Developing secure livestreaming backend for online concerts platform.

Creating websocket for ticket validation.

Creating RTMPS livestreaming server using FFmpeg.


Tutor

June 2020 - June 2022

Part-time

Home/online tutoring, Poland

Preparing polish high school students for Matura exams.

Subjects taught: Mathematics, English, Computer Science, Physics.

Education


Bachelor of Engineering

October 2020 - ongoing

Wrocław University of Science and Technology, Wrocław

Algorithmic Computer Science


High School Diploma

2017 - 2020

Academic High School at Wrocław University of Science and Technology, Wrocław

Personal projects

Most of my personal projects can be found on my github profile.

In the near future, I will clean up my github profile and add repos, which are sitting on my local machine for a while.

Below, you can find some of my projects, which I am proud of.

LaggyTrylma

Java, Maven, MonogDB, JUnit, Jackson, Mockito

Chinese checkers game with multiplayer support. Written in Java. The game also uses MongoDB database to store previous games.

Favorite code snippet:
  /**
   * Get instance of this server using 
   * double-checked locking method.
   * @return AbstractServer server's instance.
   */
  public static BaseGameServer getInstance() {
    BaseGameServer localRef = instance;
    if (localRef == null) {
      synchronized (BaseGameServer.class) {
        localRef = instance;
        if (localRef == null) {
          instance = localRef = new BaseGameServer();
        }
      }
    }
    return localRef;
  }
Github repository

CPU Usage Tracker

C, pthreads

Multithreaded C program, which tracks CPU cores' usage. Written purely in C with pthreads.

Favorite code snippet:
ProcStatWrapper* procstatwrapper_create(void)
{
  ProcStatWrapper* const stats = malloc(sizeof(*stats));

  if (stats == NULL)
    return NULL;

  *stats = (ProcStatWrapper){
                  .user = 0.0,
                  .nice = 0.0,
                  .system = 0.0,
                  .idle = 0.0,
                  .iowait = 0.0,
                  .irq = 0.0,
                  .softirq = 0.0,
                  .steal = 0.0,
                  .guest = 0.0,
                  .guest_nice = 0.0
                  };
  return stats;
}
Github repository

Metaheuristic Algorithms

Julia, Plots.jl, FLoops.jl

Implementation of various meta/heuristics for solving Travelling Salesman Problem. The codebase is split into 3 folders.

First part contains naive neighbourhood search algorithms: k-random, nearest neighbour, 2-opt. Second contains tabu search implementation. Last implements artificial bee colony algorithm.

Favorite code snippet:
mutable struct Bee #🐝
  #🌸 Current solution
  flower::Vector{Int} 
  #💼 No. moves to 🌸
  flower_visits::Int 
  #🍯 Objective function value
  nectar::Float64 
  #✈️ Move
  fly::Function 
  #💸 Accelerated distance
  wings::Function 
end
Github repository

My interests

Beside my personal interests, I'm really invested in my current studies. That's why I've developed a specific taste for certain math topics and computer science subjects.

I really enjoy playing with anything that's graph related. I've created several graph implementations in various languages (currently, only for my own use).

Another thing I'm really interested in is metaheuristics and their application in real life problems.

Recently I've started to learn more about compilers and context-free-grammars. I've been working on a LALR(1) parser generator for Julia, which I plan to turn into my bachelor's thesis!

Last but not least, I've enrolled in a student reserach group exploring reinforcement learning techniques and I'm planning on making several AI-related projects in Julia soon!

Contact me

You can find me on several social media platforms: LinkedIn, Discord (Flowyh#5091) and Twitter.

For any business inquires, please feel free to contact me: maciejbazela01@gmail.com