Learning To Program Is About Not Knowing
What surprised me most about learning to program was how much of it is actually about not knowing things. Not in a temporary "I'll learn it soon" way, but in a constant, ongoing way. I used to read a lot of stories about how people started programming. Today, I have some experience of my own, and I feel like I finally have something to say about it too.
My name is Natalia, and I've been working as a junior developer for 8 months and 2 weeks. Apparently, everyone counts that at the beginning.
Something Always Felt Missing
Before this, I worked in customer-facing roles like reception, call centers, and waitressing. At the time, I didn't think of them as preparation for anything else, but they taught me things I actively use in my work now: handling uncertainty, asking precise questions, and prioritizing under pressure. After work, in the evenings or on my days off, I was learning how to code through online courses. I kept wondering whether becoming a programmer was even realistic for me.
I went through course after course. I learned Rails migrations, basic MVC structure, and what belongs in a model. I built small projects like tic-tac-toe and a Caesar cipher.
And then I got stuck again, usually without a clear idea why.
During the learning phase, one of the hardest parts was deciding what I should learn next and what the right next step even was. I kept going back to basics, convinced I had missed something important. I restarted online courses halfway through. I also spent a lot of time taking notes instead of actually building things, as if I was "preparing" to understand. I didn't like talking too much about my learning process, because I was afraid someone would catch me not knowing something.
Most of the time I thought that, considering how much effort I had put into learning, I should already know more.
After some time, I started applying for jobs and attending interviews. They were a great opportunity to test myself. I was very stressed before each one, but afterwards I usually felt oddly proud.
I knew I could have answered some questions differently or developed my thoughts further, but each one helped me better understand my own limits. While preparing for interviews, I slowly realized how much I had actually learned over those months of studying.
After each one, I usually replayed everything in my head, shared it with people close to me, and took notes on what I had been asked and how I answered.
It Wasn’t What I Thought It Would Be
Before my first job, I was afraid of being quietly seen as a bad hiring decision.
I worried about being too slow, asking too many questions, and not learning fast enough. I thought I would constantly feel evaluated instead of supported.
That didn't happen.
I ended up in a team that supports me, so obviously they don't expect me to be the expert right away. I realized the job is really about collaboration, feedback, and communication as much as it is about code. Even very experienced developers constantly discuss solutions, ask questions, and make decisions together.
One moment that stayed with me happened during a code review. I suggested moving repeated logic into a separate file and reusing it instead. Before writing the comment, I hesitated a lot. I thought I might be wrong, or that I was missing something obvious. I also didn't want it to sound like I was trying to correct someone more experienced.
The PR author said it was a good catch and went ahead and implemented it. After that I thought about it for the rest of the day and I bragged about it to the people closest to me.
Getting Stuck Feels Different Now
What still surprises me is how often programming is not about knowing, but about working while not knowing yet. Right now I still get stuck, especially with more complex API operations. But the difference is that I don't immediately assume I'm missing some fundamental knowledge anymore. I try things, I debug, I ask questions, and sometimes I even help others figure things out. I've stopped treating not knowing as a problem I need to fix before I can continue. Now it's just part of the work.