School has taught us that failure is bad.
Let us suppose that not succeeding is an unfavorable outcome and that having a plan can avert failure. You might assume that proper planning can help stop mistakes, errors, and undesirable occurrences from occurring. But with programming, the opposite is true.
Instead, failure is an opportunity.
You will see error messages while learning to code. You will also come across mistakes in your coding after you have learnt how to code. In order to become an independent programmer, you must cultivate a single ability.
You have to be able to spot an error notification, interpret its content, analyze your programming, and fix the issue. This involves acting rationally. For certain individuals, the sight of issues in programming can evoke strong feelings. It shouldn’t.
The purpose of a computer is to execute a set of commands in the order they are given. If the code files are arranged in a particular way, the computer will generate a specific result. If your code has an issue, it simply implies that the way it was written at the present time has caused the particular mistake. Nothing more.
Issues in your programming don’t signify that you are an incompetent developer.
In general, it is impossible to have an application without any bugs. That implies that if there are mistakes in your programming, it is likely that something has not been correctly set up. It doesn’t mean that you’re stupid. And it doesn’t mean that you’re bad at programming. That means the code you wrote does not produce the desired outcome. Most newbies are not aware that this is actually a beneficial situation.
Each failure is an opportunity to learn.
If you expected your code to be functioning properly, but it is not, this suggests that there is a slight discrepancy between what you believed it should be doing and what it is actually doing.
Nevertheless, sticking to issues you are familiar with and can solve without difficulty does not aid in the development of your programming abilities.
That’s where the real learning happens in programming. There will be discrepancies between your perception of how the computer will translate your programming and how it actually does interpret it. And that’s ok.
The computer is giving you a notification that something is not functioning correctly. The great thing is that it also gives you clues so you can recognize the issue and learn how you can solve it.
Code issues are distinct from issues that can be found in other areas.
Problems with code can be fixed for free. If you put together a car that has a damaged transmission or build a bridge using defective materials, it will require a lot of time and money to repair later. If you take apart some faulty programming, identify the issue, and repair it later, the consequences won’t be as severe.
You have the liberty to, as Mark Zuckerberg stated, be quick and disrupt the status quo.
Do not consider an error message to be equivalent to receiving a failing grade on a test.
This isn’t like a school setting, where the period of time passes quickly and you’re reprimanded for not being more informed. Instead, an error message means that the computer is simply telling you:
“Hey friend! I think there is a slight discrepancy between how you perceive the application to function and how it functions in reality. Here are some hints!”
School has taught us that it’s bad to cheat.
Gaining proficiency in programming requires one to figure out how to skirt the rules. Programmers do not gain knowledge by attempting to memorize a lot of information prior to beginning and typing rapidly on a keyboard.
Rather than relying on traditional methods of instruction, they access sources of information to discover answers to their queries. They look at code they’ve written previously. They review code that other people have written. They utilize google searches, discover blog entries, and record what they have gained knowledge from. Programmers don’t memorize. They recognize patterns cheat when they need help.
There is a credible explanation as to why businesses that are just beginning have ping pong and foosball tables. There are more efficient methods of problem solving than just spending hours typing out code. This enables you to shift your mindset and consider issues from an alternate point of view. Programming isn’t just about writing flawless code.
It is no surprise that the mock book “The Essential Guide to Copying and Pasting from Stack Overflow” gained a lot of attention. The title holds a lot of validity. In programming, it is not necessary to have a thorough understanding of the material prior to an important deadline. The only skill necessary is being able to figure it out.
Having the capability to solve problems is what equips you for employment. Your bosses will anticipate that you will acquire knowledge and develop.
School taught us that knowing stuff is important.
Honestly, it’s not. Most of the details generally don’t matter.
Think of a pitch-black room as an analogy for a subject that is completely unfamiliar. Any illumination in the dark chamber symbolizes your understanding of the subject. You were likely taught in school that if you put in enough effort, you will eventually be rewarded with a bright outcome. It was likely emphasized to you that the most critical ability was learning how to fill the room with illumination entirely.
But that’s not how programming works. It will be impossible to completely light up the room, and that isn’t the most important ability. Rather than simply relying on instinct, to be successful in programming you need to be able to navigate and complete tasks in an unfamiliar environment. Being able to make the most of the limited resources at hand to manage your way through a dimly lit room is the ability that truly counts.
New programming technologies are always coming out. Computers and technology are changing at an incomparable rate. One of the alumni from the Firehose program recently pointed out these facts during one of our office hours sessions:
- The wheel was invented in approximately 3000 BC
- The Industrial Revolution happened between 1760-1840 (almost 5,000 years later)
- The Wright Brothers made their first flight in 1903 ( 60 years later)
- Soviets put a satellite in space in 1957 ( 50 years later)
- Neil Armstrong lands on the moon in 1969 (another 12 years later)
To make it clear, the Apollo Guidance Computer had the capacity to carry out 41.6 commands each second. An iPhone 6 processes about 3.36 billion instructions/second. This implies that the device in your possession has the capacity to direct 120 million Apollo rockets to the moon in 1969 all at once.
It is impossible to keep up with the rapid pace at which technology is advancing.
It is impossible to acquire all the knowledge needed within the time available. So don’t worry about mastering something. Concentrate on acquiring the ability to learn how to learn instead. That’s what really matters. It’s not so much the final product that matters, but rather the capabilities you possess to create it.
The online world is your friend. Start there.
It is simpler than ever to begin studying to program due to the abundance of inexpensive or free lessons available on the web. If you had attempted to do this ten years ago, there were not many options. Now, it’s a cornucopia. In five minutes or less from the time you look at my list, you can begin an online course.
I chose to educate myself in JavaScript, as it is the language that runs the internet. After looking at reviews and consulting some sources, I began with the JavaScript courses at Codeacademy, which begin from the very basics, assuming the novice has no background in programming. Every lesson provides a step-by-step guide to some aspect of programming such as assigning values to variables and employing if-then statements, then encourages you to try something straightforward using it. After a few weeks of experience, I came across some blog posts that praised freeCodeCamp, a different platform for beginners. It provides instruction in JavaScript and also teaches HTML and CSS, which are the languages used to create webpages. I alternated between the two tutorials, discovering that their varied ways of teaching the same material assisted me in firmly understanding the fundamentals.
I didn’t stick to one language, though. I had been told that Python was a great language for beginners, less complicated than JavaScript; it is also widely used for data analytics, which I found interesting. I opted for a different approach this time, utilizing a book – Zed Shaw’s Learn Python The Hard Way – that numerous coders have commended on the web. Indeed, while taking these online courses, I also gathered a limited amount of printed books, such as Crash Course in Python, Automate the Boring Stuff With Python, and Eloquent JavaScript, which all proved to be very beneficial: They were easy to review and helped me to recall a concept quickly. There is a plethora of information available on the internet – if you ever need to know how to reverse-sort a list in Python, you can just search for it – however, it is still beneficial to use paper books. Shaw’s book has been designed in a way to arrange information about a coding language in an orderly and understandable manner.
Be aware of the potential risks when engaging in online courses. Be cautious when you purchase something that is advertised as being suitable for beginners; this is not usually the case, according to Katrina Owen, a self-taught programmer who works for GitHub and created Exercism, an open-source platform that provides coding exercises to hone your skills. She’s right. I have encountered many instructional videos that are purportedly intended for newcomers, yet are confusingly written. Frequently they are extremely helpful, guiding you through the material step-by-step, yet occasionally they act as though you are already familiar with objects or Integrated Development Environments. If you attempt these, you will end up feeling discouraged and believing that it is your fault that you don’t comprehend things, however, that is not the case. To locate suggestions: Look up reviews on the internet about the class, use the ideas provided in this article, and inquire friends for their input.
Don’t stress over what language to pick.
Do not become overwhelmed by finding the ideal language to study. The early stages of learning to code involve getting to know the fundamental ideas that are shared by all programming languages.
Quincy Larson, the founder of freeCodeCamp, informed me that no matter which programming language one begins with, they can learn the other languages, and the starting point is not as important as one might consider it to be. Choose from among the common programming languages for novices such as Python, JavaScript, Ruby, or C# from Microsoft and jump right in. You can rearrange it afterwards or, like I did, sample a few and observe which ones better match your thought process. Madison Kanna, who taught herself programming at age 23, recommends that people should not search for the perfect coding course. She personally prefers writing Python, as it is more aesthetically pleasing, but she has continued to use JavaScript since it is useful for web tools used in her work. “Just pick a curriculum and stick with it.”
Rather than Googling “What coding language should I learn?”, one may wish to dodge the contentious debates that coders get into about which language is better than the other. a) These claims are often absurd and b) even if they have any validity, they are not something you should be concerned about at the present moment.
Code every day.
This is a big one. It is a good idea to set aside a half hour each day to work on coding.
Why? It is similar to becoming proficient in Spanish or French: To be able to speak fluently, you must practice often. Programming is like communicating with a computer, so you should do it frequently. Novices tend to attempt massive and thorough explorations on the weekends, but that is not often enough. Programming languages are still considered to be languages, so attempting to learn them by only dedicating your weekends to them will not help you become proficient in using them effectively. Zed Shaw informed me that it necessitates consistent rehearsal and investigation. How are you going to manage to make time to program on a daily basis when you’re so busy? Shaw proposes that rather than taking the time to do something enjoyable such as watching TV, hanging out with friends, playing video games, or watching sports, you should instead use it to code every day. Avi Flombaum, who leads the Flatiron School, one of the earliest coding bootcamps and now an organization under WeWork, believes that it is more advantageous to do an hour of work per day instead of putting in ten hours on a single Saturday.
They’re right—this was precisely my experience. I discovered that I had a quicker understanding of essential ideas when I was programming a little bit each day. If I took a break for a brief period of time, every once in a while, when I had a ton of work to do in my job and a lot of personal obligations, it was like starting from scratch. I returned to my job working on a coding task, but I was amazed at how much I had forgotten about the fundamentals.
Leave a Reply