Back in the summer of 2018, I kicked-off a backend development internship at Pixelgrade. A few months later I became part of the team, and now I’m finding my way through embracing the entire journey of a developer in a small yet highly ambitious squad.
After the internship experience, I encountered a bunch of issues that are pretty typical for a new-comer into the world of development. But as common as they were, they were also frustrating and even risky.
Everyone welcomed and congratulated me for becoming the newest member of Pixelgrade. My teammates tried to make me feel comfortable, but the funny thing was that I felt just at home right from the start.
I’ve been here for the past three months as an intern, but nothing compares to the first day at your new job.
I had to understand the tools that I was going to use, moving past knowing the basics. Bash guides, for example, became my new best friends, so they joined the guides group consisting of PHP, WordPress, and Git.
I was amazed by the sheer amount of new technologies and concepts that I never knew anything about or that I always ran away from because they seemed too hard to grasp. I entered into a learning-induced frenzy which, theoretically, it’s not something wrong; in fact, it was feeding my curiosity to discover more.
In the beginning, I tried almost every day to do something cool, share with Vlad, my mentor, and ask for feedback. After several episodes, he told me that he supports my curiosity and willingness to learn, but that I “need to go slow to be faster.”
I needed to recap the basic notions that I knew I had some clue about, regarding things like Bash or PHP, to see in which aspects I need to improve. Shortly, I became aware of what Vlad meant.
The basics started to lack, I even had troubles in remembering what some WordPress or PHP functions were doing, functions that I used in a lot of my small projects. And, even worse, after I told myself that at least I learned new things, I found out that I remembered only the names of those specific things.
All this time I was just reading, definitely not learning. Quite a difference, believe me.
No challenge is too great, especially when you are learning
After this setback, I decided to organize my priorities and focus on them. Learning was still essential, but practice meant more.
Practice easily translates into experience and experience fixes notions, stopping me from having to remember and relearn them over and over again. As obvious as it may sound, it is vital for anyone who wants to evolve to not focus only on the theoretical side of things.
I discussed with Vlad and, after he saw my need of putting things into practice, he delegated me tasks that would genuinely test me. By tasks, I mean exercises that would combine some concepts that I learned about and integrate them into an application that I would have to create.
The one I feel I have to write about is the REST API I had to build. The task required me to create a WordPress custom post type, and, by using my API plugin, extract the public information in a format readable to everyone.
I can’t even explain how many times I watched tutorials to understand what an API does and what is so special about it. I wanted to give up at some point because it didn’t seem to get me anywhere.
When I got my hands dirty, APIs seemed to be one of the smartest things to grasp because they allowed me to create awesome things. And when the time came, I also did it with classes — no, really, I used classes — another thing that, in the past, made me profoundly uncomfortable.
Building something that makes everyone have access to specific information (going beyond the operating system, device or programming language limitations) is impressive and pretty empowering for a junior developer.
Pushing for more and getting out of the comfort zone
As time passed, Vlad’s confidence grew, so the number of responsibilities got higher. Just so you know, everyone at Pixelgrade has a list of objectives, most of them tailored on our core duties, but we also have some goals regarding personal growth.
The management crew shapes the objectives, and one of the most significant things about them is that they are tailored to everyone’s personalities and level of experience.
I have to run a knowledge sharing session in front of my teammates. As an anxious person, I don’t know how I will make it happen, but I’m sure that the experience will help me.
After seeing the list of things that I am responsible for, I set up my priorities for the next three months. I also took into consideration the team’s goals and established an action plan with the development team to make sure we are on the same track.
The first project where I had a consistent impact was during the development of Felt (Free). It’s a lovely magazine theme listed on WordPess.org; on that marketplace you can find other gems from our portfolio as well. I was happy to be involved in a project where I had the chance to give back to the community.
Understanding algorithms and seeing where the process flow guides me next was never an issue, but every team has its ways of creating things. You have to not only understand it, but also to integrate your changes into that specific workflow, and respect the limitations and features that code offers.
Modifying features and analyzing every change made by the team or by me smoothly introduced me to the patterns we used and made me be able even to propose ideas regarding the workflow of the free themes and to be an active voice in their development. It felt amazing for a beginner like me to see that my insights mattered.
The next big objective was linked to one of our best selling themes: Listable. But the situation was entirely different. The pressure was huge.
While trying to solve issues, I was confronted with many problems that had a higher level of difficulty than those faced at Felt, and I felt frustrated that I always needed to ping my teammates and ask for help.
Guess what? More questions popped-up: how do we do things there, why does it work in this manner, can I improve it, and how can I integrate everything into Listable?
Even if the hurdle was too big for me to manage, I had my team to back me up. I approached issue after issue, initiated constructive discussions with the team, and I did a lot of testing to make sure that Listable reached a stable state, and was ready to
I still feel that this experience represents the point in which I can firmly say that no challenge is too high. Even though things seem scary, it may, at least, be a lovely learning experience.
I understood that pushing my limits was the only way to learn faster and improve. By making mistakes I increased my speed and I became a better version of myself.
Learning weights more when you work in a team
The trait that helped me the most in the past few months was being a team player. To be able to offer and receive proper assistance when the situation arises is a skill, but being a part of Pixelgrade made it very easy to use. Everyone is open-minded and wants to help, and being influenced by them, I quickly gained this feat.
With everyone around me being a true professional, it was pretty impossible for my growth to stall.
Discipline and determination were the core assets that I kept seeing in my colleagues, and I felt that I had to rise to their standards.
So I started to organize my time better, improve my sleeping routine, and to focus on my priorities. But then came a moment in which I felt that I was still not pushing myself hard enough. And that moment was when our new frontend colleague, Mădălin, was hired.
He brought a lot of experience and excitement, always asking and being curious about Pixelgrade and our products. We have also started to analyze snippets of specific code that I didn’t understand. I was inspired by him, and he made me excited about things that I never gave much importance to, even though I should have had.
The main thing that he kept showing me, and it was essential to learn about, was the themes market. I knew the basic stuff, but he had a lot of knowledge regarding review processes, what are they all about, what is the upload process, and what are the basic requirements. So we started to work as a team on every possible issue, and most of the times I was the one who needed advice from him.
Influencing each other helped us a lot. As a team, it made us very versatile, always happy to lend a hand. Moreover, we learned to communicate and synchronize our tasks well. On a personal level, it made me want to learn more and be confident about the things I knew, regarding PHP especially. He counted on me, and I had to deliver.
Priceless lessons I learned so far
Day by day, I’ve been growing as a professional, but most importantly as a person. The lessons that the last few months taught me could be summarized in a few ideas I gladly share with you:
- Without discipline and focus, your intentions are quite irrelevant. I understood this the hard way, and I now consider this advice the most precious one I can share with you.
- Challenge yourself all the time, even when the task at hand seems almost impossible. You may fail, sometimes you will inevitably fail, but living in your comfort zone will never make you a better you.
- The right team for you will always help you in reaching higher heights. They will always guide you when you need it most and leave you alone when a hard lesson needs to be learned.
I’m genuinely proud to be part of Pixelgrade. We have a culture that fits my values and interests, and, on top of that, I have the chance to learn a bunch of things about development in a challenging environment. Who wouldn’t want such an opportunity in the end?
By the way, Oana, our CPO, is looking for backend developers who want to deliver work that has a global impact. If you’re interested in joining us or you know someone, just write a nice e-mail at firstname.lastname@example.org, and she will take it from there.
Maybe we’ll share our awesome office soon. Best of luck! 🤞