← Academy Blog

Road to being a Binarian

Translated into:

Hello to all students, Binarians, and anyone who has stumbled upon this narrative by chance. My name is Alina, and I am a graduate of the 2022 Summer Academy on the JS track. Today, I'll share my story with you.

Let's start with the simple question: did I know since my school years that I wanted to become a programmer? No. Did I have any clear idea at that time about who I saw myself becoming in the future? Again, no. To be honest, in 10th or 11th grade, the only things that seemed necessary and clear to me were passing exams and not disappointing my parents and grandmother with the results. To add more context - at that time, I had been an honor student for 11 years, where a grade lower than 10 was considered unsatisfactory. In general, I can describe myself as a classic representative of the type - "has been living with the overachiever syndrome all her life without noticing it."

The fear of making mistakes and showing myself in an imperfect light was always present during my school years, so when it came to choosing a university and a field of study, it was all complex and confusing. The unknown always intimidates, and my case was no exception. Of course, during my studies, there were subjects that I excelled in and liked more than others. But when you're 17 and surrounded by countless people who are eager to give you advice and even make choices for you (and they diligently do so), it becomes very challenging to listen to your inner self and understand what you truly want. My grandmother wanted me to become a teacher, my mom - a marketer (and honestly pushed this idea until the very end). And I just wanted this whole ordeal of choosing a university, a major, and setting priorities to be over. :)

At that time, I had the idea that I absolutely did NOT WANT to spend entire working days by computers (so here I am), desiring extensive interaction with people, and pursuing a profession where I could express my creativity and ideas. Out of this list of teenage thoughts, you might wonder - at what point did everything change direction, and how did I ultimately choose such a path for myself.

However, in reality, if I analyze it now, the role of a programmer actually encompasses almost all of these criteria (except for one—I do spend a lot of time sitting in front of a laptop, but that's almost inevitable). Viewing this profession solely as a technical one was my mistake.

Once I was told that if you don't know which way to go, choose what seems challenging to you. Something that appears difficult and unclear, something that will allow you to test your own limits. And of course, it's essential not to forget that the choice you make after finishing school is not the one that will determine your entire future. Ahead lies a long journey during which you can change direction if you feel it's necessary.

The overachiever syndrome is a dependency on approval from the environment, a desire to achieve perfection in any work.

The devil is not as black as he is painted

And so, it's the summer of 2018, and I am submitting documents for admission into the computer science department. What did I feel at that moment? I was beyond scared, no exaggeration. Many unfamiliar faces, numerous new subjects, a new city for me. It seemed like the beginning of a completely new chapter in life, where everything could be written perfectly, without any corrections, right from the start. At least, that's how it felt to me at that moment.

Spoiler alert – life at the university (and beyond) isn't cotton candy. There were mistakes, and there were many of them.

There were many illusory expectations about studying that were shattered from the very first classes. For instance, in school, everything was carefully explained multiple times and at a slow pace, while in university - nobody was going to wait around. You either managed to jot down the main details and grasp the essence or you didn't. Or when you attend your first lecture on algorithms, and they ask you to write solutions to three problems on a piece of paper using any programming language you're familiar with. Reflecting on this situation now, I understand that at that moment, no one expected first-year students to present perfectly written code on paper during the first class – the lecturer aimed to gauge the level of knowledge and understand how each student thought. But back then, it felt like mission impossible.

In short, the first year was indeed challenging. Especially when you have the overachiever syndrome and you try to pass everything with flying colors from the start, fearing to make mistakes. You strive to achieve high grades in all subjects without exception. Then, at some point, you realize that a large amount of the material covered is outdated and has no practical use in real life at the moment. Or worse still, everything you diligently studied didn't stick in your long-term memory, leaving behind only excellent grades for the trimester. Boom!

As you've probably gathered, the main lesson I took away from this stage is that learning should always be for yourself and your own knowledge because that's the only thing that truly matters.

Let's consider the other side of the coin. "Programming" isn't as scary as it can be imagined or described :) Over time, every project, lab, or homework didn't seem as challenging as in the beginning. However, it's important to note that my attitude towards the given tasks changed more than their actual difficulty. I realized that I wasn't alone in this boat - I had friends with whom diving into new material was much more comfortable and productive. We could explain various concepts to each other, prepare for tests together, and this time actually flew by very fast and unnoticed. We faced these challenges together, so that’s why our student years were so valuable and unforgettable.

