Everyone has to start somewhere. I started using Python around a year ago, but have no formal training in it. I expect this makes me a beginner.
So why am I writing tutorials if I’m not an expert? Well, I figured there are a lot of people in the same boat as me. How many times have you blindly followed a tutorial, made something work, and then had absolutely no idea why it worked? Been frustrated that you think you’ve followed it correctly, but have no clue why it’s not working? This is why I started to write tutorials. If I am putting the effort in to find out why something works, I want to share that effort. I want to overexplain, because you can always skim over extra info, but you can’t fill in what isn’t there. I want to be the person you don’t feel daft asking questions of.
I want to know why things work the way they do, and why we put bits into programs and leave other bits out. Why do we have to use sudo sometimes, and not other times? Why is it bad to import something as a new name that you’ve chosen (found that out this week)? Why do you even need to import things? What happens if you don’t? And other such questions.
In a sense, I’m sharing my learning journey with you. I’m making mistakes publicly so you don’t have to (but if you do, I want to show there’s no shame in it). I am asking the experts WHY until they get sick of me. I am finding out there are about a billion different ways to do even the simplest task (maybe an exaggeration, but it seems like it), and whichever way you do it, there will still be a more efficient way. A lot of coding is about doing things the easiest way, but sometimes easiest means that you have to think of future changes that you don’t know about yet.
I’ve done things the difficult way, only to have Jon lean over my shoulder and say “you know, there’s one command that will replace all ten of those lines?” – rather than screaming in frustration I do a little happy dance that I will never have to type out those ten lines again because someone showed me a shortcut. It’s much like learning a spoken language. I’ve found myself in Germany asking for a thing-to-make-fire because I didn’t know the word lighter and I didn’t fancy raw bacon sandwiches on the campsite. I see learning a coding language like that. Until I know the right word, I’ll put together my own version which works for now, but will be happy to replace it with the right word once someone points it out.
Which is why I want you all to keep telling me if I’ve messed something up, or if you think something could be clearer. Just as a Nativity play may not start off as fit for Broadway, doesn’t mean that with constant refinement, talented performers, and a good script, it shouldn’t end up there (yes, Nativity has just started in the West End). I’m going to keep picking myself up and refining my performance until I’m fit for Broadway, and those of you who are more experienced are my coaches.