On the bus this morning I was thinking, with all these frameworks and languages for web development, what advise would I give my younger self starting a journey into web developing?
My Developer Journey
Graduating from software engineering in a couple months. No industry experience, but hear me out. I’m not clouded by cooperate software, or being forced to use/sell any frameworks/languages, I have freedom of choice. That being said I have examined each of the following on its own, by itself in personal as well as freelance software projects.
Why listen to me
Simple fact is you don’t have to listen to me, I realize I don’t have as much experience as some seasoned developers. I don’t know every one of these frameworks inside and out - I use them, for the functionality they provide. I am writing this to advise my 17 year old self, or any other person seriously looking to dive into web development.
What Are These Good For?
I’ll answer this with an analogy. There really isn’t any bad coffee per say, sometimes you feel like express to get you going, other times you feel like getting a Tim Hortons (Dunkin’ Donuts) for the convenience; each has a purpose. However it is completely subject and depends on what you’re trying to accomplish. Relating this back to web technologies, each technology has its own purpose. The choice of technology does not just depend on what you’re trying to build; think bigger. It may also depend on your business structure, client, or any constraints placed on you.
If your business slogan is “we make quality web apps, value great software, and developer experience” well then something like Rails is best suited for you. If your slogan is “reliable, scalable, and safe” you’re probably looking at play framework or a Java backend web app.
Concerning the client, a lot of people are familiar with Wordpress. If your client is someone posh, who thinks they know all of the things, Wordpress is likely the solution. I don’t mean to sound like I have all the answers, however awesome Wordpress is, it gives the client the illusion that they are building their own web app, just by having access over dynamic content.
If I were to recommend my younger self one language/framework to get really good at, I would recommend Rails, especially if you are looking to build great software as a freelancer. This is because of developer productivity, budget, security, and many other reasons (I’d seriously love to talk about them, email me!). While some clients actually request for a Wordpress site, or theme by name, as a software engineer, I feel building quality software is important. I am not saying you cannot build quality software wth Wordpress, however, I am saying you certainly have more control over the structure of the application with Rails, and Ruby is just plain awesome!