Like A Girl

Pushing the conversation on gender equality.

Code Like A Girl

25 things that I learnt about life because of coding

THE DARK NIGHT OF THE SOUL — straightwoo

I have worked in a variety of fields in my life, and the most recent is as a software developer in a job that I love. I am only starting this journey but I would like to share a few of the collateral effects that learning how to code had on my professional and personal life.

1.Abstraction is hard, but you can learn it — This was the first and still is an ongoing lesson, but coding gave me the ability to visualise things inside my head first, conceptualise them, and realise them without actually seeing them physically, which shifted it from being an anxiety-inducing approach for me to a strong daily work tool.

2. Good code has a formula, how you learn it doesn’t have to — Learn how you learn before you take up coding lessons, it will allow for easier victory. But being prepared very seldom comes with any guidance. Therefore here is some: find out how do you thrive when learning. Is it on a step-by-step method? Are you a linear learner? one that needs to know each step that lies ahead? or are you a systemic one? who feels that a low level of syllabus complexity actually keeps you engaged and moves you forward? or even an organic one? who feel very comfortable making it up as you go? if yes, more power to you, if you don’t know, try to find out now, for the sake of keeping on top of your preparation, but this will eventually be the basis of how you will plan to tackle your daily workload once you have a developer job.

3. Coding will shift your mindset — but it will not allow you to thrive if you think it will transform you into someone else entirely, instead you have to work with the gifts that you already have and bring them forth. Find your style and stick to it, always do what works for you, and don’t compare yourself to others. Look out for what makes your life easier, no point re-inventing the wheel.

4. Your code isn’t perfect but it is good enough — Improvement is a continuous process, getting things perfect isn’t easy (perfection is also relative), what matters is having it ready and workable for now and to keep in mind on improving it. Your code quality, just like life, will teach you from your mistakes, and to course-correct it, takes time, money and energy. The code equivalent to that is called refactoring, and refactoring overly complex and extensive code is just as hard as learning from your mistakes. Good enough and ready to use is better than perfect and pending.

5. There needs to be a reason for the problem to be solved — Find what it is first, only then you start strategising.

6. There will be a multitude of people out there looking to help you out. — Trust.

7. There are many learning curves, and you usually won’t make a few of them, it’s OK. — Accept it now. You won’t learn everything. Not because you can’t, but there is just so much information retained about code that allows you to still have a functioning brain and life outside the realms of development. There are just not enough hours in the day, accept that. You have value, talent, and potential, so give yourself permission to know about most things and be happy to master a few of them.

8. Be grateful it was a great undertaking to be where you are — be it with or without a job, right now.

9. Projecting growth, being empathetic, and staying eager to learn — is what gets you hired, not your code quality.

10. Try to get employment at any cost, if you have to wherever they are willing to take you, but at first, do not settle. — You will try to get employment as a developer, and the interviews start to come in, and you might have a few of your dream companies knocking down your door, until they aren’t, and you are left to choose among the slim pickings just to not be out of a job, and you know what? YES, go for it. Go for the low paying job that will get you to your next cool job, but start somewhere. Inertia will allow fear to settle in and we can’t have that in the middle of this journey. Try to make it work, even when they don’t pay so well, or the work is far away if you are not getting into debt and signing a long contract, I say go for it, and learn a lot and leave soon.

11. People will be kind to you very often, but you have to be kind to yourself daily — Yes, you are a junior and you don’t know much yet, but still, most people are nice people, even programmers. There are all types of people, and personalities among us, you will come across mentors, inspiring, patient colleagues, and some fun people willing to help you just for the joy of seeing you learn, or having fun talking about code or better yet getting the work done.

12. If you don’t have a work ethic, create one. In this fast-paced world of web-development and start-ups, every minute counts. Be on time, and slacking off shouldn’t be a thing you do on your working hours. You will be replaced.

13. If you don’t speak up, your team will never achieve anything other than what they are achieving right now. — Learn what you are good at and do it, but also observe and appreciate what your teammates do well and bringing it together will be an asynchronous effort worth watching. Your team matters, never forget that.

14. People will be ruthless about your code quality, and it will pinch every review-time, but much less than when they mention your appearance or background has anything to do with your ability to code. — You can code.

15. Still, you will feel like an impostor every single day of your life — as in “Seriously, I have no idea what I am doing” and that my friend is just a sign that you are on the right direction.

16. Keep asking questions. Be vulnerable and be humble and accept your limitations and then overcome them. There is plenty of time to be prideful when you are dead.

17. Be impatient with things that are appropriate. Like fixing that bug or your internet speed or IE 11. Declaring you aren’t making an impact when you have been around six months on a new job, is just nuts. It will take a few years, so boys and girls calm your tits.

18. You have to keep learning, but the concepts absorption does come with different speeds to everyone, that is the beauty of it. Take it slow, or at lightning speed, you will find a company that will look at you and is all in. Give it time.

19. Eat and sleep well — You deserve it!

20. Make a habit of going on vacation and bringing back a good mood.

21. Listen more than you talk —everybody wants to make things better, interpret what they are saying, take the time to form your thoughts well, and only then you will have a productive discussion.

22. Developing takes effort — and effort is not the same as struggle or hard-work, it is just a job and just code, keep at it but don’t lose your peace over it.

23. Coding won’t change the world, you have to go do it —

24. Lazy, impatient and over-confident — are golden qualities here, those make a good developer.

25. Fixing things by removing code — feels so great, its like decluttering your home.

Bonus point

26. Experience it, don’t just watch — create something.