Architecture Components looks great!

The recent talk about architecture component at Google I/O sounds great. With including Kotlin as an official language, a powerful ORM and lifecycle aware architecture components, Google really did a great job this year for Android development. Android framework looks evolved and powerful with all these now. Personally, I am feeling like my life as an Android developer will be far easier and better than previous!

 

Advertisements

A programmer’s view on technology that hijacks people’s minds

It was a great post about how technology is hijacking people psychologically followed by a TED talk from Ex-Google design ethicist Tristan Harris.

We can directly see it by noticing the people surrounding us. How may social networking addicts have you seen in your friends and family circles? How many people open the facebook in your office washrooms to check the stuff behind notifications?

As software developers, to some extent, we are also a part of this hijacking process. Of course not all, but many of us have been. Only for mobile and web developers: just think about all the apps and websites you have been developing. This post in all about my views about the world we are creating.

The technology we created isn’t helping ourselves to do the right things. For example, If you notice a design pattern like pull to refresh, then we are still just pulling the data from servers in order to refresh the data.

1-BNOfmUQ2nTRVPVe0CHx7ew

This is ridiculous, especially in the situation when the network connectivity is good and network costs are affordable. Why do we still need to call web services and pull the data? We should have real time data transfer in order to save time for our users. Stuff like WebSockets and platforms like Firebase and PubNub is really taking off and so we can hope the future to be good. Ideally, every data storage, transfer and manipulation should work in real time.

Second thing, we must need to care about design. We really need to focus on how can we create user interfaces that can provide functionality in the smallest possible interactions. Currently, all design patterns are doing the reverse. They either try to hide the data or to show more and more data.

The future depends on how we can help our users to have a meaningful time spent on technology in all possible ways. When the business rules the technology, it’s all complicated.

Carrot & Stick: that doesn’t work on Programmers!

'A raise might destroy their initiative. The good old carrot and stick bonus keeps them focused.'

Carrot & Stick – by definition “a policy of offering a combination of rewards and punishment to induce behaviour”, perhaps the oldest methodology for motivation in organisations doesn’t work for tech companies. There are many reasons for that, I will discuss them later. Any engineering solution just can’t follow this kind of rigid methodology to motivate their employees. Still, I can see many software companies following it blindly.

It was a great talk – ‘The Puzzle of Motivation‘ by Dan Pink. The quotes from the talk:

There is a mismatch between what science knows and what business does. And what worries me, as we stand here in the rubble of the economic collapse, is that too many organizations are making their decisions, their policies about talent and people, based on assumptions that are outdated, unexamined,and rooted more in folklore than in science. And if we really want to get out of this economic mess, if we really want high performance on those definitional tasks of the 21st century, the solution is not to do more of the wrong things, to entice people with a sweeter carrot, or threaten them with a sharper stick.We need a whole new approach.

There are many reasons for the fact that carrot and stick approach doesn’t work on programmers. First, Good programmers just don’t work for ‘only’ money. They work because they are passionate about developing software, self-motivated and love to do their job. Shiny paychecks don’t always fulfil all the other things they want. Second, Programming is more than a job. Programming is not a mundane routine work. It is all about solving problems, art and craftsmanship, perhaps someone’s hobby or a passion. Programmers need the proper environment to think, brilliant people to surround by and good projects to keep themselves busy. Enticing with carrots does not address these problems. After all, It’s easy to find programmers. It’s hard to find good programmers.

So, to all the employers following it – that 19th-century old absurd approach absolutely doesn’t work on us and you are doing it all wrong!