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.