Artur Klimek Avatar


Hi, my name is Artur
and I'm a Software Developer

Welcome to my website.
Here you will find some information about me, my experience, hobbies, and contact details.

What can I do?

I specialize in software development.

I can become a part of your project that will have a chance to change the world :)

Mobile applications

I graduated in Computer Science with a specialization in mobile applications, where I learned to create software for mobile devices - for example, in Android Studio.

Operating systems management

At school, I got acquainted with the Windows system and its operation.
In my day-to-day job, I work on Linux.
As a result, I am familiar with both environments and am ready to work with these systems, managing them.

Developing applications in Python and Java

I have been interested in Java for a long time, learning this language and using it in private projects.
With Python, I started creating software for the first time at work and in school.
It is my primary programming language that I use in my job.
Man at the computer image

About Me


I completed Technical Secondary School with a focus on information technology and, after passing professional exams, received the title of IT Technician.

I am a graduate of Computer Science at the University of Łódź - I have obtained an Engineer's degree.
Since 2020, I have been working at Sternkraft, a startup involved in advanced, intelligent monitoring in transportation based on image analysis (Computer Vision).

My passion broadly encompasses computer science. I am also interested in cars/automotive and car audio. In recent years, I have delved into the topic of 3D printing. More about my interests can be found in the "Hobbies" section.

I started my professional path in high school with small jobs, summer jobs - working in a warehouse, production work, and the like.
In the past, I was also involved in Polish scouting (ZHP).
My biggest flaw is my poor command of the English language.
I have a critical approach, but I wouldn't call it a flaw - my perspective has often proved helpful and allowed me to spot errors and improvement opportunities that others missed. This helped eliminate mistakes before they reached the client or production.
I have been called a perfectionist to the extent that I was once advised to do something at my 80% instead of 100% - this way, I'd save time, and the task would still be done just as well.
I am always eager to learn, which means I ask a lot of questions :)
The most important things for me are the opportunity for personal development and compensation, even at the cost of overtime, which I don't shy away from when needed.

Education

1

Technical Secondary School

2015.09 - 2019.05

"Zespół Szkół Nr 2 w Pabianicach
im. prof. J. Groszkowskiego"
("Technik Informatyk")
2

University of Lodz
(WFIS)

2020.10 - 2024-03

("Informatyka Stosowana")

Experience

In my current job at Sternkraft, I have gained a lot of experience and learned how to work in my profession. I met many people from whom I could learn. It is a small company/startup, where I performed tasks from various fields.

1

Alfaline Sp. z o.o., Dąbrowskiego 93, 93-202 Łódź

2017.07 - 2017.08
Apprentice
2

Alfaline Sp. z o.o., Dąbrowskiego 93, 93-202 Łódź

2018.05 - 2018.06
Apprentice
3

Dell Products Poland Sp. z o.o

2018.07 - 2018.08
Production
4

Alfaline Sp. z o.o., Dąbrowskiego 93, 93-202 Łódź

2019.05 - 2019.06
Apprentice
5

Dell Products Poland Sp. z o.o.

2019.08 - 2019.09
Warehouseman
6

Sternkraft Polska Sp. z o.o.

2020.03 - 2023.03
Technical Support

2023.03 - currently
Junior Software Developer

I started my work at Sternkraft with production tasks and installations of devices in the field.
For a long time, I collaborated with and learned from an electronics engineer and a programmer.
Later, I began to receive tasks related to device management and programming.
Working at Sternkraft taught me a lot and prepared me for the job market.
While working with electronic devices produced by our company, I learned to use many tools, including a multimeter and basic oscilloscope operation, among others.
In the office, I sometimes prepared devices for employees (Windows and Linux computers + Android phones).

I worked on Hardware, developing solutions for problems (for example, here I learned how important the thermal aspect/temperature is for devices).
In the next phase of my journey at Sternkraft, I dealt with device service, software uploading, configuration, monitoring of devices, and diagnosing problems.
While diagnosing problems, I took my first steps in programming.
Most of the software on our devices was written in Python, making this language more familiar to me.

