Around two months ago, I downloaded the latest and meanest OS from Ubuntu, the 14.04 LTS version. I had no use for it then, since matrices and management ate up so much of my time. So it ran the risk of rotting away in my Downloads folder. Fortunately, the year-end of 2014 picked up some nice avenues for me to practice Python so I was finally able to try the new Ubuntu OS with Django framework. I just finished setting up my dev environment for this particular project. It took me quite a while because I needed to carve out the appropriate RAM allocation for the Ubuntu setup that I created. If I get past the semi-urban poor state I am in, I will probably just get a new computing machine altogether for Linux-related exploits.
Django is a really mean Python framework. Mean in the sense that it’s powerful. Mean in the sense that it will kill you to learn it for a while because of the monster learning curve. I first encountered Django in July or August of 2012. I was completely clueless about web development at the time. I started learning Git in September 2012 along with basic Python scripting. And for a complete beginner who is close to monkey levels of coding, I think I bit off more than I can chew with Django at the time.
So I let it slide for at least a year and a half. And then I explored other beginner-friendly frameworks. For almost a year, I dabbled into Drupal CMS because of its immense mapping support. But eventually, I started craving for more… CONTROL. CMS in general already restricts you and hard coding is actually a nice route for some things. As a fledgling webdev that I still am, I look for the versatility of working with both hard code and a framework.
Usually there are tutorials that aim to give an overview or tip of the iceberg feel for web development. It’s like a cookbook recipe but the science behind really lies in the hardcore documentation, the official ones that the project or framework or language has online:
Self-studying web development topics from scratch is difficult, even when I have a technical or engineering background. But I managed to cruise through and do projects by patching what I know with what Google knows for almost a year. Recently, I got some serious Python dev advice from one of the team leads of a nice project. He advised me to go straight to the documentation. And this is what I am doing now, when I revisited Django for the second time. The first time was not really as serious as I would want.
And the change from 2012 to 2015 is quite remarkable by my standards. I now understand it to a certain extent and I am actually interested in what used to be complex gobbledygook in my mind book. One of the things I found as a pain when tinkering with PHP is the URL complexity. There are modules, like in Drupal, but it seems to me like Django makes it easy natively without module additions. It also provides for a workaround against complex database queries by using a data model mapping approach. These things, when I read them in 2012, sounded just as interesting as warts. Today, I find it fascinating and worth looking into more deeply.
I had a good tutor named RK when I began web development. He was quite difficult at first because like many total noobs to web development, I had the inclination to want to be SPOONFED. I must say he trained me really well because I learned to READ THE DOCS. This is really the first commandment for anything for web development in any language. During my first month, I found myself asking stupid questions because I did not exhaust my means. Google is so useful and so are the documentation pages. It’s just all there, most of the time. In fact, I find it more difficult to create something unique because sometimes it’s just there and it’s inefficient to reinvent the wheel if it is working well.
I really feel like my development of skills is slow. But looking at how I respond to a documentation that I tried to crack in 2012 and today showed me that progress was actually made. Served as a benchmark on what has transpired in the last 2 years and how it has improved me in so many ways. I am deeply grateful for it because I only had the internet, a few good and patient intelligent friends, and my enthusiasm as resources when I started out.
In reading I always nurtured the belief that reading materials have a certain age of ripening for readers depending on their circumstance. At this point, Django documentation is quite ripe for my liking and something that I can now explore more freely. And indeed, this realization is the reason why I think that Django is sweeter the second (or even nth) time around.