Completed 6 years in Software Industry

image

 

24th March is very important date in my life. I started my journey as professional or in simple words I started working on 24th March 2008 after passing engineering in June 2007. Hence today I have completed 6 years as working professional. This has been an exciting journey. In these 6 years, I worked on various projects, under different managers, in three different companies in three different cities. When I look back, I find myself different than what I was on 24th March 2008. I must say this journey has changed me lot.

I have worked for these three companies so far,

image

On 24th March 2008 I joined UST Global as trainee Software Engineer and worked there till September 2010.

On 10th October 2010 joined Infosys as Senior System Engineer and worked there till June 2012.

On 2nd July 2012 joined Telerik as Developer Advocate and since then working here.

If you are reading this post then you must be knowing that I love to share my learning via my blog. I love blogging and I am sure you also (in case if you) love me for my blog and articles. In last 6 years my journey of blogging is as below,

 

image

 

Clearly seeing above chart you can conclude that I am getting old and momentum of writing posts are getting reduced. Oh God! Help me! I promise to meet your expectation and product quality posts in regular interval.

Whenever I get opportunity I speak in conferences, user groups, colleges. In these 6 years I have delivered around 50 sessions.

image

In these six years, I have been awarded as Microsoft MVP 4th times, C# Corner MVP 4th times and Telerik MVP 1 time.

 

image

would take this opportunity to thank each one of you for your support in my journey. In coming years I will focus on Cloud, Node.js, JavaScript and other technologies.

Single Responsibility Principle in C-Sharp: Simplified

Let us start with understanding what is SRP?

Single Responsibility Principle says every class should have single responsibility and all the responsibility should be encapsulated in the class. To explain it further assume you are creating a creating class to Calculate Salary.

Now if you have two methods in class like below. Usually we can think of these two methods in a Salary class.

  1. CalculateSalaray
  2. PrintSalary

So you can say there are two responsibilities to class. With two responsibilities Salary class can be defined as below,

 class Salary

{
 public double wageperday { get; set; }
 public int attendence { get; set; }
 public double CalculateSalaray()
 {
 return this.wageperday * this.attendence;

}

public void PrintSalaray()
 {
 Console.WriteLine(this.wageperday * this.attendence);

}

}


As of Martin SRP means, “Class should have a single reason to change”. Reason to change can be seen as a Responsibility. On seeing closely you will find above class has two reasons to change,

  1. When formula for calculate salary is changing
  2. When print logic is changing

Since Salary class has two responsibility so there are two reasons to change it. We can say Salary class is not following Single Repository Principle.

We can summarize that

image

Next we need to find that how could we divide two responsibility in two separate class. So above Salary class can be divided into two separate classes. One class to CalculateSalary and another to PrintSalary.

Below is the class CalculateSalary. This class got only one responsibility to calculate salary.

class CalculateSalary
 {
 public double wageperday { get; set; }
 public int attendence { get; set; }
 public double CalculateSalaray()
 {
 return this.wageperday * this.attendence;

}
 }

 

Another class is PrintSalary. This class also got only one responsibility to print salary.

 class PrintSalary
 {

public void PrintSalaray(double salary)
 {
 Console.WriteLine(salary);

}
 }

Let us understand what we done now is divided Salary class in two separate classes. Salary class had two responsibilities and two reasons to change. Now we have created two classes respectively for CalculateSalary and PrintSalary.

image

Now at client these two classes can be used as below,

static void Main(string[] args)
 {
 CalculateSalary clcObject = new CalculateSalary();
 clcObject.wageperday = 300;
 clcObject.attendence = 20;
 var salary = clcObject.CalculateSalaray();
 PrintSalary prntObject = new PrintSalary();
 prntObject.PrintSalaray(salary);
 Console.ReadKey(true);

}

As of now you should have idea about Single Responsibility Principle. To summarize Single Responsibility Principle says a class should have single responsibility and only one reason to change. I hope you find this post useful. Thanks for reading.

Windows Azure Blog Posts 100 Not Out

image

I love Windows Azure. I have been growing as professional with Windows Azure. I am excited as kid writing this and informing you that yea I have blogged more than 100 posts on Windows Azure.

Read All Windows Azure Blog Posts here

image

I wrote first blog posts on Windows Azure back on 16th November 2009 with following title

Step by Step walkthrough to create first application for cloud (Windows Azure)

And my latest blog post on Windows I wrote today morning. It is on Windows Azure Mobile Service

Fetching Windows Azure Mobile Services Data in XAML based Windows Store Application

