Sunday, December 06, 2015

I'm so over email!

Companies today still use email as their de-facto means of communication, which is quite sad. The problems with email are:

  • Asynchronous - in our world of real-time everything, is surprising that email has lasted so long.
  • No built-in feedback: Receipts dont work. Because its async, people to resort to phoning or asking people if they received their mail. This is crazy. You never ask people if they received your whatsapp, because if gives you instant feedback with the ticks.
  • Takes too long. People understand that email is send and wait, so they therefore build their workflow around that. You have to wait for a reply!
  • Far too many - its too easy to CC as many people as possible. Its not focussed enough.
  • The protocol is far too antiquated. Emails can get lost and not delivered.
  • When a mail trail gets too long, its difficult to follow who said what. And the sad part is that all the signatures and headers take most of the space.
Email is so clunky. Email feels to me how people behaved before email - its almost as bad as sending physical mail. Its too slow, and it might not even get there. The answer may not be relevant if it arrives.

At my workplace, we actively use Instant Messaging. No, not Lync! We use Telegram. Its realtime, and quick. Its perfect for most situations, especially:
  • when you actively working with someone on a problem. Because we have domain experts, if you putting in or supporting a problem, you need real time communication with others even if they based on the next floor, or another office some where else. Telegram makes it seem like the guy is next to you, its that quick.
  • Rooms or groups, based on topic: easy to send info to a group of people. No need to CC!
  • Apps for PC/Mac, mobile and web
  • Easy to send files
  • Parses and loads web links/URLs
  • Can reply to or quote previous or specific messages
It just feels better than email. 

Having said that, IM or Telegram is not perfect. There are definitely situations where you cant respond now, and need to come back to it. Because IM flows downwards like a list, that item is quickly lost. I often force myself not to read a particular Telegram group, because the last discussion had a point I needed to come back to. So now I have to forcefully disconnect from the discussion because otherwise I will lose the action point.

Email is not dead, yet, but it definitely needs to evolve. It needs to be relevant

A few years ago Google came out with Wave. I thought it was perfect. It added real-time capabilites to email. Looking back, it seems to be the perfect mix between the strengths of email and IM. Sadly, they care too much about the technical prowess of the protocol than usability. 

We tried Slack a while ago, but it seems to suffer from the same weaknesess on IM and Telegram. There's just no way to mark a message as unread. Also, you need to keep on inviting people, which hampers its uptake in a large organisation. If there was a way to use it in greenfields company, where you not choosing between email and IM, then Slack may work. 






Tuesday, May 05, 2015

The new age of learning

Assumption: You are a working individual. Your company company offers training courses, and because there is dedicated budget for it, and because its part of your KPIs, you go on a course every year. Usually its a vendor related course, or maybe a TOGAF course here and there. But its boring, apart from the free lunch coupons. But how will that keep your skills relevant for the next 20 years? Can you afford to go (back) to university to (re) do your CS or Engineering degree?

I have recently been blown away by the plethora of online training. This is not just CBT Nuggets (which was very good though, it helped me get by CCNA). I am talking about online learning that is two way, and customised and focussed for your specific area. Its as good, or maybe even better, than a good university degree. MooCs, and its variants, are changing the way we will learn.

"Well known MOOC providers include courses from: EDX, Coursera, Udacity and Khan Academy with content supplied by some of the leading universities and technology companies around the world such as MIT, Harvard, Berkerley, Stanford, Google, AT&T and Facebook"
 
I recently took a MooC from Coursera for Web Application Architectures. It was a ahigh quality course. I watched the videos, completed the quizzes after each video, and then completed the assignments. Each contributed to the final mark. To make sure that I would dedicate myself over the 6 weeks, I paid for the Verified Certificate. It was worth it.

The content from MooCs covers all learning subjects. I believe some content even tops University offered equivalents because of the real life applications, e.g. these Micro Degrees on Big Data: https://www.coursera.org/course/datasci and https://courses.edx.org/courses/MITx/15.071x_2/1T2015/info

Regarding programming, I have come across some really cool places to learn how to code:

Learning web development - my rails journey

Even though I have not been a typical software developer in my career, I have used my coding skills (google, copy, paste) to create PoCs at work. Recently it has just been limited to pulling in a WSDL in java to test how the SOAP API works. I tried my hand at Android development a few years back. But the one place that I never really dabbled in was the web. I did help to maintain a few JSP pages a few years ago,  but I barely knew what I was doing. And with the rise of responsive websites, I have always regretted not knowing anything about HTML, CSS, javascript and web frameworks.

In my pursuit of relevance, I recently took a MooC course about Web Application Architectures: https://class.coursera.org/webapplications-003/quiz

It explains MVC, HTTP and a bunch of related concepts, using Ruby on Rails as the tool. I dont regret learning rails, and I have since started expanding my learning with these resources:
I highly recommend railstutorial - it is extremely well written, and takes you through the concepts while developing a few apps.

Not related to Rails, but it contains a nice story on how frameworks win over flat coding: http://symfony.com/doc/current/book/from_flat_php_to_symfony2.html

Whats next? According to http://www.quora.com/What-should-a-fullstack-developer-know-in-2015, I need to know these:

  • HTML
  • CSS
  • Javascript