BSA Summer 2022 - challenge accepted

One of the advantages of studying at university is that you have the opportunity to try yourself in different areas of your chosen field within a relatively short period. Superficially, but still. Consequently, there's a chance that among these attempts, you might find something that interests you. Or the opposite situation - realize what doesn't suit you at all. In my case, I became interested in JS, and to be precise, not just the programming language itself but the ability to independently handle full-stack tasks from start to finish. It's about seeing the results of my work, and understanding what's happening under the hood.

Over time, as I began acquiring more skills and developed an interest in web programming, I wanted to gain experience working on a commercial project. However, it was initially unclear where and how to find such an opportunity, especially when all my achievements were small student pet projects and lab assignments. At that time (and even now), I was surrounded by people striving for career growth. Consequently, after completing my third year, most of my group mates had already started their paths as junior developers in various companies.

One friend, who already had experience working on a commercial project, informed me about an available front-end developer position. Although I was more interested in developing myself as a full-stack dev, I decided that this opportunity could be a good starting point for me. As a result, I applied for this position and joined the team.

A small piece of advice - surround yourself with people who inspire you and share the same interests and values as you do.

Combining studies in the final year of my bachelor's degree with preparing for final exams, and working full-time was a challenging yet fascinating period. Reflecting now, I realize that during my last university time, I was no longer a first-year student with a bunch of doubts and fears. I had transformed into someone who learned how to prioritize, didn't attempt to do absolutely everything, and whose main goal wasn’t about only achieving high grades.

At the end of my university time, I still had the idea to try my hand at becoming a full-stack developer. In my first job, I felt a lack of opportunity to develop myself in this direction, so I tried to find other possibilities for growth. One of the first thoughts that occurred to me was joining the BSA. By that time, I knew people who had the chance to go through the academy and join the company. They always spoke positively about the experience, which encouraged me to move from desire to action. One could say, it was my unresolved gestalt for several years, which I finally decided to resolve in the spring of 2022.

Initially, nothing foretold trouble. :) I successfully passed the testing stage, although I'm not sure if my result could be considered successful, as the passing score was 65, and I scored only 69. It was quite a mix of emotions. On one hand, I advanced to the next stage, but on the other hand, I had thoughts that maybe I wasn't adequately prepared for this academy since my test score was relatively low. However, I tried not to get discouraged; instead, I focused on future tasks and continued on this path.

During the second lecture stage of the academy, there were three tasks involving git/js/nodejs. At that time, it wasn't something new to me, and I thought I could manage the tasks quite quickly. As a result, I postponed task completion until the last moment, didn't utilize all available attempts for the auto-tests on the learning management system, and didn't ask questions in the mentor chat.

It was a mistake, don’t repeat after me :)

For the last Node.js assignment, I lacked a few minutes to submit the task on time. So, that same evening (or rather, night), I decided to write in the chat, asking if it was possible to check the assignment. By the next morning, the message had been read, but there was no response. The stage of the mini-project remained locked for me since accessing it required timely submission of three lecture assignments. I didn't dare to write again. I felt sad, thinking that the academy had finished for me this year. However, a couple of days later, I received an email confirming the successful completion of this stage. Checked the learning management system (LMS) - the last assignment had been reviewed, and a glimmer of hope that not everything was lost and that I still had a chance to continue the academy rekindled within me.

Conclusion - You should be more persistent, fight for your place, and never give up at the first setback. Never.

During the next stage of academic lectures, the atmosphere was noticeably heated (not because it was summer outside). Each new task meant diving into a new, extensive topic. There was a lot of material and little time. My days followed a similar sequence: work - academy - academy - work - exam preparation - sleep. Often, I ended up staying up late at night to meet deadlines and submit assignments, because I couldn’t find enough daytime hours for the academy. It was a truly crazy summer.

