Description
Since CodeNewbie is doing a learn in public challenge this month, in this episode we talk all about learning in public with Gift Egwuenu, Frontend Developer, and past CodeLand speaker on the topic of learning in public. Gift talks about why learning in public is the fastest way to learn, what learning in public can look like for different people, and getting over the hurdle of the anxiety of putting yourself out there.
Show Notes
Transcript
[00:00:05] SY: Welcome to the CodeNewbie Podcast where we talk to people on their coding journey in hopes of helping you on yours. I’m your host, Saron. And since CodeNewbie is doing a learn in public challenge this month, today, we’re going to talk all about learning in public with Gift Egwuenu, Front-End Developer and past CodeLand speaker on the topic of learning in public.
[00:00:24] GE: In order for you to move from one position to another or just stay relevant in the field, you always have to keep learning.
[00:00:32] SY: Gift talks about why learning in public is the fastest way to learn, what learning in public can look like for different people, and getting over the hurdle of the anxiety of putting yourself out there after this.
[MUSIC BREAK]
[00:00:55] SY: Thanks so much for being here.
[00:00:57] GE: Thank you so much for having me.
[00:00:59] SY: So where did your coding journey begin?
[00:01:01] GE: I have a background in tech because I did computer science in my uni. So I have a computer science degree. And even before that, I think earlier on in my life, I was very interested in all this tech. Computers were one of my favorite tools to play with, but then I didn’t really know so much about programming until I started doing my degree.
[00:01:32] SY: And what was it about coding that resonated with you that got you excited?
[00:01:37] GE: Every time I make something and I see it show up in a browser, it just gives me some kind of excitement. I feel like I can create anything. And the possibilities to what you can do with tech is endless or with coding is endless. So it gives me so much joy to dig deeper and find out how to do more, how to create stuff.
[00:02:02] SY: So you got your computer science degree at a university. What was that experience like?
[00:02:07] GE: It was good, but not the best. I grew up in Nigeria, but I went to school in a different country, a close by country called Benin Republic. The difference between schooling in that kind of place is you don’t get all of the resources you’d expect to get. For example, I only learned about web developments in my fourth year. And a lot of times what you typically get from those kinds of degrees is mostly theory stuff. So after classes, I would go back home and try to learn as much as I can by reading PDFs then or checking out stuff on the internet. But if you’re not really keen on going one step for that to learn this stuff, the only thing you come out of school with is just the theoretical knowledge of coding, and yeah, it’s not the best, to be honest. It was a good four years. It was a good four years. Well, I wish I had more basically.
[00:03:13] SY: And how did you land your first full-time developer role?
[00:03:17] GE: So I was very interested in getting an internship. I started looking out for opportunities. Back then, there were companies that would put out job opportunities, looking for interns. They were quite difficult to find because not everybody was keen on getting junior developers in some companies west. So I found first a bootcamp, also looking for interns, right? So I joined as an intern and I was learning at the time PHP. So they were open to having me work on an already existing team that we are getting a PHP application. So I spent like a few months there working as an intern. And I wasn’t being compensated for my time. And I thought, “Okay, I feel like I could get a better opportunity.” So I found another internship that would do that, compensate me while I’m learning on the job. So I decided to pick up that opportunity, and it even given me more opportunity to do what I’m interested in learning. So at the time, I was learning PHP, which was great, but I really wanted to get into front-end development, like learning JavaScript, for example. So the new internship opportunity that I got gave me that. And in a few months, they promoted me to junior developer. So that’s kind of my progression getting into front-end development as a career.
[00:04:52] SY: And was that your job at higher free hands or is that something else?
[00:04:57] GE: Yeah, that was the one.
[00:04:59] SY: And what about your work these days? What are you up to?
[00:05:03] GE: I'm currently in a position where I’ll be transitioning into a new role. I have been working as a front-end engineer for the last five years now.
[00:05:15] SY: Nice.
[00:05:15] GE: And apart from that, doing that on the side, I enjoy sharing a lot of my knowledge, things that I’m working on. I speak at conferences when I can make videos on YouTube about tech. And some of these elements of what we call like the role of developer relations or developer advocacy, I have been doing it for like a few years. And sometime last year, a couple of months ago, I got hired to work as a developer advocate for a company and I’ll be starting next month. So that’s where I’m going to next. But right now I still call myself a front-end developer because even if I get that job, I’ll still be doing what I know how to do best, front-end development.
[00:06:05] SY: Very cool. So you gave a wonderful talk at CodeLand last year about learning in public, and I wanted to dive more into that here. Can you talk generally about what learning in public has looked like for you?
[00:06:18] GE: So the term, ‘learning in public’, I like to think about this as sharing the work that you’re doing, all the stuff that you’re learning, even in public place. So that could be anywhere from like sharing it on Twitter or a community that you are a part of, and for me personally, I have practiced this even without knowing that it was a term that people use. And if I remember, back when I started was when I did the hundred days of code challenge and the CodeNewbie ‘Blog More’ Challenge in 2018, and at the time I was still learning JavaScript. Like I mentioned, I was working as an intern and I was really interested in getting up to speed with what I was doing. And I figured that just learning on my own wasn’t really going to help me want to feel very motivated to learn while I’m also working. So I thought it would be nice to take up the challenge to do the 100 Days of Code. So that was how I think I started with the whole public learning thing. I was able to complete the challenge. And during that time, while I was learning, I was building some small projects. I was also sharing it on Twitter. At the end of every week, I would write like a summary blog post of what I was able to achieve for the week and the things that I created. So for the Blog More Challenge, I was also interested in writing more blog posts and sharing the stuff that I was learning. And I decided to take up that challenge because I think, first, I was very scared of sharing the stuff that I was doing before. I feel like if I was part of a community that was doing that, maybe that will give me more motivation and courage to do the stuff or to share the stuff that I was learning. So I decided to take that up. I created a blog and I was consistently sharing. For example, if I learned a new technology, I would write a blog post or build an application and write a blog post about it. And that was how I really started with the whole learning in public then.
[00:08:38] SY: And were you nervous to open yourself up like that and put your work up on the internet and available to the world?
[00:08:46] GE: Of course, yeah. So nervous, still so nervous until now because I don’t see that feeling going away anytime because for every new challenge that I take up, for every new thing that I try to do, I always feel nervous, but the good thing is I try to get past that feeling and still go ahead to do the thing. So for example, when I first started making videos, I wasn’t feeling very comfortable doing it. I still decided to go ahead to do it. And what I find from just pushing through all of those feelings is over time you get comfortable doing it. And the more you invest your energy into it, the more you feel comfortable. The feeling might really not go away because later on you might decide to even take up more challenges that you’ve never tried before and used to feel nervous. But just having it at the back of your head that it’s fine, it’s okay to feel this way. I’m going to get over it. That’s what’s kept me going.
[00:09:52] SY: And what was it that pushed you to make your learning process public in the first place? What was the idea behind that?
[00:10:00] GE: One thing that I know is I could as well do everything that I’m doing in private, right? Not shared.
[00:10:09] SY: Right.
[00:10:09] GE: And I would still learn. Right? But something that I learned from the first time that I did it, which is the 100 Days of Code Challenge was the effects that it adds a lot more than I would have expected. For example, by sharing publicly, especially in a way that attracts like a community to you or if you’re sharing any community kind of place, like, for example, Twitter, what that gives you is added support, it makes you a little bit confident, especially when people see the stuff that you’re doing and they give you good feedback. So that’s one thing. The other thing that I’ve seen as an added benefit of public learning is in a long run you’re kind of building a, I don’t know if I should call it a personal brand for yourself, where you’re kind of building yourself even without you knowing that you’re doing that in, I’m talking now in a professional way, because when you share stuff you’re doing and any way you’re teaching other people how to use, for example, technologies that you just learned, this is going to open up opportunities for you that you never have imagined. So for example, personally, when I started blogging, I was just doing it because I was enjoying it and I was okay talking about the thing that I just learned, making it, writing a blog post and posting it online. But in the long run, people started seeing me as a go-to person to ask for, for example, resources or ask me to teach them some technologies. And I even started seeing publications reach out to me to write. And if I had literally not started doing that, sharing the stuff that I was doing, I don’t think that that would have happened to me. That’s just one example. Even the first time that I decided to do public speaking, it’s not something that I would have imagined that I would take up. It was just part of me doing the same thing that I was doing, sharing the stuff that I was learning, putting myself out there and everything. And it’s very funny because I was never the person to stand in front of a crowd ever in my life. So it was very scary. Well, I ended up doing it and I liked it and I thought, “Okay, if I do more of this, then probably I will feel comfortable to do more.” So that’s how I started speaking at conferences. And in the long run, all of these things would have not been possible if I just do everything that I’m doing, learning, sharing, just do it in private. So those are some of the benefits that I find from public learning.
[00:13:05] SY: And did that work, this idea that if you just keep doing it eventually you’ll get a little bit more comfortable and it’ll be easier for you? Did that happen?
[00:13:14] GE: Yeah. It did. It did. The only time I see that it’s a little bit challenging is me exploring new waters. It just takes time and then I’ll be comfortable.
[MUSIC BREAK]
[00:13:44] SY: So in your CodeLand talk, you discuss the importance of continuous learning. Can you talk about why it’s not a good idea to close yourself off from learning new things in this field?
[00:13:55] GE: So as we all know, in tech things are consistently changing or not just changing but there are new things that comes up, especially if you’re looking at advancing your career in tech and you don’t want to be stuck in one position or your career, you have to always be learning. And something that I learned is in order for you to move from one position to another or just stay relevant in the field, you always have to keep learning. What I really shared in that talk was several different strategies for how you can always be learning, so different learning techniques that you can apply to your career that would really help you. And one of those was learning in public.
[00:14:45] SY: You also talked about how it’s important to figure out the way you learn best and trying different learning techniques that can help you get there. Can you talk about some of those techniques and how you landed on learning in public for yourself?
[00:14:59] GE: One of the techniques that I shared in that talk is called Guided and Unguided Learning. And what this basically means is for guided learning is you kind of follow a path to learning a specific technology. So in a case where you’re trying to learn, for example, Vue.js, you can either follow like a tutorial or a video course to learning that technology. While unguided learning is kind of like on unguided parts to you learning the tech, you’re not specifically looking at following a course from beginning to end to learn it. It could be that you’re actually working with the technology already but you’re trying to level up your skill and you check places like Stack Overflow, for example, or you try to build like a project and you’re learning while you’re building the projects. That’s a learning technique that I find a lot of people love developers actually follow, guided and unguided learning paths. And there’s also the Feynman Technique. And this technique is basically you trying to teach a concept to yourself or anyone like as if your five. So it’s like five different processes. So first, you find the subject or the technology that you’re trying to learn or the concepts you’re trying to learn and then you pretend as if you’re teaching it to someone that’s five or you’re explaining it to a child. Once you do that, just to clarify that you understand what you’re saying or you what’s your teaching, if you find that there are no gaps in your knowledge, then that’s great. You’re absolutely good at what you’re saying. But if you find that there are some gaps in your knowledge or in the way you’re explaining it, then you have to go back to the source to learn and try to simplify the explanation and then try to teach it again. So it just follows like that round versus trying to explain something to a child or someone like your five. And if you find that you do it really well without having to go back to this source, that clarifies that you’re actually knowledgeable in that technology or in the concept you’re trying to teach. But if you find that that’s not the case, then you have to go back, learn a bit more, cover the gaps that you have and do the same thing, literally like a circle.
[00:17:29] SY: And I think you also mentioned spaced repetition in your talk. Can you talk a little bit about what that is?
[00:17:34] GE: How this works is you have to use like a system. It’s called the Leitner System. So let’s just imagine we have like three boxes, for example, with flashcards. So what you do is you take some flashcards and write down the concepts that you feel like you either want to clarify that you already know or you’re trying to learn. So you just write them down in a flashcard, put them all in the first box. Right? So the essence of spaced repetition is for you to learn something. Take a bit of break or time. It could be like a space of like an hour, two hours, seven hours. I don’t know, four days. It could be any time you set for yourself. And what happens is you go back to the first box and then you pick up the card and try to remember what you wrote there. If you can remember, meaning that you learned the concepts and you’re trying to recall it. And if you can, then that’s successful. You move it to the second box. So you do the same for all flashcards you have in the first box, right? Then spaced repetition here means that you always come back to each, try to remember it. So you can either set for yourself a schedule of probably seven days to two weeks and then you come back to it and still try to remember. So you pick up a flashcard, if you try to recall it but you can’t, you have to move it back to the first box. So it follows that process of doing that till you get to the third box, right? So by doing this over a space period, you find that your brain will automatically learn the concepts and at least try to recall it. For every time you try to remember, if you don’t remember, you move it back. You learn that concept again, then you try some other time. So personally trying it, I saw that going over or repeating the same process over and over again to try to understand something would eventually make you get it and it will get you to a point that you wouldn’t even forget it. So this really works if you’re trying to learn smaller chunks of things than a lot of things, because in this case, it could be you’re trying to understand maybe for-loop and you write the concepts or you put on a piece of paper at least the syntax for for-loop. That would really work. So I find that it works better if you’re trying to learn smaller chunks than larger things.
[00:20:14] SY: And the technique that you ended up using for yourself was learning in public. What made you pick that one?
[00:20:19] GE: I still do the other ones regardless, but the one that I spoke with was learning in public, and this is because it felt more natural to me. I really like teaching because earlier on, before I even started in tech, I was like a high school teacher for a bit. And I find that I enjoy doing it. So learning in public for me is kind of like learn something and then teach it. So that whole process really made sense to me. So that’s why I stuck with it. And it could follow different paths. I don’t necessarily have to do one thing to get the results that I’m looking for. So for me, learning in public could be a lot of different things. It could be, for example, me sharing, like a snippet of something that I learned on Twitter, for example, or writing a blog post on a topic or a concept that I just learned or making a video, for example, a video tutorial on a technology. It could even be me going out to speak about the same topic in a conference or even being here, like talking on the podcast. It follows different methods. You can do it in different ways. So for me, that feels more natural. And I like the essence that at the end, I still have the same results, sharing the stuff that I’m doing. That’s why I stuck with it.
[00:21:53] SY: Of those different techniques that you can use to learn, you say that learning in public is the fastest way to learn. Why is that?
[00:22:02] GE: By following the process that I already shared earlier, you would find quick results from all the things that you’re doing. So it could be that you are trying to view the project or you’re trying to get more knowledgeable in a specific area and you use the learning in public method. For me, first, when I have it in mind that I’m going to learn something publicly, it gives me that added advantage that I really want to be sure that I know what I’m doing, like I know what I’m sharing. I try to do more than I would have done if I was just learning it privately. And what I mean is if, for example, I have a series that I'm making on probably JavaScript arrays method, I would spend more time and spend more energy, making sure that the stuff that I’m sharing is actually legit and it makes sense that people would watch those videos that I’m making and they would understand it.
[00:23:12] SY: What are some of the biggest positives you’ve experienced learning in public?
[00:23:16] GE: Public learning has given me kind of the motivation to always make stuff or create stuff in my career as a developer. I feel like I wouldn’t be where I am if I’ve not done all those things that I did over the years leading up to this moment, because thinking about it, you’ve just been the developer that would do her nine-to-five. When it’s needed, learn a specific technology just to use at work and not do all the extra things that I was doing now. I don’t feel like, for example, I would be given opportunities to speak at conferences or be given opportunities to create content for other publications that I work with. So I feel like in a way, learning in public has given me some added advantage and also kind of giving me exposure. If I had really not started doing stuff publicly, I don’t feel like that would have happened. I just feel like I would just be like Gift, the front-end developer that just works and writes code as a job, I think.
[00:24:34] SY: And what have been some of the biggest challenges you’ve encountered when learning in public?
[00:24:38] GE: The fear of the unknown, I guess. So for example, as much as I like doing this stuff, sometimes I feel not comfortable putting stuff out because I’ve experienced trolls. Right? I have also seen that some people don’t have empathy when they give feedback and it kind of makes me pull back into my show of not sharing the stuff that I want to share to prepare myself to also receive the negatives is something that I still struggle with. Another thing is staying consistent with the whole public learning thing because it also takes a lot of extra time if you’re going to be committed to doing it, especially for somebody that works like a full-time nine-to-five. Sometimes they would probably want to suspend their weekend just doing other things that’s not relating to code. I find that in my weekends I mostly spend making content or trying to learn something that I would probably use for contents that I will make in the future.
[00:25:58] SY: And how have you dealt with some of that negative feedback on the internet?
[00:26:02] GE: I don’t know that I’m dealing with it well, but what I do is I just shove it away, as much as possible not dwell on it. Otherwise, it’s just going to push you down. And the few times that I get feedback that I feel like, “Okay, maybe they are trying to tell me something, but they’re not phrasing it well. I’m going to try to ask to get more clarity on what they’re saying or allow them to know that probably they would have phrased it better,” I guess. But when I know somebody is trying to be a troll, then I don’t bother giving them that. I just shove it away and move on. But if I find that probably there is like a few things that he said that made sense, that I could actually improve on, then I just stick that feedback and do exactly that, improve on it. But generally, I would say nothing prepares you for some kind of things you find on the internet.
[00:27:12] SY: Coming up next, Gift talks about why learning in public is important for people to do, outside of it being what she considers to be the fastest way to learn after this.
[MUSIC BREAK]
[00:27:35] SY: Now I can see that there are many benefits to learning in public accountability, making it a fast learning process. But I also imagine that it helps to build a network, a community of like-minded people. Can you talk about that aspect of learning in public and how that’s looked for you?
[00:27:52] GE: One of the added advantages of public learning is you get to build a community or be part of a bigger community. And for me, personally, I’m in a lot of different communities that advocate for sharing your knowledge, public learning, and all of that. And I find that is a good way to have one confidence to keep doing the stuff that you’re doing, especially when you see that, “Oh, this other person is also doing this and you’re very good at what you’re doing.” So it gives you kind of a closed group of people where you can ask for feedback. You can get potential collaboration. For example, if you’re looking at learning something, but you’re not very good at it, you can actually collaborate with somebody else and you would do that together. There are different communities like that, on Discord, on Slack where you could join. Having a community or being part of a community kind of gives you the motivation to keep doing what you’re doing. You also get accountability partners, for example, from that. So I think it’s a very good thing to have.
[00:29:10] SY: So besides the benefit of learning quickly, why do you think learning in public is important for people to do?
[00:29:17] GE: First of all, I’d like to clarify that maybe not everybody would enjoy doing it because I knew that some people are very private. But I would recommend you try doing it if, for example, you’re looking to level up your skills in the industry, like you’re trying to get to a certain level as a developer or you’re looking for added exposure. So maybe you’re thinking about learning React for example, but you’ve never done that. I feel like you could pick up the challenge to learn publicly, and this would give you like opportunity to connect with other React developers, other people that are making content as well. So first, before doing it, you should have like, what’s your end goal? Why do you want to actually learn publicly? Because if you go into it, you probably just see people doing that and you feel like, “Oh, it’s something I can do,” but you don’t have like an end goal or you don’t have something that would eventually make you do it for longer, like make you stay consistent, you might probably get that and then just dropout. Because I see it as something you probably do for a very long, I don’t want to say lifelong, but at least for the period of your career, you would keep doing it without even knowing, like it’s just something that becomes a habit, I guess.
[00:30:49] SY: And who are some of your favorite people that you follow who are also learning in public that you might recommend our audience to check out?
[00:30:56] GE: One of them is Angie Jones.
[00:31:01] SY: I love Angie!
[00:31:01] GE: She is one of my favorite people. I know that right now I’m learning crypto from hackers. I know she shares like newsletters on some crypto stuff, webpage stuff, and I really liked that. Someone else that comes to mind for me is Ali Spittel. She also shares very nice tutorials, content, web development. I’m also like Julia Evans because, I think one thing I did mention as one way you can do public learning is creating illustrations or making cartoon zines, and whatsoever, and she’s really, really good at it. And I think someone else that comes to mind is Samantha Ming. I’ve not seen her content recently, but I know that I learned a lot of things from her. James Quick is someone else I can think of. I think the person that I learned the term from, his name is Shawn Wang. And I think if people are interested in just finding out or the developers that are already doing this, there is like a hashtag on Twitter called Learning Public or Learning in Public. Then you find more people that also participate in this.
[00:32:26] SY: Now at the end of every episode, we ask our guests to fill in the blanks of some very important questions. Gift, are you ready to fill in the blanks?
[00:32:33] GE: Yeah. Okay.
[00:32:35] SY: Number one, worst advice I’ve ever received is?
[00:32:38] GE: Worst advice I’ve ever received is when someone needs to be comfortable in my comfort zone. I don’t know that that was a good advice because it’s basically telling me not to go for what I want or not to be ambitious. It’s okay to be content with where I’m at. So I don’t think that was a good advice.
[00:33:02] SY: Number two, best advice I’ve ever received is?
[00:33:05] GE: The best advice I’ve received is to show up every day and do at least one percent of the work if you can. I would expect this. So a lot of us, we fight with inconsistency and we probably would end up not going for what we want or achieving what we want because we feel like if we’re not doing it a hundred percent every time, then we’re not doing anything. But something that I’ve learned is just showing up and doing at least one percent of the work eventually is going to compound to yield better results for you. So if I can, I’m going to go ahead and just do a bit and at least do it every time, every day, and then you’d see results, good results.
[00:33:57] SY: Number three, my first coding project was about?
[00:34:00] GE: My first schooling project was a website that I built for my final year thesis. It was a human rights website. So basically I created this website where people, citizens could go and learn more about human rights. So I listed the constitution of human rights on the websites and very easy for people to access. And I think that was a fun one because I was just learning HTML and CSS then.
[00:34:32] SY: And number four, one thing I wish I knew when I first started to code is?
[00:34:36] GE: To always ask questions, like ask a lot of questions. And at the time when I was learning, I felt like I should probably ask good questions. There’s nothing like good questions. You could even ask stupid questions, it’s fine, as long as you get what you’re looking for, you get answers to those questions. So a lot of times some people shy away from asking questions because they feel like maybe the people they are asking might feel like, “Oh, they should already know that. Why are you asking that question?” And personally, I felt that a lot when I was learning, but when I started what I would say is ask all of your questions regardless of how stupid or if you think they are not relevant, just go and ask them. You’d end up thanking yourself later on.
[00:35:33] SY: Well, thank you again so much for joining us, Gift.
[00:35:36] GE: Thank you for having me.
[00:35:44] SY: This show is produced and mixed by Levi Sharpe. You can reach out to us on Twitter at CodeNewbies or send me an email, hello@codenewbie.org. Join us for our weekly Twitter chats. We’ve got our Wednesday chats at 9 P.M. Eastern Time and our weekly coding check-in every Sunday at 2 P.M. Eastern Time. For more info on the podcast, check out www.codenewbie.org/podcast. Thanks for listening. See you next week.
Thank you to these sponsors for supporting the show!