Career path
I've asked ChatGPT 4.0 Turbo to write a feature piece on me. Here is what it came up with. In the second half of the article you can read my prompt, the questions to me and my full answer.
Adam Balazs: A Tech Visionary's Journey from Childhood Curiosity to Director of Technology
Introduction
Born in 1986 into a world burgeoning with technological advancements, Adam Balazs was destined to leave a significant mark in the field of technology. Influenced by his mother, a pioneering figure in the IT department of a hospital and later an accounting company, Adam's early exposure to computers played a crucial role in shaping his future.
Early Beginnings
Adam's journey in technology began with a Commodore64 at the tender age of four. His mother taught him the basic commands, igniting a lifelong passion for computers and mathematics. From playing simple games to delving into the complexities of programming in BASIC, Adam's childhood was marked by a deep fascination with the logical and structured world of technology.
Academic Excellence and Competitive Spirit
Excelling in mathematics and IT, Adam's academic journey was distinguished by participation in math competitions and significant success in software development competitions, such as the ACM. His role as the architect in a winning team laid the foundation for his future career path.
Early Career Challenges
Adam's entry into the professional world was spurred by a family crisis. As a response to his mother's financial difficulties, he started working as a PHP developer intern and quickly transitioned to a junior Java developer. Juggling work, university, and leadership in a student IT union, Adam's early career was a testament to his resilience and adaptability.
The American Dream
After years of professional growth and recognizing the limitations of his situation in Hungary, Adam sought opportunities that matched his ambition and skill. This pursuit led him to the United States, where he continued to excel in the tech industry, eventually becoming a Director of Technology.
Conquering Professional Challenges
Throughout his career, Adam faced and overcame numerous challenges. From reengineering complex software components to leading major integrations during company mergers, his technical acumen and leadership skills were consistently proven. His contributions were pivotal in transforming business operations and technology architecture, notably during the challenging integration of two major market research firms.
Personal Transformation and Future Aspirations
Parallel to his professional achievements, Adam embarked on a personal journey towards health and longevity. His dedication to fitness and nutrition, driven by a desire for a healthier life, illustrates his commitment to personal growth and well-being. Adam also ventured into entrepreneurship with BioGenesis Trials, aiming to revolutionize clinical trials - a testament to his enduring passion for technology and its potential to enhance human life.
Conclusion
Adam Balazs's story is one of relentless passion, exceptional talent, and a deep-seated desire to push the boundaries of technology and human potential. From a curious child fascinated by a Commodore64 to a visionary leader in technology, his journey is an inspiring tale of perseverance, innovation, and the relentless pursuit of excellence.
Prompt
You are a world class copywriter. Interview me for a feature piece and then write the feature when you think you have enough information. To give you my background, i was born in 1986, spent most of my childhood in front of computers, started working during college, graduated with a masters in CS and Mathematics in 2014, moved to the US in 2015, currently a Director of Technology.
You can find my linkedin profile here for kore information:
https://www.linkedin.com/in/adam-balazs?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app
ChatGPT
Great, let's start with the interview! I'll ask a series of questions to better understand your journey and achievements. Feel free to elaborate as much as you'd like on each question.
Early Interests: What drew you to computers during your childhood? Were there any specific experiences or influences that sparked your interest in technology?
Career Path: You started working during college. Can you tell me more about your early professional experiences? What kind of roles or projects did you undertake?
Academic Achievements: What motivated you to pursue a Masters in Computer Science and Mathematics? Were there specific areas within these fields that particularly interested you?
Moving to the US: What prompted your move to the US in 2015? How did this transition impact your personal and professional life?
Director of Technology Role: Can you describe your current role as a Director of Technology? What are your key responsibilities and what aspects of your job do you find most rewarding?
Challenges and Successes: Throughout your career, what have been some of the biggest challenges you've faced, and how did you overcome them? Also, could you share a few accomplishments you're particularly proud of?
Future Aspirations: Looking ahead, what are your professional goals or aspirations? How do you see your career evolving in the next few years?
Personal Insights: Outside of work, what are your hobbies or interests? How do these activities influence or reflect your professional life?
Feel free to add any other details or stories you think are important for the feature piece. After you respond, I'll compile the information into a feature article.
My story
1) My mom was a CS major as well. Even though she never finished university, she had an eye for technology in the 90s. She worked at a hospitals IT department and later started her own accounting company, supported by software. That gave her an edge over other accountants still using pen-and-paper. It also gave me an early exposure to computers. One of my earliest memories is playing with a Commodore64 when was about 4. My mom thought me the command (the order of symbols on the keyboard that had to be pressed basically) to start the game on C64. We had this book about BASIC which is a programming language and C64 can run that program. I remember "writing" my first software before I even knew how to write. just by copying the symbols from the book to the terminal. It was magical to be able to have such a control over something. So I got hooked. Over the years, I always been close to a computer. After C64, we had a x286, x386, x486, Pentium I, II, III. Good old days. I also liked math a lot and so I was in math and IT specific classes in elemental and high school as well. I went to math competitions and usually ended up in the top 10%. Then I got into college and we started to go to software developer competition called ACM with two of my friends who I was attending school since I was 11. We won the university level round all 4 years when we attended, and won the Hungary level round once. Managed to get into the Middle-European round in Wroclaw, Poland and ended as the 53rd team in Mid-Europe, which I was always really proud of. I loved our team dynamic: I was the architect, I spent most of my time understanding the problem, finding patterns in it and coming up with an algorithm to solve it. Albert was our chief coder. His ability to write flawless code is subpar. Laszlo was our QA engineer who always tried to find the edge cases before it came out from a submission, so we can be ahead of time. Its interesting that it nicely aligns with the job profiles each of us had in the past 10 years. Me as a principal engineer/architect, Albert as a developer, Laszlo as a QA engineer.
I also just love math and logic. I love its purity. There is no argument, there is no "I feel like 1+1 = 3". I also love how nicely it shows you the hierarchical nature of knowledge. 1+1=2 is ground through and you can just build facts and definitions out of that. And if you go far and long enough, you get hyper-detailed, fine grained, very specialized knowledge, like quantum mechanics. And with that you manage to describe the whole word, just with math and logic. Its beautiful! And then once you can describe something with math and logic, you can automate it with technology and now, you are really a god. You control the universe, you bend and mold a virtual reality just by typing characters.
2) My parents got divorced when I was 15. My mom was the main provider before that as well, because she was more of an entrepreneurial person, while my dad was a truck mechanic. One is high-risk-high-reward, the other is steady work, steady pay. Anyhow, once they got divorced, my mom became the sole provider. Then a year later, when she was working as a CEO for a metallurgy company, she got scammed by the owners as she signed a contract to take responsibility for a huge loan for the company and soon later the owners siphoned the funds and announced the company bankrupt.
The loan became my mom's problem and she also lost her job. She started to work at a bank and built out a mobile-banker department as a contractor under my sister's name, so her income wouldn't be taken by the loaner. It paid for the bills and she made good money there, until the VP of the bank had enough that she made more money than he did and fired her. And it all started to go downhill from there. I was in college by this time and my sister moved out around this time as well to start her own life and detach from this whole situation. So the next step was to actually got some extra income into the household, so I started to work at a local dev shop as a PHP developer intern. We were working on a CRM system for SMBs. Then I got hired by company in the next town as a junior Java developer, where I worked by the hour remotely throughout the week and went into the office every Friday, which worked out well because I didn't had any classes during Fridays. In the university I was also a member and later the leader of an IT student union, called ONIK. We organized a lot of geek events, like LAN parties and DND gatherings, co-organized parties with other faculties with more girls, like the business school and med school, started a paintball tournament between IT faculties in the country's universities sponsored by big IT companies in the country and also organized a lot of meetups with organizations with local IT presence, so students can get introductions to companies and companies can get early exposures to future developer pool. So this took some time away from me as well, which meant that I was a student by day time, a student union member/leader between classes and a software developer on Fridays, weekend nights and weekends. Put this together with all the parties as a 20 something year old and obviously this lead to some slips here and there. Mostly on the university side because I started to loose interest in the classes we had to take. There was little overlap between what the companies told us they need and what we were learning about which made it the easy choice to slip on. Then I switched jobs again and started to work at Nebu, an IT devshop from Netherlands developing software for market reserach companies. This was a full time job with an occasional break to go to classes like 3-4 times a week which further delayed my progress toward getting a degree. Which by this time I thought is a complete waste of time. I already had a job that paid well, it was in IT, and I got it without a degree. But my grandmother was adamant on pushing me toward finishing school and not step on the same path as my mom. Then my grandma passed away and I finished school within the next year. I also left the student union to the next generation of students while working here.
4) After climbing the corporate ladder and writing millions of lines of code for a company in a western country, doubling my salary 2 times, being bought by our main client, a US company, whose developers we worked together closely before, I had to realize that the eastern European IT salary doesn't worth much in the global economy. I could barely leave the country for a vacation. I managed to buy a small car, live in a small flat in a relatively bad neighborhood and go out to have a drink with friends once or twice a week. And then you have the other side of the company who is taking big vacations, going to ocean beaches and exotic islands every year for 2 weeks and then go to ski resorts in the winter time for 2 weeks and I decided that I had to do this somewhere where I get paid for it. So I started to apply to companies in western Europe and got an offer from EPAM in Switzerland for 80k euro/year. Mind you at this point I was making around $13k/year as a senior engineer. But I heard from old university friends that Swiss people are not really immigrant-friendly. They don't accept you in their communities easily, you are going to be handled as a minority, and growing up in a country where the major minority group, the Romas were hated and systematically marginalized, I didn't wanted to be in their position. So I used that offer and went to my boss's boss's boss in the US and told them that I will leave the country, I have this offer already, can they match it? And he said there is no way I will make $80k/year in Hungary. And I asked if i could make $80k/year in the US and he said yes. Luckily I already had a relationship with Brett by this time because he liked to come to Hungary once every 6 months and I spent a lot of time grinding him with questions and ideas and stories and insights into the local office culture. So I was an asset to him which was a major decision point for him working towards keeping me in the company. By this time I engaged my girlfriend, we got married before the visa process was started and within 18 months I was in the US, less than 100 miles from New York City, one of the biggest tech hubs in the world and I bought a used Volvo S80 which was like a 3 class upgrade from my little Suzuki Swift.
6) Challenges and successes. Oh, I have a lot. The TargetConditionEditor, the pain of bugs and merge conflicts and the migration to micro services, the merger, the flappening and finally the new era design of the system of a $500M ARR company. So since 2011 I am working for the same company-ish. There was one acquisition and one merger, but I still work on the same code base I originally worked on 12 years ago. And the above list is a good description of the arch of my career growth and the scope of problems I was facing over this time.
The TargetConditionEditor was my first big fish that basically poked a scale through my throat. It was a functionality that allowed users to define what kind of people you would like to take your survey. You can say that I want 16-64 years old, males, who own a Ford F150, play golf on Saturdays and watched NFL game this past Sunday. We stored attributes of people (that they voluntarily gave us) and stored it in a kay-value format, where the key is the user's id and the attribute's id and the value is what people provided in either a numeric format or a text format. And this component allowed the users to make any kind of weird and complex logical expressions as well, like saying that you want either 16-24 year olds who watched the NFL game this past Sunday or 24-45 year olds who owns a Ford F150 but doesn't play golf and haven't watched the game, or 45-64 year olds, only males who play golf, but only on Saturdays, may or may not own an F150 and also doesn't have grey hair. So its easy to overcomplicate things and in order to build software that allows all this, the code was also complex. Overly complex. And it was in 2 files, each with more than 20 thousand lines of code. It was impossible to understand how it worked or what id did. I asked all the seniors and they just told me not to touch it because it works. But I had to touch it because that was the ask from the business and so I told my boss that I can rewrite it in a couple week, ground up. He rolled his eyes and told me to go and try. So I did. It took me 1 week to write the POC, then 6 months to actually list out all the functionalities, figure out what they do and reimplement them in the new version. It was excruciating because there were no documentation, no one actually knew the business need, so I had to reverse engineer this 40 thousand lines of spiderweb mess. But I did it and then I got promoted from junior engineer to medior level and I had the most knowledge about the inner workings of one of the most complex things in the company.
This was all part of a really big monolithic application. At this time we had 20+ engineers in the Hungarian office and another 20+ engineers in the US office, working on one application. You can imagine. It was a lot of merge conflicts, a lot of pushed code at 5pm local time that doesn't work and broke the build for the other 20+ engineers on the other side of the ocean. It was annoying. So the senior engineer had a couple meetings where they wanted to figure out how to force people to test their code more and better and how to run the build faster locally. I wasn't in these meetings as a medior engineer, but you learn a lot during smoke breaks. And this was the time when the idea of microservices started to buzz around on the forums so I came forth and suggested to go toward this direction. All the senior engineers thought it is a stupid idea that will just make us work on deploying applications instead of fixing bugs, but I saw it in my head that breaking things into smaller pieces will limit the amount of conflict that can happen and if I push something at 5pm that brakes component A, only those subsystems will be affected that are downstream from component A. It would also allow us to break out into smaller teams and gain ownership of components instead of having a big melting pot of engineers and code without true ownership and thus responsibility. They said it would take a year to just get started and another 3 years to migrate everything. So in my free time within a month I wrote a spring based library specific to our tech stack that would allow us to simply move part of the code out into a separate application and call it through HTTP requests with just 2 java classes: a configuration class and an interface that defines the path for the HTTP endpoint and if parameters are request parameters, query parameters or headers. I demoed it both the local senior groups and the US senior groups and I became the lead engineer of the project to move the project management functionality out from the monolithic application into microservices. Within 6 months, project management was fully running on 60 microservices, still deployed into the same wildfly app container. Then docker came out and we started to deploy into smaller servers, I think we had 20 servers, grouped into 10 clusters, so each server ran 6 services. As the seniors predicted originally there was a lot of extra complexity that came with this design and there was not much community support yet, so I had to bootstrap a lot of the tools we needed to be able to handle all these services, like a unified dashboard that tells you where each application is running, they were connected to this dashboard through websocket, so you always saw if they are up or down, you could order them by name or server so if a server was misbihaving, you could see that just by looking at the dashboard and seeing that only the applications running on that one server are having issues. Later on it also integrated with our CI/CD tools, so you could promote versions of applications between environments and also allowed to refresh the application config for all instances or just one instance, so we were able to a/b test things easily. Overall this transition was a huge success, it reduced our time-to-production from 1 month to a couple days, or in extreme cases, to minutes. Merge conflicts ceased to exist and we had our first dedicated team of 6 engineers responsible for a part of the functionality end-to-end. And this is how I got promoted to a senior engineer and the tech team leader for our project management tool. I moved to the US in the middle of this project and helped forming other teams and migrate to this new architecture as well in the coming months/year.
Then in 2018 they announced our merger between SurveySampling International and ResearchNow and hell brake lose. People were jumping ship left and right, a lot of teams got headless as the managers went to work elsewhere and we had two quarter billion dollar companies' tech stack to be integrated and then normalized. And I remember seeing the opportunity and rehearsing Littlefinger's line from Game Of Thrones: "Chaos isn't a pit. Chaos is a ladder.". So I grabbed to opportunity and started to talk design and architecture and culture and problems and solutions with everyone I could. I wanted to have the best understanding possible on where we are, where they are, where can we get and how to get there. There were 3 major problems that had to be solved after the upper management made the decision on which systems to use for what functionality:
- Resolving language barriers
- Resolving culture barriers
- How to integrate the systems? (as they chose half of the system from here, half of the system from there)
Imagine having two major competitors hating on each other for more than two decades and then put into a playpen asking them to be a family. Both of the groups had their own language for everything and unfortunately the market research industry is not well aligned on the terminologies they use, so there were a lot of different names for everything and they had a lot of conflicts where one group used this word for this thing and the other used it for that thing that in some occasions were completely independent, so you can identify what the other means based on the context, but in other cases thing A and thing B was within the same context, part of a hierarchy where one group meant a level 3 thing on the tree and the other meant a level 4 thing on the tree. Like using "first floor" in the US vs in EU. So now you have 100 engineers here, 100 engineers there, all different locations, culturally opposed to each other by nature and not speaking the same language. Not a good environment for high productivity. So I started to create a crowd-sourced glossary document with four columns: [SSI term, RN term, description, New term] and filled out the first 30-ish terms. Every time one of these words were used in a meeting, I would send a link around in the chat and make sure we all talk about the same thing. This document became the bible for the next year. I also made sure that whenever there was smack talking behind each others back, I would stand up for the other party and try to humanize them by giving context of why they would do things that way or think that that is a good way to solve a problem. I spent a lot of time just talking to people. But that was not a scalable solution, so I figured it would be so much better to have a recurring tech talk within the company, talking about technical problems in front of everyone. I would have dedicated speakers from both groups, I would moderate the conversation to make sure its professional and there are no cheap shoots fired at each other. This, together with some bigger group travelling arrangements manage to resolve the hostility within several months and allowed us to really focus on delivering on the main goal: realize synergies between the companies within 12 months of the merger.
Integrating the systems were not a small feat either. On one side we had system A, B and C, on the other side we had system 1, 2 and 3. Upper management chose to go with systems A, B and 3 as the go-forward world. So we had to figure out if System A can reimplement gap-features from System 1 and B from 2 in time or we have to merge these systems in one continuous monster flow and because of the time crunch we ended up starting with a monster flow and slowly paying down the technical debt by reimplementing features in System A and removing it from System 1 until System 1 was just an empty shell and could be retired all together. But this needed a really good understanding of both systems and a lot of thread and needle to stich the parts together. Over 9 months I co-designed and orchestrated the release of about 40 different features, most of them that are relied on each other to make sure all parts of the Frankenstein's monster is in agreement about the state of any user or survey and lead a small team to synchronize user data for 60 million users between Systems C and 3 which was the backbone/spine of the monster. And this is how I got promoted to principal software engineer and the tech team leader for our router application that handles 60 million users' daily survey activities. And also got a big glass plaque as a reminder of working 16 hour days for 9 months straight. Miraculously, I still don't have any grey hair.
When you run a whole company in a single Microsoft SQL Server and it handles dozens of millions of users, it will consume a lot of resources. Especially if a portion of your business logic is still living in stored procedures in the SQL server. Our SQL Server was the world's biggest one, according to Microsoft support. We had 92 cores and 2 TB of RAM in a single machine with 2 backups and it was handling SSI's business well with around 20-25% CPU utilization. But when you go into a merger with a similar sized company, double the number of surveys and double the number of survey responders, you increase the load 2*2=4 times. And unfortunately math doesn't care how hard you worked in the past 9 month, it will tell you that 20-25% * 4 = 80-100% CPU utilization. And that's a problem. Our projected baseline after the merge was somewhere around 60-70% and it come out as such, but there were these mysterious peaks that started after the merge on every Saturday, pegging CPU utilization to 100% and halting the whole system. Our NOC team started to page us on every Saturday morning, telling us that all our websites are flapping on pingdom, online-offline-online-offline, back and forth for about 2-3 hours. We had no idea where the load is coming from, neither did Microsoft support. After the third occurrence of the flapping happening, I coined the name Flappening and the next 6 months this consumed our lives as we tried to find the culprit with one eye and were writing code like crazy to move heavy hitters out from the database with the other eye and our hands. It was a really stressful time. I did the math, and we were losing avg $57k/hour. In the following 6 months I learned a lot about SQL server and page contentions and index structures and B-Trees and week by week we managed to get a hold of this problem. There were small improvements every week that my team did that slowly but steadily brought down the peak to 80% and then when we refactored a particular functionality into a separate service with its own datastore, it disappeared completely. In the following one year we marched forward in removing things from the central database until we shrank it small enough that we could move it to AWS. ITOps decommisionned the hardware and they sent out parts of the machine in frames to the small group of engineers and DBAs working on it. I got 2 memory cards.
In order to be able to move our from the database though, we had to have a good design for future architecture. I designed a system that heavily leveraged event sourcing and decoupled the services from each other as much as possible. Currently we are well underway to finish up this huge refactor, already delivered 6 major milestones and reduces the SQL Server to 5% of its original size. With the new design we provide near-realtime datastream for all parts of the business. Stakeholders can build and look at real time reports, new products can be spun up within days with minimal to no coordinational need with other teams due to standardized event streams and API definitions that I designed and evangelized. We have 99.99% uptime. And that is how I got promoted to Director of Technology, responsible for our fulfillment systems, 13 engineers and 2 QA engineers.
7-8) In 2018 after the merger I went to a 3 week vacation with my wife. When I got back, I looked at the pictures and had to realize that I am obese. I never really been a fit person, I was skipping PE class in high school. I used my bicycle to get everywhere when we lived in Hungary, but that got to an end when we moved to the US. So no physical movement and 3 years of overtime and junk food resulted in a not ideal body composition. I wanted to get better, get fitter and figure out how to break my chains to this meat tower. So my journey toward immortality began. And it began with reading a lot about food and nutrition and starting CrossFit. I went through several iterations of diet, my favourites being keto and intermittent fasting. I started to measure more and more about my body, first with a Fitbit, then when my Fitbit died, I upgraded to a Whoop that opened up the whole word of HRV optimization. Then I started to measure my blood glucose with a CGM and that allowed me to do a lot of N=1 experiments with food and movement and sleep and how they connect and correlate. It is fascinating. So currently I seek ways to extend my life and health span to make sure that I have enough time in this world until an AGI figures out how to upload our minds to the cloud and I can live forever, learn more and be in awe again and again discovering a new way to describe or explain something in the universe.
In 2022 I co-founded a startup called BioGenesis Trials with the aim to make clinical trials 10x faster and 10x cheaper. Achieving this will accelerate our understanding of the human body and its reactions to compounds and will get me closer to extend my health and life span. Unfortunately after a year, I had to leave the team due to our disagreement on how to build the company. I am currently looking for new ways to contribute to this goal.