Featured Post

BUILD A TODO LIST IN PYTHON

Image
Build a TODO List in Python Overview The objective is to build a todo list to which we can add items, remove the added items, edit the items and even if required, delete out the entire list itself. We will learn here step by step, how to build the todo list with the above  CRUD (Create, Remove, Update/edit, and Delete ) features.  This is a CRUD list  app  that we are building as we can Create, Remove, Update items in the list and Delete the entire list itself. We will be using Python3 to build this Project. Importing os and time We import time to let the screen pause for a while before clearing  and we import os to clear the screen . Initializing the list We initialize the todo list with an empty list as there are not items added yet to the list and this is represented in the code aby using an empty square braces   toDoList = [] Defining the print list  The def keyword is used to define a function in python. In the below code, we define the function called printList(). When we define

How To Fight Programmer's Imposter Syndrome






If you are struggling with a severe Imposter Syndrome in your Programming job or learning phase, while suffering from a serious Inferiority Complex that is trying to destroy your coding journey, here is the guide to fight the challenges of the Programming Imposter Syndrome. In this guide, I share with you the actual elements and reasons for causing this Imposter Syndrome and also provide you with many Actionable Advice for you to improve your confidence!


Programming Imposter Syndrome is a major emotional battle for most Programmers, whether you are in the early stages of learning to code or already started working as a Programmer, and it is very normal for you to feel the emotion of an Imposter Syndrome and fighting this syndrome is a big challenge indeed.

Imposter Syndrome is actually a collection of feelings of inadequacy that persist despite evident success. "Imposters" suffer from chronic self-doubt and a sense of intellectual fraudulence that overrides any feelings of success or external proof of their competence. It is the persistent fear of being exposed as a fraud. There is always a constant nagging feeling that "I am a bad programmer", "I am a mediocre programmer, "I cannot code well without Google search", "I cannot code without Stack Overflow" and "I am not fit for a coding job yet".

As a beginner Programmer, or as a Programming learner, this is actually a feeling of insecurity due to not knowing everything as compared to others doing the same thing. It could also be a feeling of being lost amidst expert programmers, software engineers having a vast experience in this industry. Sometimes, this is also the fear of being exposed as a fake programmer not having enough expertise as self-promoted to others/peers in the industry or at work or in the place of learning.

Let us understand the reasons for this feeling of Inferiority complex, in order to combat this challenge. Read these details to understand why you feel that "I am a fake programmer, about to be exposed":

You do not have a formal Computer Science degree

There is a common myth among many programming students and programmers as well who think that you need to have a formal Computer Science degree in order to do well in Programming. This a myth because, many companies hire Programmers and Engineers based on their knowledge and portfolio rather than a fancy computer science degree! A Computer Science degree may help you in getting attracted to hirers but during the interview, it is only your knowledge and portfolio that matters, rather than your degree certificate.

You are a self - taught programmer

You think that since you are a self-taught learner in Programmer, you may have left out something behind and not well-equipped as those who have gained formal degree certification from computer science universities. You also do not have the full confidence as a Programmer as you are not attending full time classes, and there is no mentor holding your hands and leading you all the time in your learning journey. Let me tell you this important point, companies always prefer a self-taught Programmer rather than a Programmer who studied Computer Science and Programming in a University. The reason for this is due to the fact that companies need independent learners and not someone who is dependent on seniors or colleagues all the time to learn new programming languages. Once you are hired for one Programming Language, say, Python, you’re learning journey doesn't end there, but your employer will expect you and also ask you to keep learning new Programming languages, like, Java, JavaScript, PHP and so on and so forth. If you are a self-taught Programmer, then, your employer knows that you will find it quite exciting and easy to learn more programming languages all on your own without burdening others around and then you will prove to be an asset for your employer!

You are not the best programmer compared to others around you

You are always getting this nagging feeling inside you that you are not as good as other programmers around you. You feel that they know much better than you and that compared to them, you are just nothing. You can not help feeling that you are so foolish compared to other programmers who are too smart with coding and completing tons of projects quickly without taking help from others. This is completely wrong on your part to think as such, because, every person is unique and it is not at all a good idea to compare yourself to others. It is like comparing your beginning to someone else’s middle!

You suffer from Success Phobia

