I want to share #we_coded thoughts as an opportunity to say - use your voice in various ways, especially to support each other on the dev journey.
I've started my blog in 2016 and initially I felt embarrassed to admit it was mine. I didn't sign it and wouldn't confess it was me writing, even though my closest friends knew I was writing about programming.
It wasn't that I was ashamed of writing about code, but rather that I felt incompetent. Not ready to face criticism and unpleasant comments. I was still studying Faculty of Computing Science and working as a Junior to be "allowed" to speak about programming. I knew too little, but I also I’d love to share my current stage of the knowlegde to those who needed it.
I was too afraid to use my voice openly.
Even when, I was presenting at Frontownia a front-end meeting (on "How to build landing pages that convert like crazy") and mentor at PyCode Workshops 2015, and later Django Girls and so on..., but I always felt it was not enough.
There were many moments in my coding career when I just wanted to cry because I didn't know how to move forward or couldn't fix an issue.
But I survived.
And it have been 9 years!
Today, I work at a great company as Software Engineer and spare my time to the foundation CODE:ME, mentoring, teaching programming.
I have founded a local women's tech community, organize groups & meetings - Nerds Coding Gang, and maintain a blog (flynerd.pl with free python course in polish).
I offer support to everyone to prevent those unnecessary tears over "it's just a machine" and "it's just a code".
Last year, I received the Women Who Code, Technologies to Watch Award. Did I deserve it? I don't know, but it definitely made me think and act, realizing that someone is watching and I can be an inspiration. My sister found her path to IT, I hope you are on yours too.
Here are some tips if you're just starting your career as a developer, regardless of your identity.
You don't have to love your job, but why spend 8 hours a day on something you hate?
Ok, I love what I'm doing, and at times, I hate it. It's a love-hate relationship. If you imagine programmers as people from whose fingertips only clean and functional code flows, then… you have a vivid imagination 😉
Programming is actually a tedious task, and the number of lines of code produced is often inversely proportional to the time spent thinking about the complexity of a given problem and finding a solution. Sometimes the most efficient code is just two lines long, and sometimes a task titled "simple UI changes" turns out to be an 8-day backend task, whose visible end result is displaying an additional column in a table. And this is not hyperbole, but a real-life example.
There are days when reality hits you in the face, and you have to deal with it, feeling frustrated that technology isn't responding to you.
Once (in was 2013) I wrote:
"While searching for a solution to a given task or algorithm, I often feel like a homing pigeon searching for its route...
I forgot to add:
...a blind homing pigeon that suffers from a fear of heights and Alzheimer's."
Everyone has started at some point and felt this way.
Coding is also about working with people
Once, I thought programming was a calm, stress-free, well-paid job. Today, I know that only the last part is true 😉 Maybe it's also a matter of approach, but I can't stand leaving work with my code not working.
It has to be 1:0 for me, end of story. (But lastly, I'm working at my stress-free attitude - wish me luck)
If it doesn't work out – tough, QA will joyfully hit the "rejected" button.
You have to learn from mistakes. Over the last 8 years, I've gained a vast amount of technical skills, but also discovered what "teamwork" really means, and learned quite a bit about myself. Example, I'm not naturally a "team player". I prefer to concentrate on tasks within my own bubble. And that's ok - I'm able to work through it. At the same time, I'm a natural leader with the ability to convince others of my ideas, yet I have also learned how to listen more. I have become the coworker I would prefer to meet, finding ways to effectively collaborate with my team.
Don't be afraid to ask questions
Learning when to ask for help is an important part of being a developer. When I was a Junior, I didn't want to be the person who constantly asks silly questions. On the other hand, I didn't want to spend hours on something, having a nervous breakdown, when the help of a more experienced developer could simply save a lot of time and stress.
There’s no silly questions. And yes, you can and you definitely will repeat same questions. Until finally, you understands.
When I started my internship, I was told to spend 30 minutes searching, and if I didn't know what and how – to ask and not waste time. The worse situation is when you don't even know what to ask about.
Find a mentor and ask questions, there's nothing wrong in it.
Don't be afraid to start, seniors start too
You should start from the beginning. Every child in preschool knows this. Unfortunately, it's not always possible.
When I started working, I joined a company that operates in the market. We develop code that has been evolving for several years. New features are added, bugs are fixed, old code needs refactoring, and some of it we say goodbye to forever.
The domain knowledge or project-specific knowledge is vast, and acquiring this knowledge always takes time.
Your career path is a journey or marathon, not a sprint. You grow in your own time.
The Rubber Duck method and all little steps
To this day, I use the rubber duck method.
Really! Although I thought that the whole idea of talking to an object was a joke, I myself experienced that vocalizing my thoughts aloud suggests a solution.
It also happens that by introducing another developer to the task, we are forced to recount everything we already know. It's possible that at that moment, the solution will present itself.
Writing down steps or creating flowcharts of how I want to solve a problem can help. This is also a good basis for discussion with another developer when something doesn't work out. Then, it could turns out that I was missing some information, which I would never have figured out on my own, or it would have taken me a tremendous amount of time, and all I needed to do was ask.
Dev Journal
Write down interesting statements or intriguing snippets of code. I collect all tips, pro-tips, and useful information in my notes. They are enriching, but selection is necessary - there are so many interesting topics that there's no time to dedicate to each one of them.
I write it down too little, but partly that's what my blog and dev.to are for.
Nevertheless, #We_Coded! 🦄
When I was starting out, initiatives for women in tech were just beginning to gain momentum. Offensive or just unpleasant jokes were quite commonplace (one of very popular during my studies: "Two girls are walking, one is ugly and the other is also from IT"), and women constituted only 10% of Computer Science programs (now slowly growing).
I don't believe in artificial quotas, but I have personally experienced that being the only girl in the room is not... pleasant. You need role models for growth. When you see other people similar to you, your presence no longer feels out of place. You don't feel odd. It has nothing to do with whether I work well with men or not. Again, currently, I am the only woman in a team of 10 developers, such is life in tech roles.
Sharing space with people who reflect different perspectives - with whom we don't have to agree, enriches the work environment and builds a sense of belonging and acceptance, as opposed to isolation. Everyone, from juniors, should feel like a valuable member of the team. Let give each other space to use their voices.
We have achieved significant social progress since when I started, making IT much more diverse & inclusive space. But it would not have been possible without efforts to create a more inclusive environment, driven by all allies.
Let's keep doing this, keep creating an open and empathetic environment.
Top comments (6)
Thank you for sharing your advice, and congratulations on 9 years!
Thanks for sharing your thoughts. I feel all of them.
You just also made me realised than I'm underestimate my experience and not counting everything before Android and similar to you, there is lots of things that could be told and could be counted.
Similar to you I've always felt not good enought to start speaking out loud, beeing afraid to learn others, sharing experience.. Also this feeling from outside "our world" that our work is well-payed but none see additional things.
The base to progress, junior or not! Thanks Rita, we need more diversity and cool people in IT ! 🙌
LOL with this: "Sometimes the most efficient code is just two lines long, and sometimes a task titled "simple UI changes" turns out to be an 8-day backend task". Great article.
thank you! yes it was mine job to add those just "simple UI changes" :D
Me too, but as front end, in my last sprint I solve a "Dificult" task with some lines removed, and spend the rest of it with a "Simple UI change" kkkkkkk