We are a relatively large IT-team here at Liefery. We have a handful of mobile developers, front-end developers, work students, backend developers, and QA people. We have senior developers, leads, mid level developers, junior developers, and a role we find particularly valuable: the trainee.
Training developers is incredibly important to us. Senior developers don’t grow on trees. They were once mid-levels, who were once juniors, who were once newbies, trying to make sense of their first piece of code. Everyone has to start somewhere. Training new developers gives us the opportunity to pass on our knowledge, level up people with diverse educational backgrounds, and create thoughtful caretakers for our codebase.
Nicole started at Liefery as a trainee but she first came to us as an applicant for Rails Girls Summer of Code 2018 (RGSoC). We were blown away by her excitement and desire to learn how to program, so when RGSoC didn’t work out, we offered her a traineeship and she’s been with us since May. Her first project was to build us a slackbot that reminds us to write our standups in Slack and then posts them in a dedicated channel the following day. Once completed, she moved onto our main app, working with our CSV generators and APIs. Tam, one of our developers, interviewed her about her trainee experience and how she started her programming career.
Tam: Why did you want to learn how to program?
Nicole: In El Salvador, programming is not a common choice of study and is not considered to be a successful career path. There is little support from parents, teachers, and society compared to traditional professions. Even though I have always had a passion for science and mathematical logic, I wrongly believed that computers and programming were definitely not interesting or “cool”. I was truly convinced that programming was a world exclusively for men and had no space for me in it.
When I started traveling and discovering different cultures, societies, and mindsets, I also found myself being more curious about what programming can create. I had different ideas about what I wanted to develop, however I didn’t have the knowledge or courage to do so. I felt frustrated and limited. Finally, in Berlin, I took the courage to explore my curiosity for programming and started talking about it with different friends who are involved in the coding community. I found huge support and reassurance that programming is not just for men, nor solely for those with a computer science degree. I then started to learn from different online sources, such as The Odin Project, Codecademy, and freeCodeCamp. Over time, I realized I was really enjoying programming and wanted to learn it officially. Over the next few months I continued learning online and I also started to build a website from scratch. The more time I spend improving my programming skills, the more passionate I become about it.
In conclusion I learned to program because I had many ideas I wanted to implement and bring to life, but couldn’t. That was my first motivation, but after I started to learn more and code more, it became extremely fun.
Tam: What brought you to Liefery?
Nicole: My teammate and I were looking for coaching companies in Berlin for RGSoC 2018 and came across the tweet from Liefery saying that they wanted to be a coaching company. Their description was very friendly which lead us to contact them. During our remote interview it became obvious that Liefery is a company that is approachable, knowledgeable and interested in growing and supporting people new to programming. I personally felt very safe to have them as our “coaching company”. I decided to apply to Liefery because I wanted to learn from people who have more experience, not just in terms of coding skills but also how to be part of a team. It is clear that learning how to code isn’t the only important trade of a programmer, but also team skills and communication. With Liefery I have the opportunity to have a great coach and a team full of coworkers who are respectful, friendly, diverse, and knowledgeable, and who have supported my growth as a developer since the very beginning.
Tam: What has been your biggest coding accomplishment so far?
Nicole: When it comes to accomplishments I could honestly say that everyday has become a great one for me. One of the perks of learning how to code while working in an established company is that you learn so much, and your knowledge from the day before will rarely stay at the same level, instead it will grow a little bit every day. When I started my internship, being able to successfully write a piece of Ruby code that made sense and worked was a win, another day was being able to understand what an API is for and why we need RSpec, I mean… writing code to test code is a concept that wowed my brain. Nowadays, writing feature tests using different integrations and making them pass brings a huge smile to my face.
Yes, I know this isn’t the answer you were waiting for so let’s compromise. I will describe ONE of my a biggest accomplishments instead. Once I started to work on Liefery’s backend, every time I was assigned a ticket my heart would jump a beat, I was scared, scared of not being able to deliver and look like an idiot. Although people around me assured me there was no pressure and it’s okay not to know, my deep insides were yelling “you need to own this Nicole”. I would read a ticket and my mind would be blank, no idea how to solve it, where to start, which files to change, what did other people’s code mean? I felt lost and frustrated. I knew this was a phase, but nevertheless I felt restless. Around ticket number four I noticed my heart didn’t jump a beat any longer, my mind was filled with ideas. I had a sense of which files are important and how to figure out what others people’s code meant. For me, that was progress, that was happiness. I left more productive and it gave me a feeling of success. I now struggle with other problems and more complicated topics, but I will always remember: have patience and push though these normal, frustrating phases because this will make me a better developer. Also it never stops, that’s the developer’s cycle.
Tam: What has been most surprising to you so far about your new career?
Nicole: When it comes to team development I was surprised about the acceptance of juniors, interns and trainees. I had to get used to the mindset that not knowing is okay, that learning is okay, that asking is okay, that being confused it’s okay. I had the illusion that companies cared only about performance and had little patience for teaching, however in Liefery I was happily surprised that it wasn’t the case.
When it comes to the work, I was surprised about the amount of processes and integrations that are used to turn an idea into actual code in production. We create a ticket, code, push the code to GitHub, do PR reviews, add organizational labels, run rubocop, etc. It was overwhelming to learn, and a lot of the time I was confused why we needed them, however now that I’m very used to the workflow, I see that is such a vital part of our team.
Tam: What was the structure of your traineeship like?
Nicole: Since the very first day I was guided and mentored by an awesome and wise coach, Adam (one of our senior developers). He welcomed me and gave me a Liefery introduction, introduced me to the team and gave me the tasks to work on. He would guide me through difficult implementations, explain in a calm manner things I would not understand, and had the biggest patience to teach me many concepts and processes that were new to me. We had regular one-on-one meetings and daily check-ins to see how tasks are progressing, but also to see how I was doing emotionally and mentally throughout this whole traineeship ride. Adam will forever be the person who helped me grow and taught me so many of the things I know now as a developer, therefore I’ll take a pause in this answer to say, thank you Adam for everything. Besides, Adam, everyone in the team was open and ready to help if it was needed. Tam, my first Liefery contact and someone I look up to, would kindly lecture me every time I would say “I have a stupid question”. She would say “Nicole, there aren’t any stupid questions, I’m here to help”, and that’s how I slowly gained confidence in myself and my development process. In conclusion, the structure of my traineeship consisted of a main mentor, followed by a strong team of co-workers who would support me at any given time, always using kind words, as well as a clear set of tasks that would challenge me and help me grow my skills.
I’m so grateful to everyone in our team, from the amazing front-enders who have knowledge of the backend and Android too (I know, they are really talented, right?), to our mobile team, to all the backend people who I respect and who share their knowledge with me, all the way to our CTO Simon, and our tech lead Tobi, who took a big risk by giving me this opportunity.
Tam: What advice would you give to people who are thinking about applying for a traineeship? OR What advice would you give people who are learning to code?
Nicole: I would tell people who are learning how to code that the hardest thing is to lose the fear of looking stupid and incompetent and get yourself out there. Go to meet-ups, get-togethers, hackathons and workshops. Apply for internships even though you might think you’re not skilled enough, let them decide. Stay motivated, surround yourself with people who could help you keep on track and progress. And ultimately, don’t worry, keep a steady slow pace and you will get there. It might seem impossible now and you might even hear some discouraging words, but as long as you keep focused, things will come. Our CTO once told me something that stuck with me: “even if you don’t feel you are making progress, you are, so keep going”.
My advice to someone applying for a traineeship is to do it! Don’t think about it too long, even if all the requirements don’t fit. Staying motivated and wanting to learn is the most important part. Show the company you are applying to that you are willing to put in the work to become a developer. Don’t be afraid of being the person with least amount of knowledge in the room, embrace it and grow.
Tam: Thanks Nicole!
We’re proud of our trainee program, and hope to take on more trainees in the future. We’re also thrilled with the success we’ve had in leveling up programming newcomers. Nicole was recently promoted to Junior Developer! Congrats Nicole!