Dharmindar Devsidas [dharmindar]
How did you begin programming and at what age?
I was five to six years old when first saw a computer. I saw it in a TV show somewhere near 1986. I named it a type writter with T.V. and asked my Dad if he can buy me one.
But unfortunately due to our poor financial conditions it was bought for me iin the year 2001.
Therefore my programming started in 2001 when I started by BS. But I had passion of touching the keyboard since 1986 when i first saw it.
What languages do you code, and in what platforms?
What machine configuration and operating system do you use?
Dual Core Computer with 3GB RAM on Microsoft Window Vista Ultimate Edition
Please list web addresses where we can see some of your work
Sorry I dont have such resources.
What motivates you to undertake a new project?
Mostly I am engaged in remaining up to date with the latest technologies. So if any project that has something to polish my those skills. But most of the time you get projects in the skills where you have your experties.
What part of project development is most gratifying to you?
The whole development life cycle is so much fun to me that I can not distinguish. I am involved in almost all parts from Analyzing to architecting to development to test. Its all to fun to do.
From the outside, it seems a rational job, but is creativity necessary for programming?
In my opinion programming needs interest, curiosity and calculative nature. But if you are creative with the mentioned skills then your name would be soon heard by others in Software geeks. You would also be inventing any new framework like dot net or any other technology like silverlight.
What conditions do you need to concentrate when programming?
There is not any fixed condition on which i program. Sometimes I require some silence or sometimes I require music.
After working for long periods of time, have you ever felt as though you were in a bubble?
If u are asking about the situation when I am not getting able to solve a problem and brain is also spitting something out. At that time I switch something else for while to maintain the equilibrium.
When you check out code you wrote time ago, what's the main difference with respect to code that you write nowadays?
Yeah there is whole lot of difference in my todays code and in the code that I used to write in past. I didnt know properly what OOPs is. As I wrote more and more I explored OOPs, patterns and architectures more and more. I understood coupling and cohesion. These days I first decide architectures according to my requirements. If it is a request response scenario then I adopt MVC(Model View Controller). Model View Controller is the framework that is a composition of various design patterns. If i have to build a software with the technologies having good binding capabilities. I choose MVVM(Model View ViewModel). Model View ViewModel is a just like MVC except some variations. I write books on these topics So i would cut it off here only. But the thing is that I am programming better these days as compared to my starting days.
Do you still buy programming books, or do you learn everything from online sources?
Yes I buy new programming books and also keep track of online resources.
Do you think programming should be taught at the basic education level?
Yes it should be taught at educational level.
What has been your experience in marketing your software?
I havent encountered such situation yet.
What do you learn from software users?
That they should be satisfied at all the times. But you would agree that they get fully satisfied but for a very small amount of time.
What would be your solution against piracy?
It is possible if you can make on hardware level. That when first time your software is installed it provides all the hardware ids to you. And when the software is launched then it first checks the same configurations online. May be someone gets in between and takes the software away. But he would not be able to run the software. Because his hardware is not registered. And his hardware data is not on your database. So software wouldnot authenticate and authorize him to run. This means you have to buy software for each and every system. And you would not be able run that software on unregistered hardwares. I dont know this is just an idea. I dont even know if there is already such kind of solution available.
Would you consider yourself rigorous in the organization of the coding that you write and on commenting it?
Better is to make good practices as programming standards in written and should be checked for at various stages. It is better to comment all necessary code then finish it early.
How do you calculate the budget for a software project?
I have not done it yet.
What are your favourite games and on what platform do you play them?
I like Kung fu and Cricket.
How often do you clean dirt-buildup on your keyboard?
Daily done by my office boy.
How do you feel when friends or family ask for your help in solving domestic computer problems?
Depends what sort of thing they are asking about. Sometimes if i dont know the thing and I if dont get able to make them understand that how dont i relate to this problem to solve it, i dont like those situations.
As machines for development, what opinion do Macs deserve?
I dont know. Because I have always been on windows plateform.
How do you protect your computer from viruses?
NOD32 these days.
In social settings, do people become interested when you tell them you are a software developer?
Yes I do feel like a star. And encounter these situations a lot. And I like it.
Do you work alone or in a team? Which do you prefer?
I work in a team. And I prefer working in a team. Because two heads are always better than one. And also the tasks are distributed which results in a better product. But you are the only guy who has to analyze, design and code you would not be that much productive as much as you would be productive in a team.
Are you one of the first to update to new software when it comes out, or do you normally wait until more stable versions appear?
I like to be on the software from there beta versions. I am the first WCF and WWF certified in Pakistan. So from this you can analyze my approach of picking a technology. These days I am exploring Azure and Google App Engine for Cloud Computing.
What is your main reason for not meeting project deadlines?
It would be delayed if not properly designed or the exact requirments are not written. Development should be done with standard practices.
In your opinion, which company helps software developers the most?
I didnt get the question properly. If u are asking about the software company. Then I only know Microsoft properly.
How many breaks per day do you normally take?
One or Two
At this point in your career, what would be the project of your dreams?
I have some new ideas which i am sure are yet not discussed in the world any where. But I am waiting for the right time to throw them out.
What is your next project?
It is a Banking software.
Which websites or forums for programmers do you frequently visit?
msdn,microsoftevents,asp.net,channel9, Scott guthrie blog
What advice would you give to someone who wants to become a programmer?
Algorithms, DataStructures and Design Patterns should be cleared. So do practice them properly.