As someone well-versed in hardware and software, I participated in reviewing tender offers and preparing technical documentation and other necessary documents.

At work, I created several Python scripts, some of which automated device configuration - facilitating work, while others were part of the key software for devices.
I also dealt with the repair and development of existing software.
At work, I became acquainted with the version control system (GitLab).

In my private time, I began writing a Python window application that was part of a university project and was also intended to help operate our devices from a graphical interface.
The idea for the application stemmed from the fact that some employees had trouble operating in the Linux system without a graphical interface - using console commands.

I learned the 'scrum' working method and the use of a 'kanban' board.
I was also introduced to Atlassian tools - Jira, where projects and tasks were managed, and Confluence, where documentation was maintained.

At one stage, I was responsible for creating key 'services' operating on Unix-type devices based on Nvidia Jetson units - including GPS, GSM via PPP, and many others.
I also had the opportunity to create APIs for data exchange between the device and the CV algorithms operating on the devices with other external clients.
I also became familiar with some Google Cloud services.

As you can see, the range of tasks and responsibilities I performed during my work at Sternkraft shows that I am not afraid of work, and I have basic knowledge and experience from many fields, making me a flexible, complete employee.
I value the knowledge acquired in software combined with knowledge about hardware. I believe that everyone should also learn the basics of hardware at some stage - it develops the way of thinking, understanding of operation and limitations, which increases attention in software development to aspects related to resource use and optimization.
Working in a startup was truly an unforgettable and thrilling experience, a time in which I really learned a lot.

Skills

I have been familiar with computers since my childhood.
I assembled my first computer (selecting the components) by myself many years ago.
Friends consider me a go-to person for computer/hardware problems.
I have also independently repaired phones and tablets.
My skills in handling and assembling computers and peripheral devices are certified by my first professional exam for IT Technician, E12.

While I was still in technical secondary school, I had the opportunity to build and configure WWW pages and FTP servers on both Windows Server and Linux operating systems.
I also took care of purchasing, configuring, and launching the currently displayed website, which I have been fully managing from the beginning.

While still in technical secondary school, I was already able to create, configure, and manage roles on a Windows server.
In my job, I also had the opportunity to personalize, configure users and roles on the company's employee computers (Windows 10).

I am capable of calculating network addresses for both IPv4 and IPv6, including those with a variable, non-standard subnet mask.
I understand the principles of addressing devices and communication (this was a useful skill during my work at Sternkraft).
In my university studies, I also participated in courses related to computer networks.
Additionally, I hold a CISCO certificate.
My knowledge in the field of computer networks is confirmed by the second professional exam for IT Technician - E13.

Both in school and at work, I had the opportunity to create a small internal network, along with documentation of the network topology.
I also managed a small network within the company.

In technical school and university, I had experience with tools for creating simple websites.
At work, I modified the admin panel on our devices (frontend).
The currently displayed website (aklimek.pl) was also designed, created, and modified by me.

In technical school, I learned to create databases from scratch and perform their initial configuration.
I also learned how to write database queries.
At university, we learned to run databases in Docker containers.
The databases I have worked with include InfluxDB, MySQL, PostgreSQL, Oracle DB, and MongoDB.
At university, I also explored the topic of distributed databases based on PostgreSQL and Apache Cassandra.
My knowledge of database-related issues is confirmed by the third and final professional exam - E14.

The electric meter has become a basic tool for me.
I used it at work and at home.
I used an oscilloscope only a few times at work and at the university.

I learned Linux and Windows console commands back in technical high school.
I used the Windows console less, but I also know the basics.
During my work at Sternkraft, I used the Linux console every day, as the devices I worked on did not have a graphical interface and were based on this operating system.
I know the basic Linux console commands and can navigate through this system.

In college I am in the specialization of Mobile Applications.
During my studies I learned mobile application development techniques.
I worked in the Android Studio environment and it was in this environment that I created my first mobile applications. 

