Software engineers diary — week 5 (previous week)
You are NOT (❗) expected to know all the answers️
Last week I had an interesting conversation with one of the students at CodeYourFuture. I was encouraging her to give feedback to mentors so that they could develop their teaching practices. While talking about this, she mentioned that it can be tough to ask a question or admit that you don’t understand something. She expressed a not so uncommon belief that when working as software engineers we are expected to know the answers. This most definitely does not apply to me or some of the smartest people that I have ever worked with.
However, one thing that I do expect from any professional around me is to have the capability to learn. I believe that the ability to learn is one of the most important skills one can develop and posses. Time spent learning is an investment that pays insane dividends in the long-run. I want to end this intro with a recommendation. This Learning How to Learn course is the best one I have ever found with enough scientific research backing it up to satisfy most of the critics. I went through it twice and plan to do it a 3rd time soon. And the best part — it’s free!
Things that I need to continue doing consciously
- Tweet about what I learn with as much context as possible
It makes it easier for me to search for things that I’ve noted in the past or people that are experts in their field.
- Reflect on things that I’ve learned during the week
This is incredibly valuable when trying to solidify the knowledge so that it is ingrained in your memory for longer.
Last weeks goals
- Make a contribution to Prepack
✖ Miss. This proved to be a bigger challenge than I thought initially. There’s a lot of concepts to take in and a big codebase to understand. Since this is bigger than I initially thought I am changing my approach and instead of focusing on the outcome that’s not necessarily dependant on me I will focus on things that are totally in my control. Therefore, instead of focusing on the contribution (which I will still aim towards in the long-run) I will focus on learning different aspects of this project and sharing my learnings with others.
- Record a video of myself contributing to Prepack
✖ Miss. Similar reason as above — I wasn’t able to get to a place where I could make a contribution, so there was nothing to record 🙁
- Reach out to 3 people who could help me to help others learn to code!
✅ Exceeded. Not only did I reach out to 3 places (codebar, CodeYourFuture, CodeFirstGirls), I managed to hit the ground running and help some students at CodeYourFuture, which I am incredibly happy about! It was incredibly satisfying seeing the student’s eyes light up when she realised she can change the background image of her new website to a beautiful sky image sent by her brother from Africa.
- Have a vision and plan for where do I want to get to in the long term
✔ Met. As much as I would like to have some checkboxes that, if ticked, would progress one to the next level as a software engineer — there are none that I could find. I do not see myself as a manager nor do I see myself as a full-time open-source hacker. What I do see myself as is explorer, searching for interesting problems that, if solved, could provide values to us as a community. Necessity is the bit that always drove me to learning new things. Since problems generate necessity, this is what I will continue to search for.
So where do I want to get? I want to solve increasingly more difficult (and therefore interesting) problems. That means I will need to have a way to asses the difficulty of a problem and start collecting a list of problems that I have already solved. The journey continues…
Goals for this week
- Explain any of the concepts that Prepack utilises to do it’s job in my own words
I think this is a useful exercise, which will help me towards being able to contribute to the project.
- Create a place to share my list of (programming) problems 😃
I don’t know where will this lead me, but I think seeing all of the problems in one place may teach me something 🙂 and I can also use this as an excuse to finally have a chance to create a PWA 🎉❕
Why do I write this?
This helps me to focus on my goals and makes me accountable for them. Ideally people will disagree with me and through these discussions I will be able to get to places faster. Maybe others will find it useful, because it certainly would be interesting to me to get a glimpse of what others (especially the greats like Kyle Simpson, Dan Abramov, Kent C. Dodds and many others) are thinking about.