Arkadiusz Gabryś (Arek) - software developer

Contact and links: arkadiuszgabrys@gmail.com arek.gabr.pl github.com/gabr www.linkedin.com/in/arkadiusz-gabrys
Experience details (10+ years)
IMOBIT (7 years and 2 months) Nov 2013 - Dec 2020
Small company which resulted in me being responsible for entire process of software creation from discussions with clients, proposing solutions, designing applications and databases, implementation, testing, putting that into the production and later support with maintenance.
For almost the entire 7 years I worked remotely, visiting the office only occasionally. I also traveled to clients and our electronics engineer. I was also sent abroad a few times. When we started hiring more new employees, I was responsible for their training, introduction to the projects and verifying their work.
Projects:
- 1 month - Android tablet application (Java)
- Bluetooth communication with external device
- support for a proprietary communication protocol with the above-mentioned device
- order processing system and live chat
- application replaces system's launcher and blocks access to regular table functions
- 4 years - Locus
& SCADA
- localization and data collection (C#, MVC 4 WebApp, MSSQL)
- Windows Service working 24h year round
- high throughput service for collecting, processing and archiving data
- multithreading to handle multitude connected devices at once within given time budget
- real-time system showcasing data on a map in web application
- MSSQL database communication with Entity Framework and LINQ to SQL
- complex graph algorithm to calculate objects position on a map
- Inno Setup installer scripted with Pascal
- 4 years - Mesbit
- production line software (C#, WinForms, MSSQL)
- desktop application for touch screens at the production line workstations
- .NET 4.7 on Windows
- multithreading applications
- MSSQL database communication with Entity Framework and LINQ to SQL
- network communication via TCP/IP with production line machines with custom implementation of different communication protocols
- named pipes communication between local programs
- 24h systems working year round, in many different configurations depending on production line workstation type
- efficient generation and storage of logs
- conveyor belt software
- reverse engineering to understand the operation of external systems or machine communication protocols
- Windows Mobile 6.5.3 application for handheld scanners
- custom middleware messaging services like Rabbit MQ/SignalR
- Linux (bash) and Windows (PowerShell) servers administration
- automation with PowerShell:
- tests and administrative tasks automation
- TCP/IP communication simulations
- MSSQL operations and generation of SQL scripts
- parsing and analyzing logs
- 3 months - PHP portal
- new feature for the old PHP portal
- tests and implementation of new functionality
- 2 years - e-commerce website (C#, ASP.NET Core Razor Pages, HTML, JavaScript, CSS)
- written from scratch for business customers
- around 200 business users
- creation and preview of orders
- PDF invoice generation
- users management
- MSSQL database communication with Entity Framework
- Inno Setup installer scripted with Pascal
- 2 years - IMU/AHRS
- human movement data collection (XAML, C#, UWP)
- Universal Windows Platform application with Xamarin.Forms and Prism framework
- human movement data collection with live visualization
- proprietary communication protocol to achieve high performance and data throughput
- real-time 3D visualization of user movements and graphs of individual sensors
- Others:
- estimating the time needed to complete entire large projects - from zero to installation on site
- design and documentation::
- UML diagrams - class and activity diagrams (Umlet)
- technical and user facing documentation
- communication protocol design, database design and application code architecture design from the ground up
- lectures for new hires:
Asynchronous code execution in .NET with introduction to TPL
Synchronization methods in .NET
Introduction to Linux
- representing the company on business trips
- taking over projects from other companies
- working directly with clients
The cooperation ended by mutual consent when I wanted to try working in a team and a larger company. Before leaving, I closed all the open topics and finished one more project to MVP level for a foreign client.
Configit (3 years) Jan 2021 - Dec 2023
A medium-sized company located in Denmark where I was no longer an independent programmer but a member of a multi-person Agile team. Work performed remotely with occasional visits (once or twice a year) to the offices in Warsaw and Copenhagen.
- 1.5 year - Ace
- web application (C#, ASP.NET Core, HTML, React, TypeScript, CSS)
- first public REST API in the project
- introduction of the OpenAPI standard for public APIs
- introduction of automated integration tests
- further development and support of the application web interface and it's backend
- 4 moths - VT - fixes (C#)
- improvements to the implementation of the core technology on which all products were based
- performance-oriented programming, allocation- and memory size-sensitive code
- 2 years - Bill Of Materials - (C#, ASP.NET Core, REST API)
- exposing internal system functionalities in a public REST API with the OpenAPI standard
- implementing new functionalities related to BOM (Bill Of Materials) support
- integration test system
- using Backus-Naur BNF notation to create a new syntax for new elements of the bespoke language
- writing parsers and documentation for the bespoke language
- 1 year - Development Experience team member (CI/CD GitHub, PowerShell, C# CAKE)
- additional role in a separate team responsible for facilitating developers' work
- creating CI/CD scripts in GitHub repositories using YAML, PowerShell, and C# CAKE
- creating a reporting system showing the test coverage of committed code
- 1 year - Scrum Mastera role
- in addition to the programmer role
- scheduling, organizing and managing daily meetings and retrospectives
- sprint planning organization
The cooperation ended at the end of the contract. The company was aware that I will not extend the contract and managed to find a replacement. I did not plan to extend the contract from the very beginning, because I had plans for my own projects for early 2024.
Outside of work (17 years) since 2007 to present
I have been programming since I was 15 and my first language was C++, which I used throughout my education, until I graduated. I used it to build WinAPI applications and solve all the algorithmic tasks at the university. During my stay at the university in Germany, a StarCraft simulator and a visualization of the planetary system in OpenGL were created. Python was also not without its use there. I wrote my engineering thesis on neural networks in C++.
Although I mainly used managed memory technologies professionally, my interest always went towards the lower level. I learned assembler, wrote a decoder and simulator of 8086 CPU instructions using the Zig language, and since graduating from university a good 8 years ago, I replaced C++ with the C language.
My interest in programming made me try many different technologies (GO, Rust, Common Lisp, Flutter, Dart). When I lived in Zielona Góra (Green Mountain) for a while, I attended developer meetups (meetup dev@zg), where I presented and helped organize them. This led to the organization of the first developer conference in that area: greenfieldconf.pl.
I currently live in Katowice, ocassionaly go on a hike and try to break 150 words per minute in touch typing.
Last update: 01.10.2024