However, it's worth saying that not every academic topic was entirely new material for me, which probably saved me that summer. Regarding the new content to me, it involved Redux and Docker. These were two subjects I hadn't had the chance to practice before. While I managed to cope with Redux and submitted the assignment (after the deadline, but still completed it), Docker was a completely different story. I attempted to start over several times but hit a dead end and struggled to manage it.

At that time, I rarely (read: never) sought help from other students or mentors, attempting to complete everything on my own.

This was the night before the morning deadline, after several sleepless nights, my brain refused to work. And when, after the nth attempt, I faced failure again, I decided it was time for me to take a break and go to sleep. I remember lying down with thoughts that I would try myself in the next academy, better prepare, and start everything from the beginning. In short, I resigned myself to the fact that this was the final chapter in my summer academy of 2022.

BREAKING NEWS - THE DOCKER ASSIGNMENT WAS OPTIONAL

A few days after the deadlines for the final assignments, I suddenly received a notification that I had been added to the guruhub_team channel in the academy's Slack. I had no idea what this channel was about or what was happening. The thought that I might have progressed to the project stage didn't appear in my head, as I had already accepted the fact that, okay, the next academy meant just that — the next academy. When I checked my email, where there was already a message stating that the final results were ready, I navigated to the LMS and saw a notification about successfully passing the previous stage. I simply couldn't believe it at that moment. Emotions overwhelmed me. I remember being unable to sit still and started pacing around the room. What about the unfinished Docker homework?

Congratulations on LMS

As it turned out, there were two sets of tasks - mandatory and optional. So, Docker was optional. I'm not sure how I missed this information, but the fact remains.

On the day when the shared channels were set up in Slack, there was supposed to be an introduction call with the students and mentors, where the basic idea of the future project should be discussed. It was very exciting for me. I wanted to make a good impression, so I started thinking about what interesting things I could share about myself (spoiler - during the call, everything I had planned earlier flew out of my head, and it turned into pure improvisation. Also, there was no need to prepare in advance for this first call as it was part of the coaches' plan and was well-structured). Right away, the next day (which was a Saturday), we began working on the project. While no one was required to attend dailies or complete tasks on weekends, it was preferred. There were plenty of tasks ahead, lots of bugs, and even more bugs, so sitting idle on weekends was not an option.

As we received the initial project requirements (during the call on Friday), I decided to prepare for Saturday's daily and create a list of questions. Some related to the project's business logic, while others concerned the future database architecture. As it turned out, this made a positive impression on my coaches, and they even jokingly asked if I might be a QA, given the number of questions I had. In reality, this was a significant step out of my comfort zone because I wasn't fond of voicing questions, especially during live calls, and particularly in front of a relatively large audience. It wasn't just that I didn't like it. I was very afraid of coming across as unintelligent or weak. The academy really helped me in overcoming this fear.

It turned out that people actually value and respect your questions rather than thinking something is wrong with you. All these boundaries existed only in your mind.

It turned out that not knowing something, asking for clarification, or seeking help is normal. There's no need to pretend to be a know-it-all and act like you're an expert in everything. Everyone was once at the beginning of their career and faced the same problems.

It turned out that asking questions is not a sign of weakness. It's a demonstration of your interest and a chance to find out the answer, that's all.

Everything that seemed difficult up to this point was actually a piece of cake.

So, 6 weeks of working on the academic project - what were they like for me? Certainly not boring. There was a lot that was new to me, both technically and organizationally. Daily meetings, daily written reports on the work done, demos for the client, initial tasks, open pull requests with lots of comments, and the most interesting part - implementing the project from scratch.

Comments on my first pull request

Comments on my second pull request

84 and 126 comments on a pull request - how do you feel about such a result? These were my first tasks that were quite extensive, and there were many recurring mistakes in my understanding of project structure. There were lots of comments regarding the naming conventions of files, folders, variables, and functions. However, of course, the comments weren't only about code smells. There were many requests regarding the approaches I had chosen. Honestly, at that moment, it seemed to me that these comments would never end. There was even some disappointment in myself during those times because it felt like my code wasn't so bad to receive so many comments.

Especially when you attend daily calls, where each student talks about what they've been working on, and each time they explain new tasks (at least that's how it seemed to me at that moment), and you've been working on a single task for a week and fixing comments related to it. At those moments, I began comparing myself to others, not to my past self, and that was a mistake. We all have different knowledge backgrounds, different experiences, and tasks of varying complexity, so it didn't make sense to compare how quickly someone else was closing tasks.

