On frameworks and libraries in Software Development

I woke up this morning with a link to something interesting trending on HackerNews. One of my mentors, Karthik Nandyal, had forwarded it to me.

I also happened to log on to Scaler, a platform where I mentor software developers and saw a bunch of questions from mentees around how to choose the best framework, which one should they be learning etc.

Both of the above got my thoughts racing. We’re in an information overload era and new developers are assuming that they need to master the frameworks to excel at their jobs. (software development)

Let’s look at the triggers in depth:

A lot of the above resonates with my long-term thinking of focusing on underlying languages over fancy new frameworks.

For those who don’t know: Hey.com is a brand new privacy conscious email provider with slick UI and an interesting take on emails and SPAMs. They have gained a lot of traction because of the founder’s previous successes. These guys built the RoR stack. The same framework that eventually powers the backend of platforms like Scaler and InterviewBit. They also built BaseCamp – a really popular Project Management tool.

New developers put too much thought in choosing a framework and comparing apples to oranges. It is worthwhile to “build something”. Most modern frameworks and libraries will let you achieve that goal.

React was miles ahead in architectural thought process when it launched. But today, you could build anything using either Angular or React, or as is in the case of Hey, simpler frameworks like Turbolinks & StimulusJS.

Hey.com stepped aside from the fancy architectures and ended up creating their entire app as a Majestic Monolith – another great read.

If you are a new developer looking to decide on a framework or library then depending upon your aim, you could:

  1. Looking for a job: Identify popular frameworks – build a side project using that. Try and read up on advanced concepts in that framework. Hit StackOverflow questions for the topic and try to see if you understand the day-to-day problems most developers face.
  2. Just want to explore: Pick a framework, any framework/library. Build something. Publish on your GitHub. Pick another, repeat… at the end of it, you’d have learned how to build various things using multiple tools/platforms. This is what a true polyglot developer feels like. They might have hands on knowledge of multiple tools and be experts in only a few.
  3. If the aim is theoretical knowledge by discussion only – you’re doing something terribly wrong. Either do “1” or “2” above and you’d have a good chance at getting yourself a seat at the table.

Remember, the table is large enough to accommodate everyone. Just that, only a few developers actually put in the hard work. No amount of reading about frameworks will teach you anything about the practical aspects of actually building real things.

Knowing a framework in depth, will allow you to talk to other framework folks and work upon your opinion. Having wide knowledge about many frameworks will let you have meaningful conversations with those who have in-depth understanding. It is never a black and white world. There are shades of grey associated with every framework. Work upon your opinions, be malleable at certain temperatures.

If you do not build, you’re just a blank canvas – anyone can throw some paint and change the colour. I’d call that technological-brainwashing.

Thoughts?

Parse Shutdown – What Next?

In a recent mail the Parse team mentioned January 28th 2017 is when Parse APIs would stop responding.

If your app uses Parse, the best immediate course of action is to host a private instance of the Parse Open Source Server on a Cloud Instance (or Dedicated Instance if you choose). Migrate the data to the new server.

There are simple ways to ensure there is no downtime during this activity. You could follow the migration guide here. I am available on a pro bono basis to help with the migrations.

The real meaning of UX.

UX, short for User eXperience has suddenly come to the forefront of the technology driven startup era.

Everybody is talking about providing the best interface possible to make any user’s journey on their platform as friction-free as possible.

But what exactly does UX comprise of? Is it the improvement of visual appeal, the increase in page load speeds or slick animations? Continue reading The real meaning of UX.