The Programmers’ Forum forum.vingrad.ru

The Programmers’ Forum forum.vingrad.ru

Amid the flood of articles like “How I Completed a 30-Day Course and Became a Programmer,” I’ve decided to share my experience: how I became a programmer after five years of dedicated learning—not counting school and university training.

If you ask me what most contributed to my development as a programmer, I wouldn’t point to university, colleagues on projects, or books. Instead, I would credit the programmers’ forum forum.vingrad.ru. But let’s start from the beginning.

The Beginning

The story starts around 2006 (the exact year escapes me). I was fired from my job as a gas station security guard, a position I had taken to earn extra money while studying.

I owe immense gratitude to my supervisor at the gas station for fostering such an unbearable and hostile atmosphere that it not only led to my dismissal but also helped me realize that temporary jobs like this weren’t for me. It was time to pursue my profession.

By then, my university coursework on programming-related subjects—including C++ (in that blue-and-white Borland C++ terminal), algorithms, computer networks, operating systems, and more—had already concluded.

Few people around me understood the real problems that developers solve. Acquaintances who offered temporary gigs like “reinstall Windows in a government office” or “replace a hard drive for a client” insisted that a C++ development market didn’t exist. They advised me to learn 1C instead, claiming it would secure my future. I read a 1C book but found it incomprehensible, leaving me feeling inadequate.

Later, I realized that being a 1C programmer, especially back then, also required understanding accounting. Without domain knowledge, there’s no chance of mastering how everything works. At the time, I concluded that 1C wasn’t for me—and I’m glad I did.

By then, I had a solid grasp of everything I had been taught. I was among the top programmers in my university cohort and often helped classmates with programming, mathematics, and other subjects, earning some money in the process. Computational mathematics left the biggest impression on me; after theoretical math courses that stressed the insolubility of many problems, it was inspiring to see that computational math could solve almost anything given the right precision.

Inspired by this, I wanted to find something similar—a field where my math skills would be useful, without accounting, and ideally involving C++.

Entering the Job Market

That summer, I announced myself on the job market as a C++ programmer. I didn’t understand what to look for, how to search, or how to present myself. I don’t recall the resources I used or whether hh.ru existed then, but I remember submitting about 80 applications, attending 10 interviews, and eventually landing my first job—much later.

The first valuable insight I gained was to practice solving test tasks. I would reach the test task stage—given either after the application or an initial conversation—and try to craft the best solution I could manage. I spared no effort, often reworking my answers multiple times to compare different approaches. In one instance, I tried 10 different implementations.

Looking back, I see how clumsy those solutions were, largely because I had no feedback. For example, in a test task to create a console-based registry navigator for Windows, I built a three-level inheritance hierarchy simply because I “knew OOP” and wanted to demonstrate it.

The Forum

One company stood out. According to the interviewer, they developed image processing tools, involving a lot of math and programming—just what I was looking for. The test task was to read a BMP RGB24 image, split it into three grayscale BMP GrayScale8 images (one for each channel: R, G, and B), and save them. Today, such a task could likely be solved by a high school student with the right search query. But back then, almost every aspect was unclear.

After combing through physical bookstores, I found a book explaining how to use MFC (Microsoft Foundation Classes) to read and write BMP files. However, completing the task raised a thousand questions—the kind you’d now resolve with a single Stack Overflow search. Back then, I turned to MSDN.

Searching MSDN was an adventure: scattered information of varying depth and utility, some articles delving into minutiae, others glossing over key details. The links often led to unexpected tangents. About 10% of the material I read was relevant; the rest provided broader context but still needed to be studied for the full picture.

Eventually, I discovered an offline clone of the forum forum.vingrad.ru, complete with a search feature. This archive was a treasure trove. Unlike MSDN, it often provided answers to my questions—frequently framed as questions and responses with useful nuances. I was thrilled.

I completed the task—even adding a user interface to display the input file and results—but didn’t get the job. This wasn’t the last time I faced rejection.

Building Confidence

Undeterred, I asked a question on the forum for the first time: https://forum.vingrad.ru/forum/topic-105189.html

I don’t recall the exact test task, but it involved adding input history to a console application. I was nervous, but the responses were surprisingly helpful and polite.

I became more engaged, frequently browsing sections like “General C++,” “MFC,” “WinAPI,” and the “Help Center.”

In the “Help Center,” students would post assignments, and people like me would solve them, often competing to do so faster or more elegantly. These exercises sharpened my skills on small, manageable problems.

The “General C++” section often featured theoretical discussions. I admired the experts there and adopted their habit of quoting the C++ standard. Dropping phrases like “This is UB (undefined behavior)” and making a cryptic exit was the epitome of cool.

In the MFC section, I tackled practical issues. MFC was infamous for its quirks, requiring knowledge of countless nuances. Solving others’ problems honed my expertise, and I was eventually made a moderator—a significant honor.

A Turning Point

One of the forum veterans, a skilled C++ developer, contacted me privately. He needed help prototyping his product’s user interface. This was a tremendous vote of confidence, and I eagerly accepted. After a grueling night battling MFC, I delivered the required functionality—albeit later than promised. He was delighted and paid me $100 through Western Union. This was a huge sum for a student back then and marked a significant milestone.

Becoming a Programmer

I gained confidence and tackled increasingly complex tasks. Over the years, I worked in image processing, device management, and more. I mastered tools like STL, Boost, and OpenCV, switched to Qt for better productivity, and explored Python for scripting. My career grew, and my time on the forum waned.

The day I finally felt like a programmer was bittersweet. Our flagship cross-platform product was complete. It was a robust C++/Qt application with custom image processing libraries and Python scripting. But I was burned out—unable to continue. The years of relentless effort had taken their toll.

Reflections

Looking back, forum.vingrad.ru was instrumental in my journey. Its welcoming, supportive community was unmatched. Unfortunately, I don’t see such spaces today. Perhaps the motivations of those entering the field have shifted, but I hope my story inspires others to create inclusive spaces for newcomers.

For those interested, here’s the link to one of my old threads: https://forum.vingrad.ru/forum/topic-111027.html