In my journey to 100+ blog posts I touched upon all part of Windows Azure like Windows Azure Hosted Services, Table, Queues, Blobs, SQL Azure, and Windows Azure Mobile Services etc. I am very happy seeing Windows Azure is progressing as platform. Recent addition of Active Directory on Windows Azure is one of my favourite. I try to see Windows Azure always as developer. I put developer touch in Windows Azure. I have authored many posts like exposing Management API operations as WCF SOAP Service etc. I am committed to continue writing on Windows Azure along with other technologies.

Read All Windows Azure Blog Posts here

I complete this post by thanking my readers. Long live Windows Azure. Let us go on cloud way.

Got Microsoft Most Valuable Professional award 4th times in a row

image

Read more about MVP award program here

Since 2010 1st April is very important day for me. I wait for this day to recreate my trust in saying “Good work does not go unnoticed”. I work with developers, write blogs, and speak in user groups, conferences whole years. Being a human I feel happy and very happy when Microsoft recognise my work. It gives me motivation to get going.

Yes I am getting older now. This is fourth times in a row Microsoft says “I am their Most Valuable Professional

My last year contribution [1st April 20012 to 31st March 2013] is as follows’,

clip_image002

clip_image003

I hope I was useful to developers and helped them to bring best out of them. I thank each one of you who supported me. I am committed to work harder and I would try to be more useful to you.

Thanks.

/DJ

In between where is party tonight? …..

Presented in C-Sharp Corner MVP Summit

View Event Photos here

It was electrifying, high on energy and absolute impeccable event. I love each second spent at C-Sharp Corner MVP SUMMIT.

image

This three days event was in Country Inn and Suites from 21st March 2013 to 23rd March 2013. All participants was indulged for all three days in this very successful event.

image

I got an opportunity to be part of all three days. Third day was open developer’s day and any developer could attend that. There was sparkling 200+ developers all around Delhi/NCR present at third day. Third day 23rd March 2013 was lined up with industry speakers and veterans.

image

I got an opportunity to present on “Develop for Windows 8 “. This time I tried story telling way of presentation and found audience enjoyed that too much. Please find PPT of presentation below,

 

In demo I created “Flickr Search Application”. Read full blog post about Demo here

clip_image002

View Event Photos here

I had great time presenting and being part of this esteem event. Excited to see you soon in next event. Thanks !

5 Basic Rules of Speaking

They say speaking is an Art, I say speaking is a science. A good speaking is combination of various basic rules. We can deliver a good speaking on applying basic rules collectively.

image

I have been attending many presentations on various topics from different speaker. I found some of them extremely entertaining and interactive and for some of presentation 1 hrs. was equivalent to 10 hrs. I learnt from various good speakers and in this post trying to consolidate my learning in 5 basic rules of speaking. Rules evolves by time so the rules of speaking. However let us see my five basic rules of an effective speaking.

Rule # 1: Complete in Time

I would have written a shorter letter, but I did not have the time: Blaise Pascal

If time is money then completing a task in given time is efficiency. It shows that you have successfully planned your work to execute them in time.

image

  • You have worked hard for this presentation.
  • You have spent sleepless nights to create 100 slides for 60 minutes presentation.
  • You are expert of this particular topic and you want to share all your expertise with audience.
  • All topic of yours presentation are very important

Although all of above data points are very important but not more than time assigned to you. Completing in time is most important attribute of any speaker. If you do not complete in time then

  • You negatively impact overall time table of the day
  • You are creating an enemy in next speaker after you.
  • Even though you are best speaker of the universe there are chances that few among audience did not like your session and they are waiting for your session to get over. By not completing in time you are not doing justice with them

Last but not least not able to complete in time shows your inability to plan and execute. It also suggests that you do not respect time of others. So make sure that you plan such that you can execute your speaking in assigned time to you. I count completing in time most important factor of good speaking and very vital attitude of a good speaker.

Rule # 2: Know your Audience

Every products have their target buyer, every movies have their target viewers, and every books have their target readers hence your session also has a target audience. If there is expectation disparity between buyers and product then very likely product would fail in the market. For a successful book, author’s imagination should be in line with the reader’s imagination. So success of your session depends on how much you know your audience while presenting.

image

This rule is very simple,

  • Your audience should be able to understand what you are saying.
  • Depth of your talk should be in par with level of your audience.
  • You should able to increase or decrease difficulty level of your topic on the fly.