Looking at it now, I understand how necessary and important it was for me to receive all those comments at that time. I am grateful that people pointed out the same mistakes to me multiple times, ensuring that I learned what NOT to do. This allowed me to understand what readable code looks like, what aspects to pay attention to, and to consider the potential consequences of the chosen implementation. As a result of this experience, I learned to focus on all these aspects in the pull requests of other students and now my colleagues. The technical growth I underwent was noticeable even towards the end of the academic project. The code I wrote received very few comments. I wrote more thoughtfully and carefully, asked fewer questions, and quickly grasped what was expected of me in the task.

Overall, the first three weeks turned out to be some of the most challenging for me. Of course, it wasn't just because of the extensive pull requests. At that time, I also had a full-time job that took up a lot of time and drained me of energy. Consequently, the period of sleepless nights didn't end there. I tried to work on the academic tasks periodically during the workday, but I realized that I needed more time to understand the assignments, which meant I had to sit up late at night. I aimed to give my best effort to receive positive feedback from the coaches and demonstrate my willingness to work and grow. However, no matter how much time I dedicated during those three weeks, it wasn't enough. I often got tired quickly because I truly lacked rest, resulting in an average assessment of 3.7. Did it upset me? Yes. Did I want to perform better? Yes, but I objectively understood that I lacked resources and time.

The final straw came at the end of the third week when I put all my efforts into the project and, in the end, didn't even receive a 4 for my hard work, receiving feedback like this:

"Alina, it seems to us that if you spent more time on the project (we know you work at night and all that), but during your most active hours, you would have outperformed half of the team (in a good way). We know you are very strong, but something distracts you. Sooner or later, you will have to make a choice - move forward or backward. The decision is yours to make 🔴 🆚 🔵 (reference to The Matrix - where Morpheus offers Neo the choice between red and blue pills - not drugs)."

Vlad Zubko, my coach

This can be considered my personal turning point during the academy. I needed to prioritize my life and figure out what I wanted to do next. The answer came quickly - I yearned for change. I wanted to grow, develop further, and eventually, try myself out as a full-stack developer. To achieve this desire, I obviously needed much more free time than I had at that moment. So, it was time to turn desires into actions. The first decision was clear - I needed to take a vacation at my previous job. And hallelujah, it helped!

The fourth week was spent without any distracting factors. I dedicated all my time to the academy, took on substantial tasks, actively participated in chats, and identified potential issues in our upcoming application. Of course, this 'leap' was noticed and appreciated. As a result, receiving such positive and dreamt-of feedback was like a spoonful of honey. I realized how engaging it was for me during that week, so slowing down my work was definitely not part of my plans. And the next stop - an offer from BS.

"Alina, it seems like you've chosen the right pill (from Morpheus - not drugs). The result - fire, keep going in the same spirit. We're very pleased to work with you. Next course - keep an eye on more pull requests (and, of course, don't stop). Hopefully, the hint is clear."

Vlad Zubko, my coach

The dream offer from Binary Studio

In the 5th week of the academy, a Talent Sourcer contacted me with an offer to schedule a joint meeting, followed by a technical interview. I could say that I was very nervous before the conversation, but that wasn't the case at all. At that moment, I had no idea it would be my first technical interview. I remember deciding to ask my coach if I needed to prepare for this call in any way, and the response was, "Nah. Just relax and enjoy it." Truthfully, I was quite anxious during the conversation, feeling like everything I knew and had done before was simply slipping out of my mind. After it ended, I felt like it was my personal failure. But in reality, it wasn't as bad as I had imagined (big spoiler - I received an offer to collaborate). Yes, I didn't answer all the questions, but I understood where I needed to progress and what I needed to improve. Somehow, in these less successful moments, all one's own achievements and positive sides tend to be forgotten. So, as a reminder to myself and everyone starting this journey - daily reminder:

  • You will be evaluated not just based on a single test - be it a technical interview, demonstrating your work, or closing a ticket. Every single day and decision you make matters.

  • Your social skills play a significant role, and this should be taken into account. Of course, it's great when you are a super-skilled tech candidate. However, if you have significant communication gaps with other people, it's unlikely that someone would want to work with you in a team.

  • After the academy, people usually look for positions as juniors. No one expects you to be proficient in everything right away.

