Who am I?
Hi, I’m Andrei, a software engineer from Bucharest, Romania.
Working with computers has always been my special interest.
My programming journey started with a series of playful batch scripts that served as pranks and experiments shortly after we got our first computer and my first usable operating system - Windows 98.
These playful scripts would repeatedly open and close the CD tray or change the desktop background to a humorous image.
These experiments taught me that if I had the proper knowledge, I could get the computer to do whatever I want. And I loved that.
At around ten years old, I was fortunate enough to join an after-school program where we learned Pascal in preparation for the upcoming national olympiads in informatics.
Over the next four years, I dove deep into Pascal and started exploring other “hot” technologies, like Visual Basic and Delphi. Oh, what a time to be alive!
I began connecting with other children who shared similar interests, joined other groups, and worked more and more on my own. It was around that time that I became interested in GUIs, and building programs with windows and buttons.
In high school, I switched from Pascal to C++ and continued expanding my knowledge on the side. And we finally got internet at home, so no more burning CDs at the net café. Yey!
By the time I finished high school, I had a sizeable portfolio of standalone software and websites I’d built. Things were going well.
Around the same time, as I was exposed to hacker forums and IRC channels, my interests shifted from building to breaking things. In those days, vulnerabilities were everywhere, and getting online credit for being smart was what kids were hooked on.
I became passionate about learning how things break and how to prevent that, and did a lot of what we’d call today responsible disclosure, before it was cool™.
Getting on the Hall of Fame of a company for breaking something was thrilling, and over the years, I managed to get on quite a few, including Apple 1 2 3 , Microsoft , Netflix , and Spotify.
After completing high school at 18, I moved to Denmark on a Computer Science scholarship. They were teaching us entry level Java, so after three months of feeling something is wrong, and a few unpleasant interactions with my teachers, I dropped out.
My First Job
Immediately after leaving university, I landed my first job as a developer at a small company. It was a small shop that worked half of the time on its own product and the other half doing consultancy on Drupal, Moodle, Solr, and other wonders of that time.
The in-house project was a printing solution for schools and offices, and I got to learn C# and work a fair deal on that, in addition to the few occasions where the consultancy work was more lax, and we could afford someone unexperienced like me taking much longer time to do something.
This experience was eye-opening and humbling, and it made me realize how much there was to learn.
This job is also where I met my first role model in programming and life. He was my first and best mentor; by watching him solve problems, I learned that programming gets done right only when we take the required time to understand all the details.
Where I stand today
Eleven years have passed since I began my professional journey.
I’ve worked in various roles, tackling projects ranging from standalone software to TV and mobile apps, web development, highly interactive and performant UIs, APIs, browser extensions, and others.
In the past few years, I’ve been focusing primarily on front-end and web work, so TypeScript, Go, React (and Next.js), Vue, NestJS, and many of the new toys.
Why? It’s a good market, it doesn’t consume all my energy, and I can still invest some good hours per week on personal projects, Neovim plugins, Nix, and other things I enjoy.
I still feel like I don’t know much, and I still spend my nights writing code and trying to understand all the new stuff, just like I did in high school.
Is it bad? I don’t think so, I love it.