There are various ways you can know your audience,

  • Conduct a poll on whether audience is interested to listen level 100 or level 400.
  • In beginning of session ask some basic questions on the topic you are presenting. See how many hands are being raised to answer those questions and then get a sense of the audience.
  • Last but not least best method to see mood of audience by reading their faces. If you find blank faces while presenting then you may decrease the difficulty level of presentation.

I find knowing audience is another vital aspect of good speaking. You need to be agile and you should able to change perception about your audience on basis of responses you see while presenting. You should able to change pace of presentation on audience response. To be on the same page with audience as speaker is another basic and important attribute of a good speaker.

Rule # 3: Know the Subject

Knowledge is power: Francis Bacon

Prepare, prepare and prepare is the key of successful and meaningful presentation. Without knowledge on subject in front of audience you will be epitome of an army without arms in front of enemy force.

image

Rule is not prepare hard rather prepare in smart way. Your preparation should be evident in your talk. You need to make sure of the following points

  • Make sure you have tested all demo in dry run
  • Make sure you have rehearsed your story for each slides
  • Make sure you know how to use various zoom in tools
  • Make sure there is a story line in your presentation
  • Make sure not to use big jargon while presenting

How easily you are presenting topic reflects amount of preparation you have done. Better preparation will help you to complete in time as well. Preparation will give you optimum confidence to be in front of audience. Hence I consider it one of the most vital factor of good speaking.

Rule # 4: Mind your Body Language and Dress code

Sometime your body language speaks louder than the words. What you are depicting from your body language is as important as what you are speaking from mouth. People hear what you say but they see what you show.

image

While presenting wearing a pleasant dress is always a benefit. Make sure

  • You are not wearing party dress while presenting
  • You are not wearing belt with bizarre buckles. For example once I was attending a presentation and speaker was wearing Playboy belt. He was subject of fun on that event day.
  • Do not try hard to look different while presenting.
  • Make sure you have control on your hand movement. Avoid putting them in your trouser pockets or moving them too fast.
  • Avoid showing your back to audience
  • Do not show that you are from some different planet since you are speaker.
  • Carry a light smile and if possible wear normal colors dress

Unless you are not known to audience, dress and body language does matter. I consider a positive body language with descent dressing an essential rule of effective speaking.

Rule # 5: Add some Fun

“If you don’t like me, why do you waste your time making fun of me? “

I am sure you like yourself and you want people to like you too. Usually people like funny people. In normal scenario people like to laugh. People laughing together are emotionally closer to each other and there are less chances that they would judge each other. To avoid harsh judgment of yourself and your presentation make sure that you and your audience are laughing with each other.

image

There are many ways you can make your audience laugh,

  • Start with a joke on yourself
  • Start with a funny story
  • Keep smiling while presenting
  • Praise few among audience with some flavor of light fun. For example you can say hey you are wearing a nice shirt etc.
  • Start with discussion of some funny scene of a popular story or book

I have seen many speakers start their presentation with negative statements like following,

  • I have not prepared for this session so my demo may fail
  • I have not got sufficient time to prepare
  • I have only 30 minutes and I afraid to complete in time
  • This topic is very hard so give full attention
  • I do not like this city etc.

You should avoid using negative statements. By saying that you have not got time to prepare for that particular session you are disregarding audience and conveying a message that session being presented by you was not that important to you.

Idea is very simple entertain your audience with sweetness of knowledge transfer. Leave everyone with filled mind and smiling face.

Conclusion

As I said in beginning of this post that rules evolves. So the rules of speaking. There are many other small factors we need to take care while presenting. In other post I will discuss other important factors. I hope you find this post useful. Hope to see you soon presenting an effective session.

Completed 5 years as professional

On 24th March 2013 I have completed 5 years as professional in Software industry. It has been an exciting journey for me. I moved from one city to another, worked on different kind of projects, with different kinds of teams. I learnt and explored lot in these 5 years.

So far my 5 years of journey is like below,

image

Even though I was placed from college campus due to late joining date I was jobless for almost 9 months. However I had fun searching jobs on streets of Bangalore. Running behind buses, standing in long queues, and giving resume to security personals at company’s gates. These 9 months gave me different experience and I learnt to survive.

On 24th March 2008 I joined UST Global in beautiful city Trivandrum. UST Global turned best company for me as fresher and I learnt everything there. After UST Global I joined Infosys in Pune. Both UST Global and Infosys added great values to my professionalism and helped me to attain my career best. My managers at both companies were very supportive and great motivator.

On 2nd July 2012 I joined Telerik as Customer Advocate in Gurgaon. This is the job I always wanted to do. In this job I develop, teach, interact and write. I love my job here.