When I received positive feedback and the offer to join the team, I was a bit nervous, but at the same time excited. It was the moment I had been waiting for, the moment that would change my current life, filling it with new people and experiences. I was more ready for it than ever before. The pleasant news was that I would be joining the project where all my coaches—Vlad, Pasha, and Andrii — were already working.

During the academy, it turned out they were looking for a new strong player to join their team, someone they could rely on. As they mentioned later, they wanted to 'go on vacation together, leaving the work process without any worries.' At that time, I believed that my future technical team consisted of experienced, proactive guys (which wasn't entirely true) with several years of experience, and I feared I might not feel strong enough or knowledgeable enough in technical matters. Consequently, I started having internal doubts about whether I was the right fit and whether I could live up to their expectations.

Onboarding - how was it?

On October 3rd, it was my first working day, which marked the beginning of my onboarding process. Everything went very smoothly, I felt constant support and total understanding from my teammates. I tried to become a part of this team as quickly as possible. Working on a commercial project and an academic one had a similar organizational flow. Every day involved daily meetings, progress reports on features, and weekly demos with the client.

The most challenging task for me at that time was probably understanding the existing project. Compared to the academic experience where you build everything from scratch and understand step by step, here a large amount of code was already written, as the project had been existing for two years. Also, the real-life experience of presenting my work was daunting initially. I was worried about not understanding the client's questions, not expressing my thoughts correctly, or not having answers to certain questions. However, over time, these concerns bothered me less and less, and now I'm quite comfortable with demo meetings.

Once I received a valuable piece of advice that presenting your work isn't an innate talent but a developed skill. If you feel certain fears or weaknesses, the only way to overcome them or improve is through real practice. Perhaps the first attempt may not be entirely successful, but the 100th (which will be for sure successful) doesn't happen without the first.

Overall, my onboarding brings back very warm memories for me. I tried to come to the main office in Lviv as often as possible, met with my teammates, and it was a wonderful experience for me.

Changes in the work project

Toward the end of 2022, some changes began to occur within my team. Initially, one of my colleagues transitioned to part-time work, and later decided to dedicate more time to studies, leading to her resignation. Subsequently, another colleague, due to decisions made by the client and the company, left our team. As a result, the technical team of my project consisted of three of my mentors and me. Did it concern me? Partially, yes. Did I feel discomfort being in a male-dominated tech team? Initially, yes, but not later. Now I understand that I was needlessly stressing myself out in the beginning.

At that moment, I began comparing myself to my colleagues and realized they were way ahead of me. Thoughts started creeping in that perhaps, with this ongoing trend, I might be the next one to leave the team. However, that was never even discussed - those were merely my own anxieties. I liked (and still do) the project and the people I work with, so I wouldn't want to miss out on such an opportunity.

Over time, my self-confidence grew. I started receiving positive feedback from colleagues and the client's side. During a conversation with the tech lead of the team, I was reminded once again that I shouldn't compare my progress to the progress of other colleagues who have much more experience. But at the same time, there's no need to fear expressing my thoughts in order to be part of the team. It's important to be on the same page, voice concerns or questions, and not stay stagnant.

That’s it :)

You’re at the end of my brief story about the beginning of my personal journey. Perhaps someone will find themselves in parts of this story. Perhaps it will motivate someone to start their own journey. In any case, I hope you found it interesting (and sometimes even enjoyable or fun) to read my perspective on these situations and the lessons learned from them. There’s more to come, and even better <3 And remember:

Everything in your life is only what you had the courage for <3

Working team squad