Description
In this episode, we talk about some very common relatable mistakes when you learn to code with Ceora Ford, developer advocate at Apollo GraphQL. Ceora talks about 5 major mistakes she learned in her first year learning to code, how to avoid them, and some new mistakes she’s encountered in her second year of coding.
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 today, we’re talking about some very common relatable mistakes when you learn to code with Ceora Ford, Developer Advocate at Apollo GraphQL.
[00:00:21] CF: Another huge roadblock for me was that I got into this habit of like collecting resources and reading about coding instead of actually learning and building.
[00:00:31] SY: Ceora talks about five major mistakes she learned in her first year learning to code and how to avoid them after this.
[AD]
VeroSkills is the only on-demand tutor network and education platform that provides a whole new way to take control of your software development career. Learn to code from the pros with the touch of a button. Plus, get self-paced video courses and live workshops from industry leaders. Learn more at veroskills.com.
Compiler is an original podcast from Red Hat, discussing tech topics, big, small, and strange. I checked out the edge computing episode of Compiler. I thought it was super fascinating, informative, and definitely something you don’t want to miss out on. Listen to Compiler on Apple Podcasts or anywhere you listen to podcasts. We’ll also include a link in the show notes. My thanks to Compiler for their support. To learn more about Compiler, go to redhat.com/compilerpodcast.
Code allows us to innovate, but building your entire backend API from scratch is hard, requires specific expertise, and is extremely time-consuming. Appwrite is an end-to-end platform that provides you with all of the core APIs needed to handle your project user authentication, database, and storage with advanced serverless functions in most coding languages for maximum customizability. With Appwrite, you can have a better starting point for your next project and focus on building awesome websites and applications. Visit appwrite.io to learn more.
You know the drill. You’ve just barely fall into sleep and you’re jolted awake by an emergency page. It’s your night on call and something is wrong. The good news is you’ve got New Relic so you can quickly run down the incident checklist and find the problem. You can pinpoint issues down to the line of code so you know exactly why the problem happened and can resolve it quickly. That next late night call is just waiting to happen. Get New Relic before it does and you can get access to the whole New Relic platform and a hundred gigabytes of data free forever. No credit card required. Sign up at newrelic.com/codenewbie. That’s N-E-W-R-E-L-I-C.com/codenewbie, newrelic.com/codenewbie.
Each year in March, the DEV Community collects stories from women in software development and their allies across the gender spectrum in honor of International Women’s Day. This celebration is called She Coded. For She Coded 2022, DEV is donating $10 to Girls Who Code for every She Coded story received. Girls Who Code is an organization dedicated to closing the gender gap in tech. GitHub is generously matching these donations for a total of $20 for every She Coded post shared on DEV between now and March 8th, 2022. Head to dev.to/shecoded to learn how you can share your She Coded story. In doing so, you’ll inspire and uplift other software developers while contributing real dollars to building a more equitable future for all technologists. That’s dev.to/shecoded.
[AD ENDS]
[00:04:02] CF: Thanks for having me. I’m really excited to record this episode with you today.
[00:04:06] SY: Wonderful! So when did you first start learning to code?
[00:04:10] CF: So the first interaction I had with coding was back when I was in high school. I was a senior in high school. And at this point, I kind of knew that I would might be interested in pursuing a career as a software engineer. I was like in my senior year. So I was like, “Let me try it out.” And the school I was at at the time offered some very basic coding classes. So there was an HTML/CSS class and then a C++ class and then a mobile development class. And they all were like half a semester and I took all of them.
[00:04:38] SY: Nice!
[00:04:39] CF: And it was fun. Very basic. The C++ class I kind of struggled in, but the HTML/CSS class was like super basic CSS and HTML, almost like the ’90’s kind of aesthetic, but I did that and I thought, “Well, I could see myself doing this for a career.” So I decided to kind of like learn how to code on my own after that.
[00:05:00] SY: And what was it about coding that got you excited? What made you look at it and go, “You know, this is something I can do for a career”?
[00:05:08] CF: I was initially really just interested in technology as a whole. I didn’t have a smartphone because I was poor, but I did have a tablet and I was fascinated with all the apps that people had created. And I really pay close attention to like the different aesthetics that people use with their UI and things like that. So I was like, “I would be interested in being able to create something like this,” because I just found the aesthetics, the functionality to be very appealing. And I also really liked math and I know like being a good mathematician is not a requirement to learn how to code, but it does kind of have that same problem solving mentality that I’ve really enjoyed. I love algebra. I love geometry. I love physics too, which all kind of centered around math. So I kind of combined the two and I was like, “Maybe this could be something I could do.” And I also really love the fact that it wasn’t required for you to have a computer science degree. I like learning. I like building things. I like math, but I wasn’t a huge fan of going to a university. So I really like the idea that I could like build a career where I can make a substantial living for myself and my family without having to pursue the university route.
[00:06:16] SY: So how did you end up learning the skills that you needed to be a programmer?
[00:06:21] CF: Well, it was a very non-linear path. There were lots of ups and downs. There were lots of stopping and starting. So after I graduated from high school, I participated in this program. It’s called Kode with Klossy. It’s a nonprofit organization where they teach young girls how to code for two weeks. So I did that right after I graduated from high school. I was 17 years old. I learned HTML, CSS, and Ruby, and it was a lot of fun. I really enjoyed the Ruby part of things. I enjoyed designing the website with HTML, CSS, and working with other people to build something was like so much fun. But right after that, I kind of fell off. I didn’t like keep learning and keep pursuing the coding thing. I left it to the wayside and I ended up eventually getting more into digital marketing. I had a friend at the time who was starting a company, and she asked me. She was like, “I need help with web development and I need help with social media marketing. Which would you like to do?” And I decided to go with the social media marketing because I was like, “I don’t know if my skills are good enough to be able to build you a website and all that kind of stuff.” I was just doubting myself so much. So I decided to go down the digital marketing route and that kind of like sidetracked me. So while I was doing digital marketing, I was like focused more on that, focused more on social media trends and things like that. And that’s a whole another skill set that you have to maintain. So I kind of left coding to the wayside and I would start learning how to code every now and then and then I would stop and I would start and I would stop. And it was just like a year and a half of just doing this on and off where I would like learn HTML and CSS and then I would get to JavaScript. Something would be difficult and then I would stop. And then eventually, what really got me to take coding seriously for the first time was when the pandemic started. And at that point, I had been doing digital marketing for a little while. I was doing it on a freelance basis. And because the pandemic started, everyone was kind of panicking. So I had lost all my freelance clients and I had also simultaneously gotten a scholarship for a program at Udacity for their Cloud DevOps Engineering Program. And it requires you to know Python. And I kind of cheated on the exam to get into the program because I didn’t know Python. But because I didn’t have any work to do, I was like, “I’m going to really throw myself into learning how to code and getting into the tech industry.” And so I focused on Python. I focused on AWS because it was a Cloud DevOps Engineering Program. And I really took it seriously. And that’s how I really got on my path to learning how to code seriously.
[00:08:48] SY: Why all the starts and stops? What were the things that made you stop and kind of pause along the way?
[00:08:56] CF: One of them definitely was whenever I would run into something difficult I would stop. And that usually happened when I would take a course, it will be freeCodeCamp or something like Udemy or something like that. And I would get through the HTML, CSS because I had some familiarity with it from Kode with Klossy. But once I got to JavaScript, I would like do something with like DOM manipulation or something like that. And I would be so confused that I would like give up, I would stop, and initially it was like, “Well, I’ll just stop for today,” and that today would turn into a week, which would turn into a month. And then by the time I got myself back together, I had to like start from scratch. So it was just this continuous thing of like starting over again and then stopping. And then another thing that really kind of distracted me was that I would have interest in a bunch of different things in the tech industry. We all know there’s tons of different languages, tons of frameworks, tons of directions you can go in a tech industry. So I like put a hold on the web development thing and then I was like, at one point in time, maybe blockchain would be something I would be interested in. So I like spent a whole week just reading up on blockchain and I never get anything. Then at one point in time, I was working with a bootcamp that helps people learn Drupal. And I was like, “Maybe this is something I should do.” So spent some time on there and was like, “Oh, I don’t know if this is what I want to do,” and then stopped again. Another huge roadblock for me was that I got into this habit of collecting resources and reading about coding instead of actually learning and building. So that makes you feel productive, right? Because you’re reading stuff. You’re collecting. I have a list of a hundred different websites you can use to learn how to code. But if you don’t use the resources or if you don’t like build based off of what you’re watching or reading, then are you really learning how to code? So that’s kind of the thing that I was doing for like a year and a half, like a mix of all those things that just wasn’t really helping me like get a good foundation in learning how to code.
[00:10:47] SY: And what went into your decision to do a bootcamp?
[00:10:50] CF: I love talking about this because it’s really funny because I didn’t put a lot of thought into it. Obviously, I had done the kind of like self-guided route where it wasn’t going so well, but what happened was Udacity was offering a scholarship and I had found out about it through Twitter and I just randomly decided, “Let me apply and see what happens.” Because I got into it, I was just like, “Okay, this is the route I’ll go.” So like I mentioned earlier, one of my huge problems was that there were so many directions to go in and I just didn’t know which one to choose. So I kind of let Udacity choose for me. They were offering a scholarship for a Cloud DevOps Engineering, and I was like, “Okay, this is what I’m going to focus on.” So I kind of like just went that route and saw where it would take me.
[00:11:35] SY: So you wrote a post on DEV titled, “5 Mistakes I Made My First Year Learning to Code”, which is very relatable, and I want to go through these five mistakes. So the first mistake you write about is jumping around from language to language, which you kind of touched on already. Can you talk about why that one made it to number one?
[00:11:56] CF: I think that one made it to number one because I think it’s a problem that a lot of people have, especially when you are exposed to like the tech community at large. If you’re on Twitter, if you go to a tech conference or if you even look at some articles on DEV or elsewhere, there’s tons of stuff on a ton of different languages and they all seem super interesting. If you even look at stuff on YouTube or do a quick Google search, there’s tons of stuff out there. So I think a lot of us, sometimes we want to try everything and you feel like you can be a jack of all trades, which may be true, but when you’re starting out, I think it’s much better to just stick to one or two things and kind of really, really focus on that to build that strong foundation. So that in the future, if you do decide, like, “I want to learn another language or I want to learn five different languages,” whatever, you can do that because you have the foundation.
[00:12:48] SY: Yeah, I can definitely understand that, the idea of just kind of focusing and going in on one. But on the other hand, given that there are a lot of different languages and different languages become hard at different times, I can see people going, “Well, I want to like try a bunch of stuff first, kind of see what clicks, what fits with me, what is maybe a little bit easier to pick up,” that kind of thing. Why is that a mistake?
[00:13:13] CF: I think it’s a mistake depending on what your priorities are. So say for instance maybe you’re just doing learning how to code as a hobby, then it’s totally fine to like try a bunch of different things and build applications in a bunch of different languages because it’s just a hobby for you. But if your goal is to get into the tech industry and to be employable, I think it’s much better to limit yourself to a certain period of time where you can do some research on like what career path you want. So say for instance you want to do web development, then it’s good to look for the languages that are most relevant to people in web development and not the languages that are trendy, but the languages that historically have been most relevant in this specific field in the tech industry. And so usually for web development, that’s probably going to be JavaScript. So instead of trying all the languages that are listed or trying the languages that you know are popular right now, I think it’s much better to focus in on JavaScript, work with it, build with it, really get grounded with the fundamentals and then progressively build up your repertoire with like languages that you know would be relevant for that career path. So that’s why I think it’s like best to really stick to one thing or not one thing, because like with web development, you need to know HTML, CSS, the fact you learn JavaScript is probably good to learn, some React as well, but it may not be good to learn the skills that are required for a data scientist, if you want to do web development, because it’s just not going to be relevant for you. And your goal is to be employed in the tech industry. So I think it really depends on what your goals are. And once you figure out what those goals are, you have to be laser focused on how you’re going to reach that goal. And if you’re trying to learn web development, maybe Python and AWS aren’t as relevant to you right now to get where you want to go.
[00:15:01] SY: So what language did you finally end up on and how did you choose to settle down with that language?
[00:15:07] CF: Yeah. So the language I finally settled on was Python. And again, I didn’t put a whole lot of thought into this. So like I said, for the program that I was in at Udacity, one of the prerequisites was that you had a basic knowledge in Python. So I just thought, “Oh, well, obviously Python is like relevant for people who are involved in this kind of work.” So I decided to learn Python, just to help me be able to understand what was going on in the course I was taking. And thankfully, I really, really, really fell in love with Python. So I stuck with Python.
[00:15:39] SY: So your second mistake was not being consistent. What does this look like for you?
[00:15:44] CF: Admittedly, this is a problem I still deal with and I’m still working to do better with it. I try not to beat myself up because it’s very hard to be consistent. There’s so much going on in our lives. But for me, that meant that sometimes I would have like a day where I spent like four hours learning stuff, watching courses. Maybe I tried to build something and then I wouldn’t touch any of that for like three weeks. That was like the pattern that I was on. And when you’re learning something, you’re trying to build a skill, especially coding. Muscle memory is so important and just consistently doing it is really important. Even if you can only squeeze in 20, 30 minutes, if you can do that consistently almost every day, that is much better than just doing one big chunk of work and then like not doing it ever again. And consistency is going to look different for every person. So sometimes maybe it’s like one day out of the week you can dedicate an hour to coding. That’s good. It really just depends on who you are, what your goals are, and like what you’re trying to accomplish. But I would say that just keeping up that cadence is going to be so much more valuable to you than if, like, for instance, I would have like sprints, right? I would do like three hours and just be super into it and then just forget about it. And then I mentioned earlier, once I would finally get back into it, I will have to start from ground zero because I forgot everything I had learned. So yeah, being consistent is a huge plus. And like I said, it looks different for everyone, but it is very helpful.
[00:17:13] SY: What are some processes and systems that you found that helped you stay consistent?
[00:17:19] CF: Yeah. So this is actually something that since I published that article has evolved for me immensely. My life is totally different from what it was like then. So for me now, what I have found is that I have to have some sort of motivation and incentive to do whatever the thing is consistently. Like I said, it’s still something I struggle with, but I use tools at my disposal to like help me build habits. And this is not just like exclusive to learning how to code or keeping up my coding skills. So what I use is I use a course tracker. I also have a progress tracker where I try to check off when I finish a lesson every time that I do it and track my progress daily. Like I said, I have a course tracker, I have a project tracker, and I also have a habit tracker. So the process of like having to check off every day that like I coded for 30 minutes today, I finished this lesson today, I did this, completed this step in this project today has helped me kind of built that habit of doing it and it helps me to keep track of my progress because that’s another thing. Sometimes you feel like you’re not making any progress, but when I look back at my habit tracker or my progress tracker for my projects or courses, I can see like, “Oh, consistently, like over the past three weeks, I’ve almost finished this course because I’ve been doing lessons every day.” That has helped me a lot. I didn’t have this process when I wrote that article. One of the things that I did when I was writing this article to help me kind of stay consistent was to limit distractions of people being like, “Hey, Ceora, I need you to do something.” I would tell people I’m taking a class because sometimes what happens is It’s hard to communicate to people that like I’m trying to learn how to code and for them to understand the importance of that. So what I found is that if I told someone seven o’clock today, I’m taking a class, so I won’t be available, that was much more, even for me, it helped me to like really see it as something that was serious, like seven o’clock, I’m sitting down at my computer for an hour and I’m going to watch 30 minutes of this course and spend 30 minutes actually coding. That helped a lot to limit distractions for myself and also for me to be able to tell other people like that I was going to be busy at that time and unavailable.
[MUSIC BREAK]
[AD]
Learning to code alone is hard, but what if you had a professional mentor at your side, ready to help whenever you need a hand? Introducing VeroSkills, the first learn to code platform featuring self-paced video courses, live industry leader workshops, and click of a button anytime access to on-demand pro mentors from some of the biggest tech companies in the world. Sign up now and get five minutes of free mentor time with your risk-free trial today at veroskills.com. That’s V-E-R-Oskills.com.
Compiler is an original podcast from Red Hat, discussing tech topics, big, small, and strange. Compiler brings together a curious team of Red Hatters to tackle big questions in tech, like, “What is technical debt? What are tech hiring managers actually looking for? And do you have to know how to code to get started in open source?” I checked out the tech hub episode of Compiler. I thought it was super well done, really interesting and definitely worth a listen. So listen to Compiler on Apple Podcasts or anywhere you listen to podcasts. We’ll also include a link in the show notes. My thanks to Compiler for their support.
[AD ENDS]
[00:21:06] SY: So your third mistake is not building or finishing projects. And it might seem like a no-brainer that if you want to learn to build things, you have to build things. But what are some things that people commonly end up doing that aren’t very effective instead?
[00:21:20] CF: Yes. So like I said, I still do this. Sometimes I have to catch myself. It’s so funny. I wrote this article and I still have to like… I’m still not perfect at implementing or like not falling into these habits again. But one thing that happens, and I mentioned this earlier, is that we get into the habit of doing these things that feel productive, but aren’t in actuality. So for me, that meant that I would spend like hours sometimes just browsing through articles, browsing through courses, browsing through YouTube videos that I thought would be relevant. And I would collect them, put them in a Google Doc and like organize them. And it just felt so productive. But in actuality, it really wasn’t because I wasn’t consuming the content and I wasn’t building anything. I think another thing we end up doing is just taking courses and not building alongside them. Information, of course, is always relevant, right? It’s important, but more so than that is actually getting your hands dirty and implementing the information that you’re learning and building things. Experience is really the best teacher. So you can watch someone else code, but it’s not going to be the same as you actually coding. So those were two things that I kept doing and I still to this day do it. I have to catch myself at my job now. One of the things I found myself doing was I was taking a course and I would write notes on it, but I wasn’t actually building GraphQL APIs. And so I had to stop myself because I found that when I was a part of conversations at work or when I was trying to write articles myself or teach content myself, I was lacking in some places. And that was because I learned the information, but to really internalize it, I had to build myself. So it’s definitely something that is still difficult for me. So if you fall into this trap, don’t beat yourself up about it, but it’s always better to build when you can.
[00:23:05] SY: Can you talk a little bit more about the importance and effectiveness of project-based learning? What kinds of things that you built really helped you learn the skills that you needed?
[00:23:15] CF: When I wrote this article, like I said, I was working with AWS and Python. So that’s a completely different skill set than what I have now. But for me, thankfully I had a course that was project-based. So it kind of pointed me in the direction I should go as far as what I should be building. So a lot of times they looked like scripts and they looked like building things using YAML for setting up like different cloud infrastructure things. It looked like building things within the AWS console. So spinning up servers and all that kind of good stuff to get used to what it’s like to be a cloud engineer. But if you’re a self-guided learner, you might not have that resource to your disposal where you have someone telling you what you should build. So I would say there’s tons of articles out there that have projects that are valuable for you to build based off of whatever you’re aiming for. So if you’re wanting to be a web developer or if you’re JavaScript developer, React developer, look up projects for React developers and don’t just look it up and just leave the information there, like actually build. Also, don’t be afraid of following tutorials. This was one of my pitfalls that I fell into after I wrote this article, but there were a lot of people who would say like, “Oh, don’t fall into tutorial like the tutorial abyss where you’re just following tutorials and you don’t stop.” For me, that meant that I completely avoided tutorials. I would never follow them. I will always try to build everything from scratch to myself. And while that was valuable experience, it definitely was not the happiest path. So I ran into a lot of roadblocks and that sometimes would stop me from finishing things when it would have been much better for me to follow a tutorial initially. And then after I followed the tutorial and see how like a professional structure their projects, how they work, then I could like add features on top of whatever I built or built something similar that would like help me to kind of take my knowledge to the next level.
[00:25:12] SY: So the next mistake you write about is losing motivation, which feels kind of connected to not building and maybe not finishing projects. What do you feel would make you lose your motivation?
[00:25:26] CF: I think the thing that would make me lose motivation was that it was hard to gauge progress, especially when you’re not building projects or when you start to build projects and you run into issues that you feel like you can’t get over. This is why I said like having a course tracker has been super helpful for me because when I do have those moments where I’m like, “Oh my gosh! I feel like I’m not doing anything and I'm not improving my skills,” looking back and seeing like, “Here’s the progress I made on that project, here’s the progress I made on that course,” helps me to see that I am indeed progressing as a software developer and it does help with motivation. Another thing is that when you are learning on your own, because the course I was taking was self-guided, so I wasn’t like a part of a cohort or like had classmates or anything like that, it can be super hard to be motivated. So being part of communities online, virtually helped a lot as well, getting involved on certain parts of Tech Twitter. There are tons of Discord communities out there as well, that are very helpful and it gives you people you can talk to who may be going through the same thing as you, or who have gone through those things and they can like help motivate you and encourage you. That has definitely helped with building up motivation.
[00:26:39] SY: So tracking your progress, whether it’s just writing down things that you’ve learned at every session and getting involved with the community, any other strategies to overcome your motivation hurdles?
[00:26:52] CF: I think closely tied to losing motivation is imposter syndrome. Sometimes when you feel like you can’t fix a problem or you’re running into a bug that you can’t fix, or you learned something new about a language that you just don’t understand, it can make you feel like an imposter, which in turn can affect your motivation. Something that has helped me is that when I have those moments where I’m like, “I just can’t figure this thing out,” I’ll go back to something that I feel like I know well and I’ll build with it. So for me, the thing that I know well at this point is probably going to be building like Python scripts or building like things with HTML, CSS. So sometimes I’ll just build like a pretty simple UI or sometimes I’ll do some CSS or I’ll do something like that. For me, it’s like low hanging fruit, but I can build something and it’ll look cool at the end. And then I feel like, “Okay, maybe I do know how to code. Maybe I do know how to build things.” I might build like a quick Python script that gets something simple done, and it helps me to kind of like regain my confidence. So then when I go back to whatever the problem was, I’ll have like a new level of confidence, which can help. And then sometimes when you walk away from a problem that you can’t fix, where it is you’re having a problem solving, taking some time away from it and going back to it can give you like fresh eyes, which can help as well.
[00:28:09] SY: And your fifth and final mistake that you wrote about is relying on too many resources, which is kind of an interesting one because people might think that the more resources the better, so you can have different angles, different perspectives, that kind of thing. But how can relying on too many resources actually be a mistake?
[00:28:28] CF: For me, what this looked like was that it was almost similar to the dynamic that I had when I was jumping between languages. So say I would have, “Oh, I’m finally going to focus on JavaScript,” I would be taking like six different courses at one time. And that probably sounds ridiculous to you, but I thought, like you said, the more perspective I have, the better I can like fill in the gaps that one course doesn’t fill in that kind of thing. But what ended up happening was I would get through a little bit of one course and then a little bit of another course and then a little bit of the next one and so on and so forth. And I just ended up relearning the same content over and over again, which ultimately impede my progress. And I think that this happens with a lot of people sometimes. I think it’s much better to choose your one thing that you’re going to do. So it could be a course. It could be like one of those interactive courses, like Codecademy, it can be a YouTube course, whatever, and just stick with that, like just really dedicate to learning at one thing. And if by the end of it, you feel like there’s some gaps in your knowledge, so you start building something and you realize, “Oh, I don’t feel like I know arrays well enough,” then you can seek out something that’s going to specifically target that one thing instead of just like taking 30 different courses at one time. That’s an exaggeration, but taking a bunch of courses at one time, which for me was not super productive, that’s like something that a lot of people can kind of fall into, which I did.
[00:29:49] SY: So how can you decide what resources are best, especially when you’re so early in your coding journey?
[00:29:56] CF: Yeah, this is a great question. I think there are tons of people out there who are a bit predatory in how they market the learning content that they have, even bootcamps can be that way as well, because they’re just targeting beginners who are hungry to learn. I would say definitely do a little bit of research, especially before you invest your time and money. One thing I do now is if I’m trying to learn something, I might look up on DEV about resources for learning TypeScript or whatever the case may be. And what I do is I’ll just take maybe the top thing in that list and just focus on there. And that is helpful because it’s recommended by someone who’s probably in the industry who probably knows what they’re talking about, who you can trust. And then once you start taking the course, sometimes you’ll find that like, “Oh, this isn’t fitting my learning style. This course is moving too fast,” or sometimes it’s like they’re talking too much, whatever. Then you can stop taking the course and move on to something new. But just avoid taking like five at the same time. You can always start it and if it doesn’t fit your learning style, you can move on to something else and try to find something that fits you well. But yeah, the whole goal is just to avoid taking too many at once and like finding the one that’s the best. Like on Udemy, they have course ratings, they have comments and reviews and things like that. Look into those. I would say if it takes a substantial financial contribution from you, do a lot more research and maybe if you can even reach out to people who you may know who have taken the course or been to the bootcamp, I’ve found that to be very helpful as well, because then you can get like real words and experiences from people who have in real life participated in the course of bootcamp and can give you their deep end.
[00:31:39] SY: Coming up next, Ceora talks about new mistakes she’s encountered in her second year of coding after this.
[MUSIC BREAK]
[AD]
Code allows us to innovate, but building your entire backend API from scratch is hard, requires specific expertise, and is extremely time-consuming. Appwrite is an end-to-end platform that provides you with all of the core APIs needed to handle your project user authentication, database, and storage with advanced serverless functions in most coding languages for maximum customizability. With Appwrite, you can have a better starting point for your next project and focus on building awesome websites and applications. Visit appwrite.io to learn more.
You know the drill. You’ve just barely fall into sleep and you’re jolted awake by an emergency page. It’s your night on call and something is wrong. The good news is you’ve got New Relic so you can quickly run down the incident checklist and find the problem. You can pinpoint issues down to the line of code so you know exactly why the problem happened and can resolve it quickly. That’s why the dev and ops teams at DoorDash, GitHub, Epic Games, and more than 14,000 other companies use New Relic to debug and improve their software. Whether you’re at a cloud native startup or a Fortune 500 company, it takes just five minutes to set up New Relic in your environment. That next late night call is just waiting to happen. Get New Relic before it does, and you can get access to the whole New Relic platform and a hundred gigabytes of data free forever. No credit card required. Sign up at newrelic.com/codenewbie. That’s N-E-W-R-E-L-I-C.com/codenewbie, newrelic.com/codenewbie.
[AD ENDS]
[00:33:43] SY: So now that you’ve completed a couple of years of coding, you’re in your technical role right now, are there some new mistakes that you would add to the list?
[00:33:53] CF: I would probably say the thing that I deal with the most now is finding time to like maintain my skills and also imposter syndrome. Imposter syndrome has been a huge hindrance for me because I haven’t gone to a university. So sometimes those kinds of things can give you a complex… and just in general, coding anything usually it’s not going to give you the happiest path. Even if you are a super senior super experienced developer, you’re always going to run into problems. You’re always going to run into bugs and those bugs can make you feel like you don’t know what you’re doing, which contributes to the whole imposter syndrome thing. And I’ve had instances where that happened a lot. And sometimes even I’ll have instances now where I’m like, “I’m afraid to code in front of this person, because what if I really don’t know what I’m doing and they’re going to think I faked my way to this position or whatever?” And that’s been something that I have literally let take over more times than I would like to admit. And it’s something I’ve been actively working on now for the past couple of months. For instance, I was like deathly afraid of coding live for a really long time, which is something you need to do for interviews. And also I’m a developer advocate. Like I’m going to be on live streams and giving talks and demonstrations where I’m going to have to be coding. So recently, maybe a couple months ago, I finally took the leap and I did a live stream where I was coding in view for the first time. So super nerve-wracking, right? I’m coding in something that I have zero experience with, but nothing bad happened. The computer didn’t explode. It wasn’t a super terrible experience. And even like I’ve always been kind of afraid of talking about technical topics because I’m afraid I’m going to make a mistake, but again, I’m a developer advocate. I have to do those things. So. I found that with imposter syndrome, it’s never going to go away. It’s not realistic to look at it in a way that I can’t wait until I’m done with this because it’s going to be here forever. What I’ve been trying to do is act anyway. So if I’m signing up to give a talk and it’s super technical about GraphQL, about something that I’m just learning about and don’t know if I have the right understanding, I could be super nervous, but instead of chickening out and being like, “I’m not going to give this talk, you won’t see me there at the conference,” I act anyway. I do my rehearsals. I give the talk and just hope for the best. And sometimes things don’t always go well, but it’s always better to have that experience than to not is what I would say. So my new goal is to just put those feelings aside and just do it. It’s hard, but I just have to do it. One of the things that benefited me with jumping into cloud DevOps engineering without any previous experience with anything cloud related was that I didn’t think about it. I just did it. And that led me to having a whole career in the tech industry. So it’s the same with imposter syndrome, right? Don’t think about it. Just do the thing and just hope for the best and usually it’ll turn out okay. So that’s what my experience has been. And I’m saying this now, and I bet like in the future, I’m going to have to like listen to this over again and be like, “Oh, Ceora, you fell into imposter syndrome again.” But yeah, it’s a continuous journey for me with that.
[00:37:09] SY: Yeah, I really appreciate that advice. We can’t always control how we feel and obviously it’s much harder to do something when we’re feeling down or feeling motivated in those situations where maybe we’re not feeling quite good about ourselves or it feels too scary if we’re able to just push past it and act anyway. I think that’s a really powerful trait.
[00:37:31] CF: Yeah.
[00:37:32] SY: So what challenges continue to be the most difficult to overcome for you today?
[00:37:37] CF: The most difficult to overcome I would say are finishing projects and being consistent. And this is not unique to me or even if you’re listening, don’t feel like you’re alone. This is a problem that everyone knows about in the tech industry. I’ve seen so many Twitter jokes about like, “Oh, I’ve bought another domain for a project that I know I’m not going to finish.” And we have so many ideas and not enough time. So it can be really hard to finish things that you start, even if you feel like it’s going to be valuable for you or even the community at large, maybe it’s an open source project that you’re interested in or that I’m interested in building. It’s very hard to finish things. And another thing I said is the consistency part of it. I’m very bad at being consistent with everything. It’s not just tech stuff. So like I said, that’s why I had to do a total revamp and create like habit trackers, course trackers, things like that to help motivate me to be consistent. Of course, it’s not always going to be a thing. It’s not always going to be easy to be consistent. We have lives. There are things that happen, good and bad, that can get in the way. So of course, I try to be forgiving with myself, but it is something that I’m continuously working on and that probably for the rest of my career is going to be like a constant battle. But knowing that and just having the systems in place to like combat that as best as I can has been super helpful.
[00:39:02] SY: What would you say is the biggest piece of advice you’d give to someone who’s just starting on their journey today?
[00:39:08] CF: I think when I wrote this article, I was just starting to get myself out there in the tech community. So I didn’t understand the power of community fully at the time. But this article, it’s so funny that I was asked to do this podcast revolving around that article because that article kick-started everything like that has gotten me to where I am today, like literally. And that’s because of the power of community. I think that the biggest tip I can give is to get involved in the community and to learn in public as best as you can. So for me, that looked like writing on DEV. That looked like tweeting about what I was learning and tweeting about the problems that I was having. That also looked like being a part of Discord communities where I could ask questions and give feedback and share what I was learning, share the projects that I was building. And that has helped me to build such a solid foundation, not just like for coding, but in my career at large. And it still carries me to this day. If I could like rewrite this article, I would definitely add like, “Get involved with the community as soon as you possibly can.” And that looks different for every person. Like I said, sometimes that’s a Discord community. Sometimes that’s Twitter. Sometimes it’s local meetups, whatever that looks like for you and whatever is like the most comfortable for you, do it. That has helped me so, so, so, so much in my career thus far and it continues to help me now.
[00:40:37] SY: Now at the end of every episode, we ask our guests to fill in the blanks of some very important questions. Ceora, are you ready to fill in the blanks?
[00:40:45] CF: I am.
[00:40:46] SY: Number one, worst advice I’ve ever received is?
[00:40:49] CF: The worst advice I’ve ever received is that once you choose a path, that’s the only path that you can go on. And it’s funny that I’m saying this because it might sound like it’s contradicting everything I’ve said previously. But sometimes I think that we can get into this mindset that like once we decide we want to be in tech, we would decide we wanted to be a web developer for instance, we have to stick with that forever. And like that kind of mentality is like super pushed on us, especially in school, like you think you have to know what you want to do straight out of high school and just like stick with that career forever. So not true. Since I’ve been in tech and it hasn’t even been that long, I pivoted quite a few times. And the reason why I push consistency with like one language or whatever is because it gives you a foundation so that in the future, when you want to pivot, you can, because you have the foundation that you need to be able to learn quickly and ramp up on whatever language is relevant for your job. I never would have imagined that I would need to like focus on GraphQL, opposed to like doing AWS and cloud engineering stuff. So don’t feel like you have to like stick to one thing and just stick with it forever. It’s not true. Tech has so much to offer. The world has so much to offer. Pivot and do whatever you want.
[00:42:02] SY: Number two, best advice I’ve ever received is?
[00:42:06] CF: I think the best advice I ever received is to focus on people, career-wise especially of course like coding is important. Career advancement is important, but more than anything, people are. You want to make choices that are going to benefit people and humanity at large. And that has helped me not only like go to sleep at night, but it has really helped me to gain fulfillment out of my career because I know that I have a circle of people around me who are willing to support me and I’m willing to do the same for them. It kind of goes in tandem with the advice I gave as far as building community. That is what will help you to really thrive, not even in your career alone, but just in life in general.
[00:42:50] SY: Number three, my first coding project was about?
[00:42:53] CF: My first coding project was a chat bot in Python.
[00:42:58] SY: Oh, cool!
[00:42:59] CF: I don’t know what the chat bot do. It was so long ago, but it was a chat bot.
[00:43:02] SY: It chatted.
[00:43:03] CF: Yeah.
[00:43:05] SY: Very cool. Number four, one thing I wish I knew when I first started to code is?
[00:43:11] CF: One thing I wish I knew when I first started to code is that almost everybody is like really still figuring this out. I mean that in the truest sense of the word, like in the truest sense of the phrase, I should say. I used to think that people say that just to say it, but it is so true. There have been so many times where I’ve talked to more senior members of my team and I’ve been like, “I have this question and I can’t figure it out,” and they’ll be like, “I can’t figure it out either. Let’s do it together.” And that’s so validating because sometimes I think we assume that we’re the only ones who don’t know what’s going on, but really we all don’t know what’s going on. We’re all trying to figure it out together.
[00:43:53] SY: Yup. Absolutely. Well, thank you again so much for joining us, Ceora.
[00:43:57] CF: Thanks for having me. This was awesome.
[00:44:05] 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.
[00:44:41] LS: CodeLand is tech industry’s friendliest conference for early career software developers, coding enthusiasts, and their champions. For the third year in a row, CodeLand will be an entirely virtual experience available to anyone with an internet connection. The cost? Whatever makes sense for your budget. CodeLand’s organizers have just announced that the 2022 event will be taking place on June 16th and 17th. If you’d like to learn more about CodeLand, visit codelandconf.com. There, you can also submit a talk for consideration. CodeLand will be accepting talk proposals through March 29th, 2022 at 11:59 PM UTC. Don’t miss this chance to have your unique perspective heard by a global audience of early career software developers and technical thought leaders. Visit codelandconf.com today.
Thank you to these sponsors for supporting the show!