Skip to main content

My 10 years in Application Development

It's been around 10 years since I started programming. May be a bit more, if I have to include my first attempts at C programming in school. But it would be a grave insult to call remembering ten lines of code and just replicating it to put a star on the screen. I also did a course on Visual basic, but it was more gimmicks that Application development. But it was truly in the year 2007 when I started my Master in Computer Applications that I found a new flare for developing applications. 

I was very late to computers in general and even when I joined my Masters, computers were not really accessible to me. But when I joined my Masters where one is actually expected to hone the skills which they already have, but in case it was were I was learning the skills, initially it was very difficult. I was not sure what computers had for me nor I had a natural flair for programming. But the thing about computers that attracted me was the visual medium it gave. Initially it was just a door to a high paying job, but in a month or two, I knew I was genuinely attracted to the computer. 

I was not good at programming (neither now). I am not someone with strong Algorithm and data structure background who can write complex code. But I liked building applications. Probably, that's why I titled the blog as 10 years of Application Development and not 10 years of Programming. I took lot of pride in developing application using visual medium that had lot's of User Interface elements and less of code behind it. I remember my first few projects were Cricket team building application on Visual basic (much like Fantasy cricket in cricinfo). But building screens, navigating them, providing something new on each page was something I was very much fascinated on. I purposely kept the complexities to bare minimum because what fascinated me was the joy people got when using applications that just worked. 

I built quite a lot of small applications and developing a simple todo list was my dream then and a dream now though I might have developed around 5 todo applications that I used for sometime and then discarded for one reason or the other. There was not GitHub at that time, so lost most of it. When my friends honed their skills on heavy programming, I was just dreaming and making small applications that made sense like a simple Sales portal done on VB and MS Access. I remember having a project on C++ where we had to implement some encryption algorithms. I still remember a very good friend of mine and a brilliant coder almost writing 10000 lines of coding implementing a very complex algorithm. All I did was create 10 encryption techniques on my own like reversing alphabets, replacing alphabet with numbers etc with my own logic built in. They were not perfect encryption techniques as such, but the goal was to design an application that handled multiple encryption techniques. I used to envy my friend for writing such brilliant code, but I hardly wrote around 700 lines of code, but more functional. 

When I started working in late 2009, I entered into the world of Enterprise Resource Planning, I was fascinated by how little companies cared about the User Experience. They wanted to jam in as much complexity as possible and make it so hard for the users, that they had to be trained on using the system first and then on it's functionality.  From that time, with the good vision that the companies I have worked had, I always develop functionalities which are more intuitive in nature and less complex. It didn't bother to me that I was having more fields where less fields would suffice. But I always wanted the users to see more to understand the application themselves than to read through manuals to use a single page. 

Fortunately very early in my working career, I got chances to design stuff, which was my core strength and probably my only strength till date. I am good at fixing things quickly though sometimes they are not the best option available but a viable solution where the client is more happy to use the System. Still 10 years down the lane, I have lot's of regrets including not worshipping Data Structures and Algorithms, but as the years passed I have gradually learned to work with them. 

The reason for writing this blog is to give people like me belief that you can thrive in this industry. Always we are clouded by people who can code x lines in a minute, who can solve all the code challenges put forth by big companies. But remember, there are lot's of opportunities and scope for creators in this space. There is so many things in this world which needs to digitized and the world needs simple programmers more than ever. The more application developers think like end users, the better the world would be. Do not limit yourselves to the confines of the programming language or the application but rather learn to dream and remember, the world is never enough for Dreamers.

Happy Coding...  


Popular posts from this blog

Changing Timezone in Postgresql, Ubuntu

Timezone and locale are integral concepts that one should be aware of when implementing a System. For example. if you create a database in PostgreSql, it will use the default System settings for the database. Lets say you have a server in UK and your client is US. If the client tries to retrieve the current date or time, it is going to show the UK time and not the US one.
Today I encountered a different issue in our client place where the Ubuntu timezone and PostgreSql timezone were showing a incorrect values. Instead of Indian Standard Time (IST) it was showing Pacific Daylight Time(PDT). These are the steps that I followed to change the timezone to IST in PostgreSql and Ubuntu.
Changing timezone in Ubuntu:
sudo dpkg-reconfigure tzdataYou will be prompted to choose the continent and then the area. Provided screen shots where we configure the location.
Use TAB key to navigate to the OK button and then press Enter.

The changes will get reflected immediately. To check it you can open a n…

Dissecting Openbravo 3.0 UI Architecture

Having been worked on Openbravo 3.0 UI for more than a year now (right from RC1) , Openbravo has leaped ahead of most contemporary ERP's in terms of UX design and usability. And a part of the credit has to go to the community too as they were actively involved in finalizing the UX and also involved enthusiastically in tested out the RC versions and providing their feedback.

In this post, I have tried to draw limelight on the basic UI components that are being used in Openbravo and their corresponding smartclient components. This is just to provide a very high level idea on how the entire architecture is coupled together. I have tried to use a single screen shot of Openbravo interface and tried to map the base components here.

The hierarchy can be visualized in simple terms as follows:

Exhaustive information on these components are provided in the Openbravo Wiki here.

Most of these components are defined and managed from individual files (or code) thereby making it really easy to …