Who are you?
I am an Indian software developer by profession and
blogger by passion. I mostly love working on Microsoft technologies. Did I say
Microsoft? Oh yes, I love Microsoft Technologies and I am very
passionate about those continuous updated technical paths.
My name is Kunal Chowdhury, and I am working as a Technical Lead in an
MNC in India. I love my job working as a Software Professional there. My
company works mainly on Silverlight, WPF, Windows Phone and other Microsoft
technologies. Apart from my job, I write articles based on my learnings for the
developers and share them in my blog www.kunal-chowdhury.com and the CodeProject site. I also participate in
various Microsoft User Group events as a speaker & organizer.
I am a Microsoft MVP in Silverlight technology, a Telerik
MVP and a Nokia Developer Champion. I received those MVP (Most Valuable
Professional) awards because of my hard work for the developer community.
What projects have you worked on?
For the last few years I have been mainly working on various
Silverlight projects. Yes, you heard the word correct: "Silverlight." Many
clients still prefer their applications in Silverlight for various reasons and
they are mainly from digital media content publication (whatever that is). I
like working on Silverlight, and I like the day-to-day challenges that me or my
team face and I still want to work in this field for few more years as long as
Microsoft supports it.
Not only Silverlight but I also work on WPF, Windows
Phone and Windows 8 (WinRT) projects. When needed, I also help other teams
working on HTML, MVC and other stuff. I also provide suggestions to the UI team
to improve user experience. In short, I am not only limited to a project
for which my role has been assigned, but I help all the teams in my company on
my own interest.
C# is my primary language, though sometimes I have to work in
VB.NET too. But whenever possible, I try to stick to C#. I love XAML
so much and like to design UI with Expression Blend. I am a developer, but I love
working on front UI too.
What is your development environment?
In my company we work on Windows 7 but my personal laptop
always has the latest OS and other development software. (I'd like to use this opportunity to say thanks to Microsoft
for providing me with the MSDN ultimate license as part of the MVP award program.) My
personal laptop still has a Core 2 processor, but the way technology is growing
I will definitely have to upgrade my device soon.
Dual monitors are preferably the best choice while
designing UI, doing code reviews and sometimes running the Twitter client in one
monitor while writing articles.
All my development environments are equipped with Visual
Studio 2012 Update 3 and ReSharper 8 in it. I am so much in love with Windows 8
that, I am proposing my organization upgrade the systems to use Windows 8 as
soon as they can. I always prefer my system updated with latest software as
soon as they arrive on the market.
We use a self-hosted TFS as the source control server in
the organization, but I use the Visual Studio hosted cloud TFS server for my
personal projects. TFS is so well organized these days that a developers and companies alike need it for a better source control process.
What new tools, languages or frameworks are you playing
with (or just interested in exploring more)?
Though my core job is on Silverlight I already
started exploring and building applications on Windows Phone and Windows 8
(WinRT). A collection of tutorials on Silverlight, Windows Phone and Windows 8
application development are available on my blog. I would like to explore the HTML5 and
Azure platforms in the coming days if such an opportunity arises.
I love C#. It is always my preferred language, playing with
.NET 4.5.1 in a Visual Studio 2013 environment. I am more interested in exploring
my skills on Windows Phone 8 and for that I need to upgrade my laptop with the
latest processor because the SDK needs SLAT and my Core 2 duo processor does
not support it.
What is your coding pet peeve?
I always prefer the best coding practices that Microsoft
follows except the one that starts with underscore. That really annoys me when
searching for a variable. But that always varies company to company so there's
nothing really to point out here.
As for naming convention, I prefer a good meaningful name
for the variables, properties and methods. A property or variable name like
"ecoll
" or "visi
" instead of "employeeCollection
" or "Visibility
" really bugs
me most of the time.
I hate large chunks of methods and commented code
as I feel it's like an endless ocean. That’s not that important for a
developer, but it is definitely one can (and should) improve. Debugging a
huge line in a single method is sometimes very difficult to understand.
How did you get started programming?
In early 90’s I first got a chance to play with a computer
for two months, but that was the old age with DOS and Word Star. Later in 2002, my
Father bought a Pentium III 733 MHz system with Windows 98 as a gift. It only had 32 MB of RAM, but was enough in those days. I remember
the first day with the system when I was playing a car race. Due to rough
playing, the car was damaged and started burning. I was so scared that I
switched off the power.
After that I started learning C, C++, Java and HTML.
Later I did a course on hardware and networking too. I spent most of my time with
the computer playing with the system configuration & building small
applications. That gradually built my interest in computers and when I got a chance
to do my engineering on the same technology, I started exploring it more.
While doing engineering, I tried a different flavour of
operating systems including Microsoft Windows and Linux, but I had always
had a tendency to work and build applications on Microsoft platforms. Visual Basic 6
was my favourite language in those days and whenever I got time, I built many
applications with that. Later I learned .NET (C#) and then stuck to it and it’s
been quite a long period of time since I've been exclusively using Visual Studio.
What do you love / hate most about the developer community?
Nothing like that. The developer community gave me many
opportunities to learn and share knowledge. I am thankful
to the entire developer community for always supporting me and encouraging me. My special thanks to all the passionate developers/bloggers who
supports the community after their office work.
Where do you see yourself in 10 years?
I am a true technology lover and passionate blogger. Like
everyone, I have my own dream too. I want to focus on the latest
technologies and 10 years down the line, I want to see myself to come closer to
the developer community. I want to author a few books and develop some real world
frameworks in coming days.
If you had one piece of advice for an up-and-coming
programmer?
The community already gave me a lot and still I expect
more advice and opportunities from them. Those who are new to the development,
I always suggest they start blogging what they learn. Blogging is a place
where you write your notes on coding and experiences for future reference
which you can search later.