Introduction
When you create an application, you have at least one user: yourself. That's the primary purpose of creating something, you create for you or to someone. In many cases, programming often starts as a personal or casual endeavor but can quickly evolve into a critical, professional task.
What happens when your code transitions from personal projects to major impacts? What happens when people rely on you and your lines of code? Are we prepared enough to see our work change the real world?
The Dual Nature of Programming:
I think programming is unique in this respect: people can start programming without any intention of using it professionally in the future. For example, many people learned to program because they had a computer at home, they were curious and created a mod for a game they played. Programming has this peculiarity that what we do doesn't seem like real work, it's fun, or it was once fun.
For instance, I've never seen a lawyer who started studying law just for fun; deep down, they always had a professional goal in mind. This applies to other professions as well.
Much of the common stereotype of programmers contributes to this view; in movies, we are seen as nerds, schoolboys, and hackers. Our work, although very important to the world, has often been portrayed in the media as not so serious. Daily, many people depend on and use directly something that a programmer created, despite not realizing the true professionalism behind it.
Some companies in our field also perpetuate this belief, with perks like being paid in pizza after a night of coding, having ball pits and slides at the office, and being allowed to wear slippers at work.
One of the first steps to valuing our work comes from ourselves. Recognizing the professionalism behind programming is the first step toward truly valuing our work and its impact on the world.
From Dozens to Thousands
As our responsibilities grow, and our user base expands from dozens to thousands, the stakes rise. Not only does our approach to coding need to adapt, but our perception of our work must mature as well.
I learned to program in high school, at school. Back then, I had zero users, and my code wasn't even run by the teachers at the time. I made very simple programs: school grade calculators, small systems for calculating burger shop orders, etc.
Later, I moved to a kind of startup, where my code had fewer than 50 active users, that were workers of the startup. However, things started to change there.
Today, I work on a product that impacts thousands of users every day, millions of messages are processed on our servers every month. When I moved, the increased user base made me realize the weight of my responsibilities. It's not just about coding correctly; and using the latest tech; it's about understanding the professional impact of every decision you make
So, what can you do to handle this situation? Now that you know that you and your work are important, here are some advice:
Learn with the others
Continue to learn, not just through formal methods like courses and reading, but also by seeking mentorship and participating in communities. And when I talk of mentorship, I'm not only talking on professional mentors or tech influencers. I'm saying that you can go to that senior developer on your team and learn with him.
If this colleague has been in the project longer than you, maybe he faced the same troubles that you are facing today. He might have a different approach to the problems and can share a different point of view. Sometimes the best sources of knowledge are closer than we think.
Celebrate milestones:
You should recognize and celebrate the milestones in your programming career. Milestones must be small and measurable, otherwise they wouldn't be called that. Did you turn in a difficult assignment this week? Celebrate. Did you deliver that project on time and without bugs or incomplete tasks? Celebrate. If you leave it until the end to celebrate, you may never celebrate anything.
Celebrating these achievements will remind you of your progress and inspire continued effort and innovation.
Your slip-up can halt an operation, so think twice as hard
It's normal to receive complicated tasks with a lack of description or incomprehensible bugs. These tasks will demand more from you and can generate catastrophic scenarios if done wrong.
It’s not ideal to make this type of change without supervision or review, which is why we have QAs, tech leaders, and code reviews, but there will be times when you'll need to work under pressure.
I think there's no right answer to this; it depends a lot. Try to find an environment that permits you to commit errors and learn from them
Be confident and get the job done.
With Time, Things Will Get Easier
Yeah, they will. As time goes by, you will realize that you no longer have doubts about the terms that once caused you discomfort, you will see that you can do some things faster than before and perhaps you don't even realize it, but you have already naturalized your daily life, something that already it was a problem for you.
Things will get easier and you will find new harder things to do. That's a true signal that you are growing in your career.
See You When My Code Impacts Millions of People
And you, how many users does your code impact today? Do your work impact more than thousands? Share your experiences in the comments so other people can learn from the steps you made. And if your code doesn't influence thousands yet, how are you preparing to reach this milestone?
I'm always open to chat, just call me!
See you in the time when my code impacts millions of users, we will get there!