How almost failing my first programming class helped me learn PowerShell
Many years ago when I first started out in my IT career, I decided to go back and take online classes to obtain a Bachelor’s degree. At the time, I was trying to decide what aspect of IT to focus on and I had the feeling that developing software would be the best avenue. There were several reasons for this that I thought at the time. The first, was that I felt like developing code had a certain degree of creativity involved, and I consider myself a creative person who needs that aspect in a job. The second, was that I knew you made good money.
Anyway, one of the first online courses I took was supposedly an introductory course to programming which was based on coding in Visual Basic .NET. The very first assignment and keep in mind that I or most other students had absolutely no freaking idea how to code was to modify source code for an application for a vending machine and change the functionality somehow.
Let me reiterate that.
This course expected someone with no prior knowledge of programming to redo source code, compile an application and make it run the first week. More so, in this particular course there were no “classes”. No instructor presented any information whatsoever. You had a book that you read and were supposed to grasp something as complex as .NET without help. Needless to say, the course was a complete disaster for myself and for any other student in the class I spoke to. The professor ended up just passing everyone because no student would have actually passed legitimately.
I took the class really serious and I read and read and read about .NET not really understanding anything at the time. I exited the class completely defeating thinking I would never become a developer because I just could not wrap my head around how software was created.
Fast forward five years or so. My boss at the time wanted me to migrate 10,000 on-premises mailboxes to Office365. Uhh ok. After reading documentation it became evident I had to automate this and started learning PowerShell to do this. Ironically, as I began to learn and use PowerShell that terrible online class I took years before actually freaking paid off because PowerShell is based on .NET and since I had learned a bit of .NET, I was able to pick up PowerShell much easier. I had a basic understanding of object-oriented programming. Objects, methods etc.
I guess it goes to show that learning something, even if it seems like it will not help you at the time, may help you learn something else in the future.