Michał Kowalczyk
Verified Expert in Engineering
Software Developer
Łódź, Poland
Toptal member since January 11, 2022
Michał is a software engineer that loves tackling unusual problems. He trades off code testability, time to market, portability, performance, readability, security, technical debt, and resource constraints. Michał focuses on preventing bugs and suggests improvements to the codebase. He worked for large technology companies on products used by millions of users. Michał is a team player open for discussion, strives to achieve project goals, and is willing to adapt to the client's reality.
Portfolio
Experience
- C++11 - 8 years
- Google Test - 8 years
- Google Mock (GMock) - 8 years
- C++ - 8 years
- Protocol Buffers - 7 years
- CMake - 5 years
- C - 4 years
- C++17 - 2 years
Availability
Preferred Environment
Linux, CMake, C++17, Sublime Text 3, Google Test, Google Mock (GMock), Slack
The most amazing...
...thing that I developed is the implementation of a DRAND algorithm that allows devices to negotiate time schedules for TDMA communication.
Work Experience
Consultant
Analytics Fire
- Created a VEN client for OpenADR, which allows for electricity cost optimization.
- Developed a network monitoring tool for a fleet of 65,000 devices.
- Enriched firmware update with signature verification that addressed a severe vulnerability.
- Optimized a PID controller to reduce the export of electricity from photovoltaic site to satisfy Hawaii Electricity Company requirements.
Senior Software Engineer
TomTom
- Co-created Polish Technical Committee for Programming Language, a Polish standardization body cooperating with ISO/IEC JTC 1/SC 22; made TomTom one of its members.
- Represented the company as a speaker at a few conferences, including code::dive, Mobilization, DevDays, and local meetup C/Embedded/Hardware User Group.
- Led technical interviews with candidates for software engineers.
- Mentored less experienced colleagues in attaining seniority in software engineering.
Senior Software Engineer
EPAM Systems
- Represented the company as a speaker at the conference 4Developers.
- Introduced unit testing to the legacy C++ project.
- Maintained legacy code and solved bugs and race conditions.
Software Engineer
Nokia
- Increased transparency for test coverage by combining results on all automatic test levels.
- Conducted technical interviews with candidates for software engineers.
- Provided C++11 training to interns on their one-month Nokia bootcamp.
- Shared the role of a software engineer with a scrum master.
- Profiled software performance and fixed performance bottlenecks.
Software Engineer
Samsung
- Created an Eclipse plugin for fixing performance bottlenecks in JavaScript applications automatically.
- Profiled performance of JavaScript Tizen applications and fixed performance bottlenecks.
- Presented team efforts in Samsung headquarter, Suwon, South Korea.
Software Developer
Freelance
- Created contents of CD included in the textbook of the German language with Flash and ActionScript.
- Created video conferences extension for e-learning platform with Flash, ActionScript, and Red5.
- Created Veracruz – students examination application for Microsoft with Flash, ActionScript, and XML.
Experience
TomTom GO Navigation
https://play.google.com/store/apps/details?id=com.tomtom.gplay.navappEducation
Master's Degree (M2) in Informatics
The Henri Poincaré University - Nancy, France
Master's Degree in Computer Science
University of Lodz, Faculty of Mathematics and Computer Science - Łódź, Poland
Bachelor of Computer Science in Computer Science
University of Lodz, Faculty of Mathematics and Computer Science - Łódź, Poland
Skills
Libraries/APIs
REST APIs, ZeroMQ, Jenkins Pipeline, SignXML, OpenSSL, SAX, SWT, FFmpeg, OpenGL, Android OpenGL, OpenCV
Tools
CMake, Sublime Text 3, Jenkins, Make, GitHub, Slack, Blender, NS-3, Digi XBee, DBus, Docker Compose, iPerf3, cURL Command Line Tool, Jira, Confluence, Bitbucket, SWIG, Subversion (SVN), IBM Rational Rhapsody, Android NDK, Flash, Xcode, Makefile, GNU Debugger (GDB), Valgrind
Languages
C++17, C, C++, C++11, HTML5, HTML, Embedded C++, Java, Bash, Python 3, Python, JavaScript, Embedded C, Ada, C#, Prolog, XML, Objective-C, Swift, Kotlin, CSS, PHP, ActionScript 3, ActionScript 2, Flash ActionScript
Frameworks
Google Test, Google Mock (GMock), Boost, Mockito, Swing, Jinja, JNI, Android SDK, Red5 Media Server, Qt, Qt 5
Paradigms
Test-driven Development (TDD), Design Patterns, Object-oriented Programming (OOP), Unit Testing, REST, Microservices
Storage
SQLite, Amazon DynamoDB, MySQL
Platforms
Linux, Android, Docker, AWS Lambda, Ubuntu, iOS, Tizen, Joomla, Raspberry Pi, Embedded Linux, Amazon Web Services (AWS), MacOS
Other
Protocol Buffers, Image Processing, Algorithms, Data Structures, Neural Networks, Algebra, Statistics, Gimp, Combinatorics, Calculus, Mathematical Analysis, Operating Systems, Ontologies, Parsers, Numerical Methods, Zigbee, Open Automated Demand Response (OpenADR), Xerces-C, GitHub Actions, PID Controllers, Objective-C++, CORBA, The ACE ORB (TAO), RapidXml, Containers, Distributed Systems, Back-end, Red5, Front-end, Shaders, Embedded Systems, APIs, Embedded Software, Networking, Cryptography, Encryption, ARM, Video Manipulation
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring