Hello ! I’m Xavier Jouvenot and today I want to talk to your about my experience during the "Learn in Public". This is article is the first of a small series where I will describe how I achieve the Missions given by CodeNewbie, in order to complete the challenge, and what experience I gained about this challenge.
Disclaimer: I am stating this challenge a little later than when it was first available, as I didn’t have the time to start it at the beginning of February. But I figure that, whatever the time when I did it, it could only bring me some value experiences 🙂
Self promotion: Here are a few social networks where you can follow me and check my work as a programmer and a writer 😉
The Challenge process
If you’ve never been part of one of CodeNewbie challenge, I want to describe a little bit how it unfolds. This year, there was several challenges available for anyone to pick, each one with a different objective. I choose the one named "Learn in Public" since it is focus one something I am trying to do more, and I figure that it will give me a lot of great advise to improve myself in this area.
So once I enlisted in this challenge, in the middle of January (if I recall correctly), I was notified that the challenge would start later, and that I would be notified at that moment. Once the challenge will have started, I will be given on Mission each week, for 5 weeks. At the time on which I am writing this article, I already have received all those mail, but have one read the one about the Mission 1, to not spoil myself, and follow the process of the challenge as if I have been able to do it at the time of the release.
The First Mission
For our first mission, I received a large email, with a lot of information: a clear goal for this mission, some great resources about the topic of learning in public, what learning is public actually means, some homework with clear instructions on what to do in order to complete the mission.
The goal for this mission is really straightforward: > Clarify what you’ll be focusing on throughout the challenge, why you think it will be valuable for others to see, and how you’ll organize it all.
Learning in public, what it means
To make sure that everyone is on the same page, CodeNewbie gives us a definition about how they define learning in public: > Learning in public is what happens when you share your insights and knowledge on a technical topic as you become an expert on it.
The thing I found the more important in this definition "what happen when", as you learning in public isn’t only posting about something you learned, but also everything that goes before and after the act of posting about this information, like the research you did to acquire this knowledge, and to craft the form of this information to present it to the world, or the discussions with other people which happens once you have delivered your post to the world.
CodeNewbie also talks about the effect of "learning-by-teaching". I really invite you to look at the documentation on this subject, it is really interesting! But to resume it quickly, this is the fact that, when you are teaching someone a subject, 2 things happens: you tend to remember the things you are teaching better than if you only were studying them, and, in order to be able to explain something to someone, we also tend to dig a little deeper, to understand more the subject than if we were "only" a student.
Finally, there is a very altruist side in telling to the people what you learn, as it gives to the world another perspective on the subject you are learning: your point of view. And your voice can, and will probably help someone else to either get interested to the topic you are learning, or make them understand it because of how you explained it. And I really like that idea! 😊
This Mission Homework is to decide on a concept/challenge for the challenge, describe why I picked it and why I want to sharing my journey in public will help others. To help us do this homework, CodeNewbie has crafted a list of questions to make us think about everything we need to reflect on in order to answer the homework with the most appropriate answer for ourselves.
"Learning Goals" Reflexion
This section is composed of 5 questions, and I am going to give my answers here. This will be my way to commit to the rest of the challenge, as people will be able to make me accountable to finishing this series, and, it will also force me to reflect even more on my answers, since other people (you 😉) are going to read them.
Why did you sign up for the "Learn in Public" challenge over any of the other challenges we offer?
Well, there are 4 other challenges, and the one which match with me, at the moment is "Learn in Public". Indeed, I have already started coding some time about 10 years ago, so the "Start Coding" doesn’t correspond to me. Moreover, I already have a job as a developer, so, the challenges "Code More" and "Get A Job" are not a good fit either. Finally, I managed to write one article a week, during December and January, and to write 2 articles a week on February, on my personal blog, so, for now, the "Write More" challenge is not what I am looking for.
Learning in public is basically what I do when on most of the article I write, but I figure that, with this challenge, I will be able to do it in a better way, for me, and for my readers. I will probably do the other challenges later, in the year, since I am curious about them 😄
My priority with learning in public is… ?
My first priority with learning in public is to improve myself, and to keep myself accountable in my learning journey.
I want to improve the way I am currently learning in public, to expose myself and my work more to the public. I know that this will allow me to have more feedback on what I am doing in, and how I can improve my skills, as I will be able to interact with different people and learn from them too!
Finally, I want to go out of my comfort zone, in order to grow as a person ! I am someone who is rather shy, in real life and in my digital life too! So, by exposing myself more to other people, I know that I will grow, and improve myself, which is a really satisfying feeling, the feeling of progress 😊
Which platform/field/subject would you like to focus your learning on over the next five weeks?
I really had to think about this one, as I didn’t know exactly on what to focus on. I have several ideas of projects I can develop as a side project, but for now, I am more focused on making my habit of writing consistent. So I turned to what I am currently learning in my job, which is to improve the existing python code base.
Come up with a concrete project or area of exploration to focus on over the next 5 weeks.
In order to achieve the goal of improving an existing a Python code base, I am going to integrate the tool pylint. So, in the next 5 weeks, I am going to focus on learning how to use this tool, what its possibilities are and how to integrate it in the main CI platforms available.
Use the statement in the previous question to come up with a name for your "Leaning in public" goal
As I am writing those lines, I came up with different titles, but I reduced this list to 2, from which I will have to choose later, maybe I will start writing the first article of this series:
- Enhancing your Python code with pylint
- Python code quality: pylint
Learning Outline Reflexion
This section is also composed of 5 questions, which allows us to come up with the final title of the series to come and the title of each entry to this series.
What skill or knowledge do you already possess that will help you to accomplish your learning ?
I have very little experience with the Python language, but I have more experience with code quality, and CI platforms in general. I am also good with git and use to write articles, which will come handy to document my learning, and my experience. I can still improve my English (I am not a native English speaker) and my writing skill (improving those skill is a never ending quest 😆)
What skills, lessons, or concepts do you think you need to focus/improve upon ?
For this series in particular, I need to learn more about Python, and about what Pylint propose in term of feature: what are the elements in can help to improve in a Python code base, what are the issues it can detect in the code, how to use it, what metrics to follow this tool can give us.
Between writing and video-making, what is your preferred medium of teaching ?
I am familiar with writing, as I publish articles on different platforms (blog, Dev.to, CodeNewbie, Medium). I have no experience with video making, but this is something I would love to try, I think that it could be easier to explain some subject though that media. If you, dear reader, have some useful resources on how to start in video-making, for a developer, feel free to post it in comment 😉
Use everything you shared above to come up with the title of your series
After more reflexion, I think that I am going to go with: "Taking your Python code to the next level with Pylint"
I really like this title, I find it fun and it describe correctly what this series is going to be about.
What will be the focus of each entry in the series ?
Entry 1: Introduction to Pylint
- This entry is going to describe the possibilities of Pylint and how to use it on some code examples.
Entry 2: Pylint workflow integration in Azure Pipelines
- This entry is going to focus on how to improve an existing code base incrementally using the CI Azure Pipelines
Entry 3: Pylint workflow integration in Appveyor
- This entry is going to focus on how to improve an existing code base incrementally using the CI Appveyor
Entry 4: Pylint workflow integration in GitHub Actions
- This entry is going to focus on how to improve an existing code base incrementally using the CI GitHub Actions
Entry 5: Pylint workflow integration in Circle CI
- This entry is going to focus on how to improve an existing code base incrementally using the Circle CI
Turning in this Homework
As you may probably guess, writing an article about the first Mission to do the homework wasn’t the way CodeNewbie ask us to do it 😆
Indeed, a dedicated thread has been open for people to turn in their homework. Moreover, in order to help each other and bound the community, CodeNewbie also ask us to reply to other people homework.
So in order to complete this mission, I am going to publish this article and link it in a comment of the dedicated thread on CodeNewbie website. I have already commented below the homework of several people in order to present myself and to see what they will be doing for the rest of the challenge 😊
To help us even more, CodeNewbie has given us some more very interesting resources that I would like to share to you too, as they can also be useful to you. There are 4 resources on the topic of "Learning in Public", and there is also a self-care section which is such a nice attention to us, I love it ! It is so nice to remind people that they need to take care of themselves, that they can, with some simple gestures, they can feel better, relieve stress and anxiety, when the world tend to do the opposite. I repeat myself, but I love those kind of nice attention to others 💖
So here are the 4 resources on "Leaning in public":
- How I’m Learning to Code and How You Can Too, by Ceora Ford
- How to Teach Code, by Ali Spittel
- Effective Learning with Tutorials, by Rahat Chowdhury
- Blogpost Annealing, by swyx
And the Self Care tip of the Mission is a tip on releasing stress by simply lowering your shoulders. Personally, by doing it, I felt instantaneously more relaxed! Then, by rolling my shoulders back and forth and taking a few deep breath, I was even better. CodeNewbie even linked this nice demo 😊
Even if I am late, this first mission was very interesting and fun to do. I really enjoyed the bonus resources and taking the time to reflect on what is to come is always exciting for me ! 😊
Thank you all for reading this article, And until my next article, have a terrific day 🙂