I was bored with PHP, so I thought why not try something new.. I have been learning many things online for the last 4 years which led me being a Developer from a Marine Engineer. My learning journey still continues and here are a few tools I collected during these 4 years, also the way I rate them is also visualized.
Last year, I was taking an online course named as Web Application Architectures and that course demonstrated how agile and conventional Rails is when it's compared with other frameworks using MVC pattern. I just love how it enables us write less code and generate more out of a few simple commands. Specially, the scaffold generators and the simplicity of Rails' models when it comes to database objects which make your life much easier when I compare it with my 3+ years of Wordpress theme and plugin development. I know how interacting with database sometimes creates unexpected problems without any middleware like Rake and ActiveRecord as Rails works with. Though, after a little research I come to know that it's also possible for PHP with a few frameworks like Laravel and etc. Also, Rails rocks even on the Frontend, it's fun to deal with CoffeeScript, SASS and LESS.
I'll check the requirements first, if it's a website which we know as a website of anything, static or dynamic, I'll go for PHP. But not for PHP only, I'll work on Wordpress, because Wordpress makes our life much easier and we do not have to take care of things other than a few customizations. Even if it's a store, I won't go for Magento or OpenCart, because Woocommerce does it all; and even though if we need more than that, we can develop a plugin to do our job. But when the word "Website" is pronounced as "Web App", I'll go for Rails. When it's something beyond Web 2.0 or something which doesn't match the common web development concepts. For example, it can be the Marketing Automation ideas I have been thinking since a long time, I know SEO well by the way. Or, the project describes itself with the keywords like system, automatic, app, API, processing and etc, that will make me think of Rails. One more thing I like about Rails is it's vast API support automatically inside it's controller
format.json when we generate scaffold.
I started my Freelance career in 2012 as a CAD consultant as I have a Bachelor’s Degree in Marine Engineering, so now the question may arise in your mind about the connection between Web Development and Marine Engineering. Well there’s no connection between those, your self learning skills make you expert in any field no matter whether you meet the prerequisites of that particular field or not... Long story short
|B.Sc. Maritime Studies||Pakistan Marine Academy|
|(MIT)||Virtual University of Pakistan|
And, the uncertified education goes on and references for those can be provided on demand.. Sorry, I do not have any IT/CS degree.
|Autocad, 3ds Max, Solidworks||I studied Engineering Drawing in Marine Engineering, so while waiting for a call to sea. I was trying to explore the way I could model the machines through Computer Aided methodology because we were taught with the manual methods. Later on, I came to know it was something which could make me some money. So, I tried putting up my efforts to freelance some CAD projects and yes I got first after a few days and later on I got a few more. And, I realized, "Man this is great, I'm earning online and this is fun! Let's find out a few more methods to earn money online.." I found out that the Information Technology is the field where every subject is a way to earn money online. So, I got admission in Master's Degree program in IT of Virtual University.||SOLIDWORKS 2012 Essential Training, AutoCAD 2011 Essential Training||Automatic Programmable Feeder, Water Space Relief Valve|
|C/C++||I get admission in MIT program by VU and here is the course (CS201) in the first semester where I could learn the basics of programming. After 18th lecture, I discontinued my studies but this taught me enough to learn any other programming language and thus I stepped forward to learn web development which later on proved as a career building opportunity.||CS201 VU, CS50 Harvard||Didn't make any project and freezed my studies as I had a call to join sea.|
|Bootstrap||Responsive design has been a necessary thing since last few years. Although, I was making sites responsive through custom media queries but when it comes to Bootstrap. It relieves you from a lot of things and all you need is to know how to use it's grid system and classes.||Lynda.com||Many of the above including http://www.bitgym.com/|
|Ruby on Rails, Postgresql, MVC Architectures, GIT||I remember a wonderful quote of my VU teacher: "When learning becomes fun, education becomes entertainment." ~ Dr. Rashid Kausar So, whenever I get bored of something, I try to explore the new things within my field. I'm a big fan of Ted Talks, I love to explore about Entrepreneurship, Technology, Online Marketing, SEO and sometimes I start learning a different language. So, this happened when I was looking at a course for Web Applications and came across a course by University of New Mexico known as Web Application Architectures. This course taught Ruby on Rails and how it's used at every specific layer of it's MVC Architecture. I was quite inspired and started learning more and found CS169 by UC Berkley even much helpful. This course introduced me to a very powerful database management system, Postgresql. Also, I was introduced to various other concepts like Object Relational Mapping and etc. Also, learning GTI was a wonderful experience and have been using it since then also with PHP applications to keep my work versioned.||Web Application Architectures CS169 UC Berkeley||This website itself and working on a few other SAAS based apps as I have some ideas to work on|
|Python||I love OCW and keep on learning different courses on Edx and Coursera. I had an idea about the power and simplicity of Python but wanted to learn it anyway, so came across the course Programming for Everybody (Python) on Coursera. I like Python as it's similar to Ruby, also I love the way it doesn't care about terminators ";" and cares more about indetation, this teaches ethics of programming.||Programming for Everybody (Python)||Not worked on any project yet but looking forward to work on a Django project|
|Node.js||Self learning habit goes on, found a course by my favorite teacher, CS164. What I learn is that this environment is simply great for building small scalable web apps.||CS164 Harvard||What I do is, I keep on collecting tools in my toolbox and use the right tool at right time and this is one of them.|
|Linux||I said Good Bye to Windows since July 2014 as soon as I realized that all I have to use my system for is programming and Linux is the better choice for that. Also unity based operating systems are very common amongst Rails development community.||Various online tutorials, Terminal commands and documentation available online||I have been using Ubuntu 14.04 since last year.|