Python is the language I primarily use and am learning.
I have already created my first simple applications in this language, including a windowed application using PyQt5.
I am able to implement logging.
I have also used basic libraries, such as json and os.
At work, I used, created, and modified programs in this language.
I also performed simple software tests.
I am familiar with the basics of this language.

I have been interested in Java since my childhood, creating my first simple scripts and plugins for a server of a certain game in my youth.
Later, during my university studies, I had several classes in this language and created my first, larger applications.
I completed a Java course - zajavka.
I wrote simple applications in Java for PC and mobile, created a simple application using websockets, and an application based on REST API using Spring.


At work, in practice, I learned to work with the version control system.
I created and modified software with division into DEV and PROD environments; new functionalities were developed on separate branches, which, after verification (revision), were merged with the main branch.
I know the basic operation of GIT.

At work, I learned how to operate in Jira.
I worked using the scrum methodology and also used a kanban board.
I am familiar with the basic principles of working with these tools and in these project frameworks.

I admit, English is not my strong suit.
I find speaking the most challenging.
I can understand more than I can express myself.
Fortunately, we live in times where helpful tools are readily available, and I manage textual (written) communication, tasks, and documentation using these resources.

It is my native language which I use daily in speech as well as in writing.

Other tools and skills I have experience with:
- pandas
- HTML / CSS / Bootstrap / JavaScript | MERN
- Docker
- postman
- MS Office / Google tools (similar to those in the Office suite)
- VSC / PyCharm / Intellij Idea
- Google Cloud

My projects

FX2 device manager

Python


A graphical interface application for checking parameters and managing devices.
Due to the content included in the application, I cannot share it, but if interested, I can provide more details about it.

  • PyQt5
  • Logging
  • Flask
Autoseller for Diablo 4

Python


While playing the new installment of Diablo, I encountered a persistent problem of checking the stats of each item before selling or destroying it. My solution to this problem is to create an application that will activate its main functionality after pressing a predetermined button, then the application will capture a screenshot from the game window. Upon receiving the correct screenshot, the application will locate key interface elements using pattern matching methods. After accurately locating the elements, the application will manage the mouse and keyboard, capturing subsequent screenshots of items in the inventory and analyzing their descriptions. Based on the received item descriptions and loaded configuration, the application will perform actions to destroy/sell the item or leave it as is.
The work on the application is ongoing.
Currently, the application correctly recognizes patterns of the open inventory, the displayed item description area, and others.
The next stage involves using OCR (Tesseract) to extract textual descriptions from the image, followed by creating a website using Django, launching a database on an external server, and ensuring communication with the desktop application via an API.
The idea is for the user to create an account on the website and manage the application settings from there.

  • Logging
  • OpenCV
  • json
  • API - ??
Auto-bot for MC

Python


Weekend Project - created within a week during free moments.
The application was developed for a group of friends to automate (simulate player behavior) certain actions in the game Minecraft on one of the public servers. Two main implemented features are 'automine' and 'autofarm', performing specific activity patterns. For certain functionalities, various methods of pattern recognition, image slice analysis (pixel matching), sending messages in the game chat, and handling configuration from a file were implemented.
The application includes a 'logger' which significantly facilitates debugging.
Ideas for development: Adding recognition of the player's health points, reading and analyzing chat messages, reading coordinates from the image (using OCR), and implementing specific actions based on them, adding 'interruptions' in case key patterns are not found.

  • keyboard / PyAutoGUI / PyGetWindow / mss
  • OpenCV
  • PyYAML
  • Logging
Smart-Green

Python


Garden Management System based on hardware comprising Raspberry Pi + Arduino + various sensors and an LCD display.
The project involves creating a system that automatically manages components such as pumps, ventilation, additional lighting, all based on real-time data from sensors, where appropriate actions are triggered based on a set configuration.
The project plans, in subsequent phases, to create a server application, use tools like OpenVPN and Grafana (+Influx), and develop a mobile/web application for user management of the 'garden system'.
The project encompasses full implementation, starting from the selection and design of hardware, designing and manufacturing the casing (3D printing + processing), through data collection and analysis, to determining the logic of operation and developing all the required software.
The initial version of the system foresees support for one type of sensor and control based on one specific switch - for future development, adding support for multiple sensors, switches, and managing dependencies between them is planned.
This is a project that was created in its basic version as part of an engineering thesis.

  • python + different libraries
  • Linux (Ubuntu)