Blogging

I love to share my learning. In order to share my learning I started blogging. I wrote my first blog posts on 20th November 2008. So far I have authored 750 + blog posts on various technologies.

My journey in blogging has been like below,

image

I am aspired to take my blogging to next level in coming years and author some book

Speaking

I love to speak and share my knowledge in community and various platform. In these 5 years I got many chances to present on various topic in different cities of India.

My speaking journey has been as follows,

image

I am excited that I would be speaking in various bigger events in coming years.

Awards and Recognitions

In this journey I got many recognition also. I got awarded as Microsoft MVP, C-SharpCorner MVP and Telerik MVP.

My Awards and Recognitions journey has been as follows

image

Time has been changing so the aspirations and me. Find below How I was in 2008 and now in 2013.

image

I am committed and aspired to work harder and take myself to next level of professionalism. Thanks everyone for all the help and support.

Thanks Julia Lerman for wonderful gift

This is one of the most excited day of my life. I got a gift from one of my ever inspiration Julia Lerman. She sent book authored by her with her autograph on that. I am simply happy. I thank Julie and Rowan for their love. This is surely a motivation for me.

clip_image002

You can find more details about book on Amazon

clip_image003

There are 9 chapters in the book and I cannot wait to start learning it. Buy this book from Flipkart here

Once again thank you so much Julie and Rowan for the impeccable gift. Last but not least I would extend thank to my friend Amit and Mahinder for bringing it for me all from USA.

Happy Coding guys !

Working with github on Windows

In this post we will see step by step to configure github for windows and the way to sync the project from windows to github repository. To start with very first you need to create a repository on github. To create repository login to github and click on New repository option

image

Once you click on New repository button you will get prompted to fill many information’s like repository name, description etc. You can make repository public or private by selecting respective radio button. If you are starting new then it is always good to initialize the repository with a README. It allows git to clone the repository immediately. Please refer below image for more on creating new repository

image

Once repository is created you will be navigated to repository page and can find all the information about repository as following image

image

At this point you have created repository in github and now you need to download and configure Windows Client of github on your machine. On the github page in the bottom you will find link to download windows client for github

 

image

After downloading and installing github windows client you will find icon on your desktop. Click that icon. Github windows client will be launched. In the left side you see local and github account. When you click on github account you will find all the repositories from the github.

 

image

To start working with github repositories, first you need to clone that. You will get clone button next to repository.

image

After successful cloning you will find button changed as shown in following image.

 

image

Double click on the repository to open it. After opening the repository you can notice in top a tool menu. From there you got option

  • Open in explorer
  • Open a shell here
  • View on github

image

To work with project select open in explorer. It will open the repository in windows explorer. Now suppose you have a visual studio solution you want to push on github, you need to follow below steps

Open VS project in window explorer and copy the solution.

image

You need to copy all files from VS solution open in windows explorer to github repository open in windows explorer.

image

After copying files to github repository open in windows explorer go to github for windows client and click on the refresh button

image

After refreshing double click on testproject repository. You may notice that a blue array next to repository name saying this repository has been modified. Click on the blue arrow or double click on the repository to navigate to detail repository page. On this screen you will find

  • Details of files to be committed
  • Option to commit the changes with comment

image

After providing comment you need to click on the commit button to commit the changes locally. After committing you will get message that one change committed locally though it is not synced.

image

To sync changes with github you need to click on sync button in top. If there is any locally committed change available then you will find sync button in blue else it would be in gray color. Once you click on sync button changes will get committed to github

image

You can verify sync in two ways. Either navigate to github and you will find all changes with comment there.

image

The other way is that you will see on github windows client in sync displayed.

image

The approach should be to put working files in local repository or cloned repository such that whenever you do any changes github for windows will detect that and you can locally commit and eventually sync with the github. In this way you can work with github and windows. I hope you find it useful. Thanks for reading.

 

Awarded with Microsoft MVP Award: 3rd time in Row

 

To My Blog Readers,

For me, “Microsoft MVP Award is not an Award rather it is a Responsibility

image

I am happy to announce to all my readers that I have been awarded as Microsoft MVP 3rd Time in row. This time also I have been awarded in discipline Connected System Development (CSD).

From 1st April 2011 to 31st March 2012

image

I would take this opportunity to thank you my dear reader. I promise to serve and help you more in learning and developing throughout the coming years.

To be in touch with me FOLLOW ME ON TWITTER or CONNECT AT FACEBOOK PAGE

Any of your feedback is much appreciated.

Thanks with Regards

Dhananjay Kumar