Lessons From a Self-taught Programmer #1
Friday 12th of May 2020
Learning a new skill by yourself comes with many advantages. The flexibility to study when, where and what you want ensures that you are always fully motivated when it's time to put the work in. We've all picked up a book when your heart's not in it, only to realise twenty pages in that you haven't taken anything onboard. Self-study allows you to learn at your own pace and affords you the opportunity to investigate any related topics that tickle your fancy.
However, studying on your own has its pitfalls. One of these pitfalls was illustrated perfectly when the time came to publish this website. I had bought my domain name and hosting services. I had spent 2 weeks creating my content and learning enough HTML and CSS to display it nicely. Getting all excited, I logged in to my website, uploaded my content, opened my webpage and… Nothing. My website was still displaying the default page provided by my web host.
I gave it a few minutes, thinking that there may be a slight delay between uploading content and that content going live. After 10 minutes of waiting, I turned to Google; "Publish html page on website", "where to put html page on website" and "display website home page" were some of the fruitless searches in my attempt to find out why my web pages were not displaying. I turned to my web host's help pages but to no avail.
Then the doubt and frustration began to kick in. "How are you ever going to be a software developer if you can't even work out how to publish a website?", the voices in my head would say.
After half an hour went by, I finally found another poor soul who was having the same problem and had asked on Stack Exchange (a Q&A website). The solution was provided. The home page html file needed to be called index so that the web host knows which page to display to the user upon arrival. This is common knowledge for a web developer and something you would learn in any introductory web development course. However, it is not obvious at all for someone publishing a website for the first time.
Being able to find answers to your own questions is a very important and often underlooked skill. The wealth of information available at our fingertips means it is no longer necessary (but sometimes useful) to retain hoards of information. This is reflected in the growing number of open-book exams where the emphasis is on applying techniques and analysing information rather than rote memorising facts, definitions and theorems.
I have found this skill to be especially important in my six months of software engineering. There are so many different packages, classes, methods and keywords whose syntax varies from language to language that you are doomed to forget things you once knew. Resources like google, stack exchange and (brace yourselves) the documentation are invaluable resources for quickly finding answers. There is no shame in not knowing something.
After all, it's not about what you know, it's about knowing where to find it.
And with my website published, I'm perhaps that little bit closer to becoming a software developer.