Dražen Hudoletnjak
Since 2006 I have been building and maintaining native Windows software in C/C++ and C#, software that has to keep running. Much of my work is finding out why it crashes, leaks or slows down, and fixing it so it stays fixed.
I have been developing Visual Assist for Whole Tomato Software since 2018.
Biangulum is my one-person software business in Bjelovar, Croatia. Working with Biangulum means working directly with me.
What I do
-
Windows software
Applications, services and components in C, C++ and C#, built on WinAPI, COM and .NET.
-
Debugging and performance
Crashes, memory and handle leaks, deadlocks and race conditions, and code that is too slow.
-
Developer tools
Extensions and tools that run inside Visual Studio. I know them from years of work on Visual Assist.
-
Architecture and code review
Designing new systems, reviewing existing ones, and planning how to modernize legacy code.
Experience
-
2018 – now
Whole Tomato Software
Independent contractor through Biangulum, remote
Visual Assist is a Visual Studio extension for C, C++ and C# developers, with more than 1.5 million installs on the Visual Studio Marketplace. It has its own C++ parser and adds navigation, refactoring, code generation and code inspections that keep working on large and legacy codebases, Unreal Engine projects included. We are a small team, and everyone works across the whole product.
- New features. Taking features from idea to release in a tool that C++ developers use all day.
- Bug fixes and testing. Reproducing and fixing bugs reported by users, and testing each release.
- Optimization. Keeping the product fast on very large codebases.
-
2014 – 2019
Envox Lab, Enghouse Interactive
Senior software engineer, Zagreb
Development and maintenance of Enghouse CCSP (Contact Center Service Provider), a multi-tenant cloud contact center platform that service providers use to run contact centers for their own customers. It is written mostly in C/C++ on Windows, with parts in C#. Enghouse has offices in several countries, so I worked closely with colleagues abroad.
- ELSBETH PowerContact integration. Integrating ELSBETH PowerContact, Enghouse's system for outbound call campaigns, into CCSP. I worked on the CCSP side of the integration.
- Distributed architecture. Components running as Windows services and COM servers across several servers, communicating over TCP/IP and UDP through WinAPI and through Windows messages, with SIP for telephony.
- Crashes and leaks. Tracking down crashes, memory leaks and handle leaks in multithreaded services that have to keep running for a long time.
- Optimization. Finding and fixing slow parts of the code.
-
2009 – 2014
Erste&Steiermärkische Bank
Architect programmer, Bjelovar
In-house development at one of Croatia's largest banks. I took solutions from start to finish: analyzing user requirements, designing the architecture, then building the software and maintaining it in production. Most of it was Windows services, web services and interfaces between the bank's systems in C#, database design and logic in Oracle PL/SQL, and C and C++ on IBM AIX.
- Migration from Unisys to IBM AIX. Moving the bank's systems from Unisys and its COBOL to COBOL and Oracle PL/SQL on AIX, and replacing Unisys's proprietary console screens with an ASP web interface. A bank-wide effort I was part of.
- User authorization system. Development and maintenance of the system every bank employee, including tellers across the branch network, uses to log in to the bank's systems.
- Cash sorting machines. Connecting several incompatible models of cash sorting machines to the bank's systems. Their RS-232 output reaches the network through Moxa device servers, and my program parses each model's text output and stores the results in the database.
- Fraud detection. Working with an external company that built fraud detection on Splunk. I analyzed and documented the bank's systems to define what should be monitored, so they could track it in the logs.
- System programs and utilities. Many smaller programs and tools that kept the bank running day to day.
-
2006 – 2009
Siemens, Biometrics Center
Software engineer, Zagreb
Biometric passport and border control software, built when European countries were introducing biometric passports. I wrote components in C++, C, VB6 and C#, and integrated cameras, fingerprint scanners and e-document readers. I was also release and delivery manager for the whole Biometrics Center in Zagreb and Graz, and built the installers for all its projects with InstallShield.
- Siemens Homeland Security Suite. ActiveX components for capturing faces and fingerprints, reading e-documents and normalizing biometric data to ISO and ICAO standards. Developer, user support, release manager.
- ePassport Switzerland. The pilot system for issuing Swiss biometric passports. Developer, user support.
- Siemens ID Center. Access control based on biometric data. Developer, tester.
- eDoc Switzerland. The system for capturing biometric data and issuing Swiss biometric passports. Developer.
- Siemens Border Control Platform. Control of border crossings, later also adapted for Kosovo. Developer, quality manager, release manager.
- eDocument Bulgaria. Biometric data capture, passport issuing and quality control of issued passports in one system. Developer, quality manager, configuration and release manager.
Contact
I work remotely with clients anywhere, in English or Croatian. Write to me about your project.
drazen@biangulum.com