Accounts I Should Have Had From the Beginning

When I first started learning about coding, I was reading through Zed Shaw’s book about Python. The very first program I made was based on the text game in one of the exercises. It was a game that would give me suggestions or try to motivate me in some way based on how I answered questions. It was a really bad example of programming with many nested if..else statements, but I believe that working through that game was ultimately the reason why I kept trying to learn. Unfortunately, I lost that game when my computer was stolen. Which brings me to the first thing I should have gotten when I started, a way to backup my files.

Github is the most popular choice from but I was always afraid to show really bad code or accidently sharing something personal like passwords or api keys. That’s the reason that I put off starting one for a long time. I became more diligent about backups after losing all the tutorial applications and links that I was saving. Around that time, I created an account at Bitbucket because it allowed free private repositories and it helped me get started using git commands. Starting with Github first would have helped me get over the hump about sharing or talking with other programmers but if that barrier is too big at the moment, it’s better to go with the alternative than not at all.

Another thing I should have started from the beginning was working through an app from rails new appname to deploying it. I put off this part for awhile and it was a huge detriment later on. Personally, my fear of deploying a demo was similar to my fear of the command line in the beginning. A major part of that was connecting and using a Database that wasn’t sqlite along with the other configurations. I knew enough about SQL and databases in general to work with it in a Rails app but that was different from having to configure it outside a development environment. For demos and trying to deploy the first time, heroku is my number one choice because it was the most painless for me, the most that I had to do was extract out some keys to environment variables and add a different Ruby server besides WEBrick. Their articles guided me on how to deploy for the first time and the reasons why they require programs to be deployed in that way.

The last thing I focused on in the beginning was that I put a lot of time doing exercises like ruby koans and exercism because it abstracted out a lot of parts that I couldn’t get my head around yet. I only found these exercises through GitHub and in the latter’s case, it’s the only way to access the exercises and let other users comment on your work. I was ignorant to the design patterns other people were using since I was so focused on just making the tests pass, but I used them to become familiar with the syntax and the way Ruby solved problems. Aiming to work on one problem a day was an attainable enough goal to create a habit and eventually fall in love with the process. As an added benefit, those exercises gave me a great appreciation of testing in general because that was the only way I knew if I was doing the right things.