Handling Frustration as a Beginner in Software engineering
For days now I've been trying to fix the bug in my project. It seems like everything was against me. I searched online for answers, watched tutorials then came back to fix it but no, It did not work.
This feeling that I could not solve the problem started creeping in, I began to feel not interested in going on with the project or at least switching to another thing, only to realize that those thoughts of not being good enough will not let me be. This is not the first time I'm feeling this way and it won't be the last as I realized that this feeling is part of the challenges we face when learning new things.
One of the problems we have is that we do not have enough people talking about it. Handling depression as a beginner in software engineering will help you become more in control of your emotions and reduce mental stress. Did I mention that I moved that project to my trash bin? yeah, It was that bad. I wish I had known better.
In this article, I will be writing about the pragmatic ways to overcome depression most of which helped me personally. I like to keep this article as real as possible so this article might not be so organized or follow a particular order.
Everyone is not good enough, You need to first realize that everyone feels at one point or the other feel that they aren't good enough. Think of great developers you know or read about, they all started as beginners and at one point they feel bad for not being able to solve a problem. Your case is no different, humans generally can not be all-sufficient, we need to keep learning, keep trying, and keep pushing because we become good at what we deliberately repeat. so keep writing those codes even if it did not work at first.
Be patient and have a slow but steady approach to learning, A friend of mine told me one time that he was finding object-oriented programming very difficult to understand. I was surprised because he told me a month ago that he started learning to code. He started with html and css, and now he's finding object-oriented programming hard, how? In one month?! Often time we set unrealistic expectations for ourselves, JavaScript in 1 week, Python in 4 days, html in 30 minutes, lols. These expectations will most likely get us frustrated. As a beginner in programming, You need to understand that to be a successful developer, You need to solve problems and create rare and valuable products, and this will not happen overnight. It will take hours and years of practice. I asked that my friend if He was already comfortable with basic concepts like data types, nesting, loops, conditionals,etc. His respond was a confident yes! I then gave him a simple task to output the highest number in a list. To start with, he failed to convert the input from he user to integer and then he could not store those inputs in a list. These are pretty basic concepts I feel a beginner should learn before proceeding to advanced concepts like OOP. So take enough time to understand basic concepts, do simple projects meant for beginners, don't make a Netflix Clone when you are still not good in handling inputs for users, lols ( I guess my friend won't be happy reading this), I think you need to be completely honest and true to yourself about about your learning journey, put in the real work to really grasp those basic concepts before taking up bigger tasks.
Project-based learning is still doing the magic, So we've talked about taking your time to understand basic things and I will like to also encourage you to do as you learn. when you go to freecodecamp's website these words; LEARN, BUILD AND EARN is emphasized. You learn the concepts, You build projects that enhances your understanding and then you earn certificates ( someone is thinking the EARN is dollars, sorry). It's a good thing that most of these online courses (the good ones) are adopting project-based learning and I would encourage you to invest in some of them. here's a link to 1000+ Free Developer Certifications to online courses that you can take for free and earn certificates. Look for the ones that suits you and don't forget to look out for project-based structured course.
You didn't have to be alone, Join a Tech community,How good will it be when you have people you can show your codes and have them review and give you feedbacks? or when you are stuck on a particular concept, you post online and your questions are answered. It is very important to have a supportive community that can help you when you become confused. Twitter is a very good place for Techies, find communities that are interested in helping beginners like you, actively be involved in sharing your learning experience, follow people that will inspire your to do more and if possible find a mentor. Everytime I'm free from work, I spend time rubbing minds with other developers. I like to ask questions and also answer some of their questions. The truth is most of the problems you face, someone else has seen them before. it will be good if you find people you can learn from, it reduces the time you spend looking for the answers yourself. Do not forget that a community works best on mutualism, You must be willing to contribute to the community too, that way you are also boosting your confidence.
Celebrate Little wins, I remembered when I was much younger, I would take up the multiplication table and learn it. from 2 to 3 to 4 down to 12 and for every one I memorized, The feeling of accomplishments was heavenly. My parents will get me snacks and have me read it in the midst of their friends, I was satisfied for every step. A lot changed being an adult now, we have too much expectations, too much competitions, too much work to do, so much that we fail to celebrate our little wins. As a beginner, celebrating your little wins is key to maintaining your emotional and mental control. Who learns to walk without crawling? who learns to read without knowing the letters first? It's a process and for every point learn to celebrate yourself. You code a landing page? post it! You build a calculator? use it! You complete a course? tweet it! You don't have to wait still you are doing the big things. Be your own cheerleader and very confident to showcase your work online!
You are the next big Techster and I can't wait to hear from you! Keep learning, Keep pushing, Keep engaging. At the end, your time and resources invested in learning will eventually pay off.
Say hi to me to twitter @Sammie_savvie
Subscribe to my newsletter
Read articles from Samuel Aderibigbe directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Samuel Aderibigbe
Samuel Aderibigbe
I am an aspiring Software Developer and Data Scientist with experience in Backend development using Python, SQL and JavaScript. I talk about Data, Webs, apps and other technologies.