You have a nagging sense of Success Phobia that keeps stopping you from reaching the top and hinders you from doing better and better. This Success Phobia is the biggest obstacle to the path of achievement and you need to get rid of this phobia in order to move forward. If you have a tendency to rush your goal, and speed up on completing your learning phase or compete with your peers to become better than others, then, you will end up taking short cuts and short-cuts can really lead you to the success phobia tunnel where the going can get very tough indeed.

Planning in accordance with your goals, lifestyle environment, personal commitments, etc., is very important or else programming journey can become very humdrum or strenuous. If you want to succeed as a Programmer, being consistent, persistent and patient is very important, in order to avoid being lost in the tunnel of the Success Phobia while rushing things. Remember, "Rome was not build in a day!"

You fear reaching the top as you feel that you may fall down any time! This feeling of insecurity only comes to you since you are rushing to reach to the top and you are rushing to become successful too soon in order to compete with others around you. If you want to achieve something, you must set a goal and you should compete with yourself and not with others, so that you can win slowly but surely.

You suffer from Failure Phobia (it won't work out)

Just as success phobia deters you from reaching the top, even the failure phobia does the same thing to you in stopping you from your achievements and goals.

The Failure Phobia is common to all beginners, be it in the early learning phase or in the early working phase, whereby, you keep getting this nagging feeling that you will fumble and fail somewhere along the way and that it won’t work out the way you planned.  This feeling arises from the fact that you are rushing too much either trying to learn everything fast or trying to prove to others that you are also the best. It is all about proving to yourself that you will become your best self rather than trying to become better than others around.

You steal codes from google

In order to complete complex projects to show off that you are the best, you fumble in the beginning and being unable to complete the code with your limited knowledge, on your own, you decide to steal codes from google. This is where the feeling of imposter syndrome starts attacking you and you feel so let down that you feel a very poor image about yourself. In order to be successful, feeling good about yourself is good and by feeling bad about yourself, you cannot proceed to complete your more complicated projects or secure programming jobs and even if you get a job in the beginning by stealing codes from google or others around, you are bound to get caught in the process.

You are poor in Mathematics. This is based on a common belief that programmers need to be good at Mathematics. If you do not have a Mathematics background, that does not mean that you cannot be a programmer, however, this insecurity of not being an expert in Mathematics, is surely bringing you down from your feeling of an ideal Programmer image expectation.

Only Nerds can code

You suffer from this negative feeling that only Nerds can code successfully and that you are not a nerd, hence, you are incapable of being successful in a coding job. This feeling persists inside you, because, you have a certain image of a Nerd as being someone who is the most knowledgeable person who knows everything in science and mathematics and who is born intelligent in programming. You feel that you just cannot understand what are the complications within the coding languages and you feel completely lost in the maze of all the coding concepts, their logical statements, data structures and algorithms etc. You fail to realize that you do not need to be a nerd in order to code and that coding comes from understanding the concepts and logics. If you have average understanding power, then, you are able to understand the logics behind every block of code, provided, you invest your time and focus on grasping the concepts of the programming languages that you have learnt or trying to learn.

 How to deal with the Programmer Imposter Syndrome

The reason you feel this imposter syndrome is due to the fact that you are comparing yourself to others in the industry doing the same thing, be it a programming student like yourself or be a software developer or Engineer like yourself. So, the first ACTION that you need to take is to STOP comparing yourself to others. Even if others are doing better than you with similar work or learning background or experience, stop comparing them with you. They are THEY and you are YOU! Nobody is same, everybody is unique. Again, even if you consider yourself smart and intelligent and yet cannot pick up the skill better than others of the same level, just don't compare, because, no two different persons have the same lifestyle, background, environment or monetary scales. Just because others around are practicing coding 8 hours a day and becoming smarter to code faster, does not mean that you are a fool. You should understand that you have some other priorities at work or in personal life due to your commitments that just does not allow you the time to take out 8 hours a day to learn code or practice coding, hence, you may end up getting familiarized with the skills in a longer duration of time span as compared to them. There is nothing wrong with that, hence, it is always wiser to compare yourself with yourself, that is, keep comparing your current status with your past status and keep improvising in improving your skills, be it at work or learning to code. This way, it would be much easier to fight the Imposter Syndrome inside your brain!

"Don't compare your beginning with someone else's middle."-Thorin Kozlowski.

You must never compare your early phase of coding career or learning phase with others’ advanced phase of a long coding experience as that will only discourage you from going further in your coding career. It is always better to compare your middle with your beginning in order to measure your progress level and helping you to target your goal more precisely.

 

Embrace Not knowing everything

It is always a good idea to accept the fact that you are not a “Know it all! “. If you pretend to know more than you actually know, then, chances are that you will end up hurting your reputation in the community, and also damage your ambition to move ahead in this journey. Embrace the learning phase and embrace not knowing everything, as not knowing everything will make you curious in this coding journey. Curiosity will trigger your power of thinking logically and that is what will take you forward in your programming journey. In fact, you will never reach the stage of knowing everything in Programming as this a huge industry in itself and even experienced Programmers need to keep learning new things.

"Everything will be okay in the end. If is it’s not okay, it's not the end." John Lennon

You should have an open and daring mind with a strong determination that is already focused upon success in the end and simultaneously ready to bear the brunt of failure, weaknesses and challenges that may come in the way of your ambitions, but you have to take it as a learning point rather than considering it as the end of your journey! As long as you continue having a strong willpower, you will surely make it until the end with great success.

Programming is forever evolving

Programming trends keep changing- sometimes the language that you learnt today may become obsolete tomorrow. Also new languages may become the trend of the time. New technological tools and frameworks keep coming up in the industry year after year and in order to keep up with this industry, you need to keep yourself updated with these trends and keep learning new languages, frameworks, and other such things that are required to keep up with the latest information. Hence Programming is an ever-evolving science and you need to keep up with your learning journey for life. Hence, the best Programmers never stop learning, never stop thinking and never stop creating.

Good programmers need not be a good mathematician

You don’t need to be an expert in Mathematics in order to get involved in coding. But even if you do not have a mathematics background, make sure that you prepare yourself with some basic level mathematics in order to understand the coding data structures and algorithms that will get you on to the road of Logical Thinking. Also, you may take up front-end web development and languages that stay away from mathematics. But, as a programming teacher, I myself would suggest that you learn basic maths in order to understand some basic algorithms that may arise in front-end projects as well, that involve a bit of structural thinking. If you are a person who loves designing, you could opt for web designing that has nothing to do with Mathematics.

You don't need to be born as a nerd to code

Many people are scared of even venturing into the coding industry as they think that programmers are nerds born with high scientific mind and that only nerds are able to become good programmers.

Thinking attitude can be developed

While doing coding projects, you need to think a lot, but, remember, this is nothing to do with nerds. Thinking mindset can be developed if you put your mind into it.

Understand that expertise takes time and experience

Even experienced programmers google and conduct research to do lots of their projects. Experts also look up code snippets in Stack overflow for more ideas on doing things in different ways. Looking at other coders’ work also gives you creativity to do projects in other ways to get the same result. Remembering what to google is important and it is not a shame to google for coding concepts in case you get stuck in the midst of a coding project. Remember to google for concepts and methods, but not for final solutions. Even if you google for solutions, ensure that you understand all the concepts and steps that goes into doing that project rather than blindly copying it for end results.

There is no such thing as expert programmer

You will never reach the stage of knowing everything in programming. Even experienced programmers need to research and look up google a lot. There is so much to learn and understand in the ever-evolving industry of coding, that, you will never be able to call yourself, an Expert Programmer, even after years of working and training in this industry, since, there is too much depth in the vast sea of knowledge.

To conclude, please remember that you will reach your goal if you are patient. You will make it to the end if you really persevere. Never give up coding for wrong reasons. If you feel frustrated at any stage, re-think why you started learning to code in the first place. Stop copy pasting from google and stack overflow code solutions. Google for methods and concepts, not solutions and train yourself to google for steps and methods not solutions. Learning to code the hard way is often good for long term basis, as challenges along the way will trigger our power to think and solve problems, even better. Taking few steps backward when things get hard is better than taking short cuts!

Your journey as a Programmer can turn out to be very rocky if you cannot handle the challenges that come with it and you may even end up giving up your coding career if you are not careful in keeping up with your confidence level either while learning to code or in our newly acquired Programming job position. In this book, you will learn about the challenges that drives the force of Programming Imposter Syndrome and how to tackle and fight this syndrome in order to achieve your goal of becoming successful in your Programming career.


How to remember code in your learning phase

 

Comments

Popular Posts

Build A Random Quote Machine in React

A Simple Guide to Promises in JavaScript ES6

Welcome to my first Blog Post

Top Free Online Websites to Learn Coding

Build A Calculator in React

What Programming Language Should You Learn First As A Beginner?