There's a resource page attached to my blog here. It's where I'm listing all of my tools I'm using to learn to develop code. There are many links on that page to a few different languages, but my focus is on Visual Basic at the moment, so some of those links are going to be stagnant for me.
Resources
As it stands right now, there are four resources in my arsenal that is teaching me how to write and understand the programming language Visual Basic.
1. Microsoft Visual Basic 2010 Comprehensive book
This book is one a friend had at work laying around in one of her bookcases that she had from a course she took in college a while back. She let me borrow it. I spoke to some others in the office about where to start, and they suggested the book. Many of the developers I work with don't actually have formal 4-year degrees, which surprised me. They simply got certified in some programming languages and began working. I've only made it to the third chapter, but many of the concepts are already becoming clear in how VB works. It does an excellent job of explaining how to use the software and some common coding practices. I asked about the age of the book and was told this would actually not be a hindrance at all. It's better to learn how stuff works from an older book, and then when you see the updates, you appreciate them and realize how it helps in the long run.
2. Codefights
In addition to reading the text mentioned above and doing the exercises there, I'm also participating in a website called codefights.com. It's actually really great. There's no real instruction for how to code, and its intended for people who already have a base in coding, I think. The website is forcing me to lookup answers and understand syntax and concepts in order to post solutions. The company I work for has even started a friendly challenge to see who can get the most points. Obviously, I won't stand a chance in that department, but I actually get to work on little assignments other developers are working on, and that's pretty cool. I also get to see how frustrating a wrong piece of code can make something not work and feel that rage. :) Still, it's great practice, especially for those who are already programmers.
3. Pet Project
My supervisor strongly urged this one, and to be honest, I haven't started it yet. The goal is to learn by doing something that I completely control: no schedule, no specific requirements, just a simple program. In my case, it is going to be a simple time sheet program that tracks time. In doing this, I should be able to learn more about a practical use of the code. Since I haven't started this part yet, there's not much to show. Still, I have heard several people and blogs mention that having a side or "pet" project is a great way to keep stretching yourself to learn.
4. Fellow Coders
Last, I work directly with several different developers every day. At any given time, I ask them general questions, and when they're working on something they have a little extra time with, they let me sit in with them to understand what they're doing and how it's affecting the programs I test everyday. My supervisor and other leaders are great resources as well. Even the IT director is stepping in and pointing me in the right directions. It's really great to be a part of this team. There's going to be some information I obtain from them that's not documented, and it may very well be extremely specific to my organization.
Process of Learning
In essence, no one is really giving me a direct step-by-step guide of exactly what to do, and I'm not attending any formal classes. This is largely self-directed. My supervisor and another leader at work has explicitly told me to use the book and create a side project. Everyone is standing behind that information, so that is what I'm going to focus on first. I was also told to keep messing with Codefights, so I'm going to be doing that some on the side as well. Ultimately, I'm in charge of my own schedule and learning, so self-discipline is somewhat crucial. I'll keep everyone posted on where I'm at.
Comments
Post a Comment