Go Developer and IT Manager, former PHP and Angular Developer aspiring to become proper Software Engineer.
I'm looking for opportunities to widen my knowledge, experience and expertise in software development alongside with a steady source of income to pursue my dream of building apps for the future.
Feel free to contact me via email [email protected] or LinkedIn
- Open mind.
- Dedication to learn.
- 14+ years experience in Web App and API Development, Product Building and Team Leading.
- 12+ years with Agile, Kanban and Scrum (Professional Scrum Master I, 2012).
- 7+ years experience with Google Go: gRPC, REST, CLI tools, mobile, docker.
- 10+ years with databases: MySQL, PostgreSQL, Amazon DynamoDB, Memcached and MongoDB.
- 6+ years with testing, TDD, CI and CD.
- 1+ year with Elixir.
- 2+ years with AngularJS and Node.js.
- 6+ years with developing PHP apps (obsolete).
- Professional English with Polish accent, elementary Spanish, forgotten German, and non-existing French.
- A hobbyist photographer, biker, inline skater and swimmer.
Feel free to use below list to quickly check if I might have desired skills
AWS
Agile Methodologies
Agile Project Management
Agile
Amazon DynamoDB
Amazon Web Services
AngularJS
Ansible
Azure
Azure DevOps
Azure Event Hubs
Azure Pipelines
Backbone.js
Bash
CI/CD
Certified Scrum Master
Coaching
CoffeeScript
Continuous Delivery
Continuous Integration
DSLR
Docker
Echo Labstack
ElasticSearch
FCE
Fedora
Gin
Git
Github
Github Actions
Goland
Golang
Grafana
gRPC
HAProxy
IT Management
IntelliJ IDEA
PhpStorm
JavaScript
Jenkins
Jira
JSON
jQuery
kubernetes
Linux Mint
Linux
MacOS
Makefile
Memcached
Microsoft Teams
MongoDB
MySQL
Nagios
Node.js
OpenSUSE
PHPUnit
PHP
Photography
Project Management
REST
RabbitMQ
Revel
Rollerblading
RPM
Scrum
Software Development
SPEC
Splunk
Symfony
TDD
Team Management
Test Driven Development
Testify
TypeScript
Ubuntu
Unit Testing
Travis
Web Development
webpack
WebSockets
XML
Most of my work belongs to my employers.
There are however three exceptions:
- Kata 形 is my recent toy project to show of my skills in algorithms and idiomatic Go.
- osin-dynamodb is a Go library which implements the storage for OSIN with Amazon DynamoDB using aws-sdk-go. Developed at Uniplaces.
- ninja-mutex is a simple to use mutex implementation for php. It supports different adapters (flock, memcache, mysql, redis, ...) so you can set it up as you wish. All adapters (if set up properly) can be used in multiserver environment - in other words lock is shared between web servers. I've created it as a demo of my skills, a demo I could show on job interviews.
All those projects show some of my skills, coding standards and love for testing.
- steady income (to pay rent, read books and support my family and my hobbies)
- opportunity to learn new programming language
- opportunity to work and exchange knowledge with a team of specialists
- opportunity to share knowledge via blogs and talks
- experience in international product building and team leading
- experience with technologies you use
- opportunity to learn new language (e.g. French, Spanish, German, Mandarin or/and proper English)
- office space
- opportunities to travel
Do you think my skills could be useful for your company or clients? Can you offer me anything from the list above?
Great! Please contact me via email [email protected]
You might also try to check some of my online profiles:
- Github
- Stackoverflow
- Instagram (private, sorry)
If you are interested more in my previous adventures please feel free to scroll down for my full work history with referrals.
Developer at Derivco Sports
May 2020 - September 2021 (1 year 5 months), Barcelona, Spain
Certified with Microsoft Azure Fundamentals. Lead Developer of Double-entry Bookkeeping API in Go. Integrations with customers REST APIs. Replaced outdated and inefficient Elixir services with highly efficient and easy to change implementations in Go.
- Go with Echo router for REST APIs.
- PostgreSQL for storage and message queue.
- Microsoft Azure Event Hubs for real-time event processing with sharding.
- Microsoft Azure Pipelines, Ansible, RPM and Docker for CI and CD.
- Nagios, Grafana and Splunk for monitoring and logs.
- HAProxy for high availability load balancer.
My experience with Kamil was that of being with a Golang expert. He knew all the greedy details from the language and always had some optimization/refactor suggestions to make. This however, never distracted him from the goal of finishing his tasks on time. Basically speaking, he knew what to do and when - which I think is a great quality many developers I have met missed. He was also very team oriented, and generally speaking an easy person to be with - a developer capable of being in any team thanks to his social skills. I highly recommend him!
— Pedro Miguel Pereira Serrano Martins, Senior Elixir Programmer
Software Engineer at Percona
January 2017 - November 2018 (1 year 11 months), Remote
Developer of Percona Monitoring and Management - an open source database monitoring, observability and management tool. Works with MySQL, MongoDB, PostgreSQL, MariaDB, Amazon Aurora, Amazon RDS, ProxySQL and Percona XtraDB Cluster.
PMM has complex client-server architecture. Client scrapes prometheus exporters and collects additional metrics with pmm-agent. Server collects metrics for prometheus server and allows management with gRPC API.
Contributed to several open source repositories: prometheus/mysqld_exporter, percona/mysqld_exporter, postgres_exporter, mongodb_exporter, rds_exporter, pmm-client, pmm-server, qan-agent, kardianos-service, percona-toolkit, qan-api, qan-app, pmm-managed.
Kamil has a great mix of skills as backend, frontend developer as well as understands ops/devops pretty well.
Kamil was a great team player always helping his colleagues when asked.
Kamil has a great ability to find simple practical solutions to complicated problems.— Peter Zaitsev, Founder, CEO
Kamil is a Senior Backend Engineer, he did a major work in percona-agent and Percona backend layer.
Kamil showed a deep understand of how to design systems and make an implementation.— Vadim Tkachenko, CTO / Co-founder
Senior Software Developer at Uniplaces
January 2016 – December 2016 (1 year), Lisbon, Portugal
Developer of REST microservice for booking app.
- Gin Web Framework for simplified routing.
- Dependency Injection for simplified Unit Testing.
- Amazon DynamoDB for storage accessed with AWS SDK for Go.
- Tests written with testify and run by CircleCI
- Code coverage with Coveralls.
Developer of OAuth server for a password less authorization.
- Complies with RFC-6749 with support for "Resource Owner Password Credentials Grant".
- Utilizes OSIN OAuth2 library with osin-dynamodb for storing credentials in Amazon DynamoDB.
Developer of Go Mobile library for Android and iOS SDK.
- Common authorization and application layer for Android and iOS mobile apps.
I had the pleasure to work with Kamil at Uniplaces.
Soon, I was able to notice that he had a deep knowledge of the most relevant technologies that simply make things work as they should.
Kamil is a very proactive mate that can finish things nicely done within the deadlines agreed.
I believe he is a major addition in any company.— Joao Aguiar, Software Engineer
Kamil and I worked in the same team at Uniplaces. He started the very first project in Go at Uniplaces.
He is very organized, composed and enthusiastic person who will definitely motivate anyone to be a better programmer.
He is a very versatile technologist, always open to work with cutting edge technology.
He also mentored me and taught me a lot of the concepts of programming.
I wish him all the best and given an opportunity I would like to work with him again.
I highly recommend Kamil.— Ranveer Singh, Software Engineer
Go Developer at Percona
January 2014 – July 2015 (1 year 7 months), Remote
Developer of Percona Cloud Tools (a precursor of Percona Monitoring and Management).
- Revel web framework for simplified routing, parameter parsing and for crash-free request processing.
- Event based architecture with RabbitMQ for resource-consuming processing, scalability, non-blocking requests, high-load protection and to utilize sharding.
- WebSockets for real-time server-data analysis.
- Microservice architecture.
- Memcached as caching and backend for service discovery.
- Ubuntu Upstart for spawning and managing workers.
- Tests written with gocheck and run by Jenkins.
Developer of percona-agent, real-time client-side agent written in golang for Percona Cloud Tools.
- Collects MySQL metrics from:
- SHOW GLOBAL STATUS statement.
- The INFORMATION_SCHEMA TABLES table.
- Performance Schema database.
- The Slow Query Log (--log-output=file)
- Collects system metrics from pt-summary and /proc filesystem.
- EXPLAIN Statement in real-time thanks to Websockets.
- Tests written with gocheck and run by Jenkins.
Kamil showed expert level of Go lang knowledge, high quality of work and critical architecture mind.
Beside of that Kamil is 1) showing good skills on debugging problems 2) analytic mind with clear explanation of problem and ability to ask right questions and suggest right solutions on the base of answers 3) very attentive to users of the system and support engineers with helping them to solve problems.
Also Kamil is showing good discipline, very attentive to teammates and giving a hand for everyone who needs his expert view.
And in addition what is most important for manager's view to the team - nice and interesting person.— Nika Krupitskaya, Project Manager
Kamil is a very talented developer and a good friend.
He has a deep knowledge of Go and other programming languages as well
and that turns him in a good fit for almost any project you can imagine. Careful about details, always trying to reach 110% of test coverage and always willing to help, I've really enjoyed working with him. Kamil is not only talented programming computers, but he is also a very open-minded person; I've enjoyed his code reviews, and the discussions we had about technology and the best way of solving problems.
He is always trying to improve things and pushes others to do the same.— Carlos Salguero, Developer
Kamil is a great person, and he makes the everyday work easier.
He has great capacity for analysis, and he is always willing to help and learn new things.
His knowledge on backend dev is outstanding.
A definite asset on any company.— Martin Cespedes, Senior QA / Scrum Master
Kamil is a great developer and an excellent team-mate,
I felt very comfortable working with him as a great backend / frontend team.
He is an excellent professional with great knowledge.— Pablo Penén, Senior Frontend Developer
Kamil is a very detail-oriented developer with strong technical and analytic skills.
He was the cornerstone of our backend team, he built most of our code base with great speed and quality. He always kept the team focused on what's important leading the technical discussions in the right direction.
He's great to be around, a team player and more importantly an awesome person.— Miguel Paolino, Senior Software Developer
Kamil is an extremely talented developer, and I was very lucky to work with him.
He's a true hacker and brilliant class A programmer, his style is a pleasure to read.
He is friendly, outgoing and always has a moment to help address customer concerns.— Fabian Vallejos, Senior Frontend Developer
Just a great developer
and a great team member to work with.— Francisco Guijarro, Javascript Developer
PHP and UI Developer at Percona
September 2013 – December 2013 (4 months), Remote
Backend and frontend application for Percona Cloud Tools
Frontend:
- Single-page application written in AngularJS.
- Asynchronous requests and notifications through WebSockets.
- Metrics data graphed with Highcharts.
- Tests written in Jasmine and run by Karma.
Backend:
- REST api build with Symfony.
- Storage in Oracle MySQL and Percona TokuDB.
- Database access with Doctrine ORM.
- Long-time processing handled with Message queues and Background processes.
- Message queues implemented in RabbitMQ.
- Background processes written in Symfony and managed by Supervisor.
- Tests written using PHPUnit testing framework.
IT Manager at FarmaProm Polska
October 2011 – November 2013 (2 years 2 months), Kraków, Poland
Development of pharmaceutical platform www.FarmaProm.pl and new solutions to pharmaceutical companies.
- Professional Scrum Master certified on 29th May 2012.
- Introduced Agile Software Development into the company, with Scrum and Kanban frameworks.
- Increased employee satisfaction with training opportunities, wider flexibility, more transparency, improved communication, reducing bureaucracy and micromanagement.
- Greatly reduced risks and software delivery time by familiarizing IT specialist - developers, system administrators, testers - with continuous delivery and implementing the approach.
- Managing tasks and workflows in Redmine.
- Evaluating engineering cost for customers.
- Technical support for sales department in contact with clients (pharmaceuticals companies and wholesales).
- Emergency contact for any software problem e.g. app crashes.
- Interviewing and recruiting IT specialists.
I would like to say that Kamil is a Programming Jesus.
But it might be offensive. Offensive to Kamil.
Because he's not going to wait three days to resurrect your dead code.
If you have Kamil in your team it will be done unto you even before you ask.— Michał Górski, Big Data Developer
Team Lead and Senior PHP Developer at Araneo
December 2007 – October 2011 (3 years 11 months), Kraków, Poland
Team Lead and Senior PHP Developer for pharmaceutical platform www.FarmaProm.pl: Sales Force Automation, Medical & Pharmaceutical CRM, Manufacturer CRM, Wholesaler CRM.
Team Lead:
- Leading PHP team.
- Coordinating work between IT teams: PHP, Front-end, iOS, Android, Windows Mobile, System administrators, Quality assurance.
- Accepting, pricing and coordinating commissions from clients.
- Releasing and deploying new software versions.
- Designing key modifications (from changes in application engine to modifications operating on customers critical data e.g. wholesales financial data).
- Designing, managing and optimizing large databases (hundreds tables, tens of gigabytes of data, hundreds millions records).
PHP Developer:
- Developed REST and SOAP web services for Windows Mobile, iOS and Android.
- Established electronic data interchange with over 100 pharmaceutical companies and wholesalers. Data formats: XML+XSLT, CSV, XLS, TXT and JSON. Transmission protocols: FTP, FTPS, SFTP and HTTPS.
- Integration with Oracle Business Intelligence. Conversion from relational model to star schema.
- Debugging, testing, optimizing PHP, SQL and Javascript code.
- Propel ORM.
- Designed development workflow within SVN (later migrated to git and Gitflow / GitHub flow).
- Ensuring data consistency of business critical application components (e.g. protection against race conditions or data duplication).
Kamil is well skilled and very sane developer.
At the time he successfully kept restrained our biggest,
really huge project and made sure that his team does the job well.— Krzysztof Kowalik, Hacker, Software Developer
PHP Developer at Krakowskie e-Centrum Informatyczne
July 2007 – August 2007 (2 months), Kraków, Poland
Summer job and my first professional experience.
- Head Developer and designer of Issue tracking system.
- Developer and designer of Business Directory and Website Builder.
- Maintenance of company's CRM and other proprietary software.
- DSLR photography - whenever I have time.
- Travelling - google reports more than 20 countries, so I guess it's a start.
- Swimming - learned in Barcelona and Costa Brava, now in the wetsuit continuing on the French Riviera.
- Food - it's impossible to say "no" to all delicious regional delights.
- Books - to name few influential:
- Technology and programming - everything with microprocessor is as exciting as a birthday cake.
This resume is open source - feel free to fork it, make improvements and create a pull request at https://github.com/arvenil/arvenil