Courses

  • Administration of computer networks
    2017.01 - 2017.06
  • English course, intermediate level
    2015.09 - 2016.06
  • 107 courses on the IT-School portal, including 46 parts of Information Technology
    2015.09 - 2019.09
    (Algorithmics and programming, Databases, Security of information systems Information technology, Multimedia, graphics and Internet technologies, Computer networks Computing, Trends in the development of computer science)
  • zajavka.pl
    2021-2022
    Large Bootcamp about java
    The course contained 60 parts - a total of more than 80 hours of video content!
  • "Python 3 od podstaw"
    Python language basics
  • pycamp.pl + pywww.pl
    Not completed yet

Certificates

  • E.12 Installation and operation of personal computers and peripherals
    2017.08
  • CCNA Routing and Switching: Introduction to Networks (Cisco Networking Academy®)
    2017.05
  • E.13 Local area network design and network administration
    2018.05
  • E.14 Creating of web and database applications and administration of databases
    2019.06
  • Certificate of zajavka.pl bootcamp
    2022

Hobbies

Programming

From a young age, I was interested in issues related to computer science, computers, and programming itself.
This is confirmed by my educational and career path.
When I was young and playing Minecraft, I was intrigued by how the game's world was built and how it could be expanded by creating custom servers.
It was then that I became interested in Java, a passion that remains with me to this day, although I have not had the opportunity to use it professionally.
I took my first steps in programming by configuring plugins for the previously mentioned Minecraft servers and then creating simple scripts and server packs. For several years, I was even part of the administration of one of the larger Polish servers in this game.
This interest led me to study in a technical high school with an IT profile and then to work in this profession.
Currently, I am developing in Python, but I often return to Java.
My heart says Java, but my mind says Python.

Automotive

Motoring has interested me since childhood.
As a little boy, I spent time with my grandfather in the garage, where he repaired cars.
It was in that garage that I learned my manual skills.
Dirt and tools never scared me.
I'll never forget how simple activities, like sanding, brought me joy. A smile always appeared when grandpa gave me a task to do.

I have always been very fond of American cars.
Simple designs and large engine capacities are what I love.
My dream is to own an American car with a V8 engine.
The sound of these engines is amazing.

Currently, I own a Mercedes CLK W209 V6, which I care for like nothing else and in which I make various modifications.
I would be happy to talk more about them and show what I have created and how the work progressed.

Gallery coming soon :)

Car Audio

I've been interested in car audio since I bought my first car.

After purchasing my second car, I compiled and installed a car audio set myself.
Every time I see or hear a well-composed car sound system, it makes me smile.

I have recently changed cars, but planning a new car audio setup is in the works.

If you're also interested in this topic, write to me!!!
I'd love to talk about it :D

Druk 3D

For some time now, I have been deeply interested in 3D printing.
Initially, I started my adventure with a popular FDM (FFF) 3D printer, which uses filament for printing.
During the time I used my first printer, I printed a large number of different items, both more practical and less so (simple decorations).

I mainly printed with materials like PLA, PETG, and ASA.
While experimenting with 3D printing, I learned the basics of Fusion360.
I designed, printed (ASA), and finished a component that serves as a frame for a car halogen light.
Another interesting print that I still use today is a moon-shaped night lamp.

Some time later, after my experience with filament printing, I became interested in resin printing technology - now I own a high-resolution printer, and the figurines I create with it turn out incredibly!

If you have questions, send me an email, the contact is at the bottom of the page!

Gallery coming soon :)

My Contacts

My Social Media

I agree to the processing of personal data provided in this document for realising the recruitment process pursuant to the Personal Data Protection Act of 10 May 2018 (Journal of Laws 2018, item 1000) and in agreement with Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data, and repealing Directive 95/46/EC (General Data Protection Regulation).