Posts

Showing posts from March, 2018

A ‘Lazy’ programmer may be your best programmer

Image
It is an accepted fact that software has changed the world and is a critical component in the ongoing digital revolution. It is interesting to note however that if time is discounted, there is no task that software can do but a human can’t. But by doing repetitive tasks more efficiently and quickly, software has brought tremendous efficiency and accuracy to almost all work we encounter in daily life. Since each task is executed in the same manner, if one instance of the gives correct results it is guaranteed that the software, if bug-free, will always behave the same and give same results. And now, backed by artificial intelligence algorithms software is able to do even non-repetitive tasks reasonably well. There are a lot of monotonous tasks that professionals do in every industry. In manufacturing, exact steps have to be followed to make a specific model of a car, in retail same process is followed for storing items or at checkout, in the fast food industry similar food is cooked

Internet Application Integration: Catalysts for the coming Artificial Intelligence Revolution

Image
In current times, hardly a day passes without some news about Artificial Intelligence (AI) and how it is going to change the world. Math based algorithms that were developed in the late 1950’s ( first pape r  on Machine Learning appeared in 1957) are changing the world so much that some experts are already sounding the doomsday scenario when artificial intelligence algorithms will destroy the human race( Elon Musk ). While the availability of cheaper and more powerful computation power has been the major reason for the exponential growth in AI applications, another major impact has been from digitization of data which started in the 1960’s with the availability of commercial magnetic storage. The foundations of all modern AI algorithms originated in statistics and just like their base, the predictions of the AI algorithms are as good as the data. Due to  Moore’s law (and its storage cousin,  Kryder’s law  , cost of data storage has been exponentially decreasing, allowing large organ

Online Coding Tests - The Holy Grail of Software Recruitment ?

Image
Mary, an experienced civil engineer applies for a structural engineer’s job at   Well Reputed Corporation (WRC). Before considering her for a first round interview,   WRC wants to gives a test to assess her skills in structural design for high rise buildings. Under 3 hours, the test requires her to design and build a small structure to house a hamster. The house has to be one story, with several rooms and two entry doors. With the basic equipment given to her (a manual saw & screw driver), Mary works hard to get the task done. While a hamster house does not need her specialized structural design skills she does takes some shortcuts, which she knows are wrong, in order to complete the task in time. The hiring team at WRC puts a hamster inside the house and measures for how long the hamster stays inside. Unfortunately for Mary, the hamster exits the house in 23 seconds, while the minimum criterion to go to the next round of interview was 60 seconds. Fortunately for civil engineer

Is there a rockstar in your development team ?

Image
In software development, the performance difference between a good and an average developer can be in order of magnitudes, much more than any other field. In my experience, a good developer is at least ten times or more productive vs an average developer. The performance difference is even higher when there are poor developers in the team, since a significant portion of your good developer’s time is spent in ‘baby-sitting’ – insuring that the bad developer is writing acceptable code. If you want to have a quality product having developers with poor development skills in your team is not even worth it, since in the long-term the net gain will be negative like when you may have to go back and start from scratch. A rockstar software developer is someone who is even better than a good developer, and while rockstars do exist, finding one is quite a task. Therefore, having a rockstar in your software development team is like having a precious diamond. Not only is the rockstar developer