This content originally appeared on DEV Community and was authored by Adrian Jiga
I began my programming journey in high school, where my “Informatics” teacher taught us Pascal. He was very strict about the rules he set—there was no room for creativity; we could only do exactly what he assigned. In college, we studied Java and C++, which I found overly verbose and, to be honest, difficult to read at the time.
QA Automation job
After college, I got a job as a QA Automation Engineer, where I worked with Selenium and Java. Since I never really enjoyed Java (and still don’t), it took me a while to understand how Selenium interacts with it and why it works the way it does.
Studying web dev
A few years into my career, I decided to learn web development, so I started researching which technologies were the most widely used and which tech stacks were considered the best. Like most beginners in web development, I landed on HTML, CSS, and JavaScript. I was already somewhat familiar with HTML and CSS from my QA Automation work, but JavaScript was new to me. At first, I didn’t think too much about it, just that it looked a bit cleaner than Java, but as I learned more about it and discovered what it could do, I slowly began to fall in love with it.
Over time, JavaScript became more than just another technology I wanted to “try out”. It became the language I truly connected with. I didn’t dive straight into building complex applications. Instead, I took my time to study the fundamentals: understanding variables, loops, functions, and how the DOM worked. My first small victories came from writing simple scripts that updated elements on an HTML page—changing text, hiding or showing content, adding a bit of interactivity. Seeing those changes happen instantly in the browser felt magical compared to my earlier programming experiences.
The turning point
Once I felt comfortable with the basics, I wanted to take things further, so I started learning Vue. This opened up a whole new way of thinking about building user interfaces, structuring components, managing state, and writing cleaner, more maintainable code. It was exciting to see how JavaScript could power dynamic applications without drowning me in complexity. From there, I moved on to studying Node.js, which was a turning point. I realized I could now use JavaScript on the back end too, meaning I could handle an entire project using a single language from start to finish.
Conclusion
That gradual progression, fundamentals -> simple scripts -> Vue -> Node.js, allowed me to really understand JavaScript instead of just skimming the surface. It’s the language that took me from being someone who mainly tested software to someone who could build it and that’s what I wanted in the end, to build software.
This content originally appeared on DEV Community and was authored by Adrian Jiga