Saturday, September 2, 2017

Leadership in software development - At Level 1

John Maxwell has described 5 levels of leadership which help leaders in any business domain to understand where they are and where to go from there. His book "The 5 Levels of Leadership: Proven Steps to Maximize Your Potential" covers the levels in much more details with example. In this article, I will share what I have learned from my experiences and challenges I faced during my Level 1 of leadership and how I was able to make it through to next level.

How you make team feel?

Being a newly introduced leader, team will not be knowing you beyond a formal introduction. Communications and action during initial days are most important  and here is what is recommended.
  • Be a curious listener and allow your team members to speak. 
  • Do not provide solutions right away. Make sure that its just information that do not require action, a general complain that requires taking note or a problematic situation where immediate action from your end is required.
  • Do not talk about your expertise, experiences etc to show you are right person to solve their problems. Instead, take appropriate actions, solve the in hand problem in your responsibility and thank the team for helping you. Actions influence the team more than talking!
By having you in the team, they should start feeling more empower, supported and capable.

Focus on basics

Being a leader of any software development team, you must understand what they work on daily basis and how they accomplish expected output with very good details and here is what is recommended.
  • Know what work means in your team and how everybody feels about the timelines, deliveries and output (productivity + quality) expected. 
  • Know what is maturity level of must have basic processes that can help them.
  • Do not criticize or change anything unless you understand WHY they follow existing processes. Ask WHY to the team and listen to them carefully.
  • Do not start changing anything until you fully monitor and understand full set of followed processes for several time.
By having you in the team, when team talks to you about work, you should be able to fully understand it. Even if you cannot solve all their problems as a new leader, listening and understanding  their problems will help you a lot build confidence and trust in the team.

Ask how can you help? 

There are times when team is busy doing their regular work disconnected from you. Visit them at least once in a day asking how they are dong with their work and if you can you help with something. This will give a clear message that you are available to them and open to help.


Keep an eye on smallest achievements of the team and make them feel proud by doing a quick team meeting. Give credit to full team work and celebrate by clapping and appreciating all hard work that has been done by the full team.

In my experience, periodic round of appreciation always motivate people to create a great team bonding. People will prefer to help each other more, crave to achieve more and work harder to receive more of these kind of achievements.


Being at Level 1 is exciting! You are full of energy, learning initial lessons of leadership and working hard towards moving forward to level 2! Hope this quick tips will help you! Feel feel to share your ideas and experience on the same by putting comments below!

Stay in touch & Good luck with your journey of leadership!

Wednesday, October 12, 2016

How to create certificate for any domain from free certificate authority


Before we start

Before we start we will need the domain/sub domain for which you want to generate https certificate is up and running on http.

Get Certificate, Key and CA Certificate

  1. Goto and enter your domain/sub domain and click on Create Free SSL Certificate
  2. Click on "Manual Verification" and then "Manually Verify Domain"
  3. download the file "Download File #1" and upload it to specified path
  4. Click on download certificate and download certificate, key and ca certificate.
  5. download openssl for windows from
  6. put your certificate and key in bin directory of openssl installation where you have openssl.exe.
  7. fire command "OpenSSL.exe pkcs12 -export -in cer.cer -inkey key.key -out iis-cert.pfx" where cer.cer is the certificate and key.key is the key file download from
  8. It will ask you for a password and as it again to confirm. Once you type same password twice, it will generate iis-cert.pfx that you can rename.
  9. go to iis server and select the iis server node
  10. click on server certificates
  11. click on import in the top right section and choose iis-cert.pfx and enter password.
  12. This will import ssl certificate in the iis certificate store that you can assign to any site in iis when you choose https binding.


Thursday, November 27, 2014

Integrating servicestack 3 into DNN - Part 1 - Introduction



In this series of blogs, I will try to share my thoughts of using ServiceStack 3 in DotNetNuke 6, difficulties, limitations and how I finally solve each problem step by step.

Part 1 - Introduction


I started looking at ServiceStack 3 years back when I was working with one of the client who provided ServiceStack services and asked me to use them as back end instead of storing data in DotNetNuke database.

At the end of project, I learned a lot about servicestack.client and associated facilities and then I invested some time using servicestack to deliver rest base services. Now a days ServiceStack and web API both are obvious options if you are planning to start any web services along with WCF. It depends on your experience, your team's experience an vision a lot.

After learning ServiceStack, I utilized it in couple of based projects which are either conversion of cold fusion to .net services or interoperable database independent service development with .net and I was very happy with the way I achieved best results because of ServiceStack

So, some time back, when I started architect a new web platform for one of my recent client, who was using DotNetNuke and wanted their platform to support APIs so that they can be used with navite mobile apps, I decided to use ServiceStack again in this scenario as well!

Try ServiceStack 3 Hello world!

  1. From Nuget Package Manager Console:
    install-package servicestack -version 3
  2. Since I wanted the base url of the servicestack to start from /api/ instead of / I did some web.config modifications:
    1. In handlers section added following line:
       <add path="api*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" />
    2. in modules section added following line:
       <add name="ServiceStack.Factory" path="api*" verb="*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" resourceType="Unspecified" requireAccess="Script" allowPathInfo="true" preCondition="integratedMode" /> 
    3. If you have webdev enabled, do following to support PUT, DELETE verbers ONLY if these verbs are not working in handlers section:
      <remove name="WebDAV" />
Now, servicestack hosting on web requires writing code in global.asax Application_Start event and I was stuck there! I found more than one solution on internet to achieve this, but I decided to modify the code to add another line to initialize servicestack by writing: new AppHost().Init()

I know change dotnetnuke core dll is not good practice. Suggestions are welcome to fix this in the best possible way!

In the next part we will start coding a real api!

Saturday, July 26, 2014

Do you really need role base pages in dotnetnuke?


Introduction & Background

I have experience working on an existing dnn site that has lots of custom features and I join the team to contribute as developer, lead or code reviewer. Many times during last 8 years of such experience, I found lots of people are creating role base pages in dotnetnuke and implement some custom login in either login module or somewhere else that can check the role and redirect.

Is this really required?

Example Scenario

Lets say you are working on a hospital portal in dotnetnuke and want to prepare a dashboard for care taker, admin, manager, and bunch of other roles. 

If you create different pages and drop a single module for role wise dashboard, and use some custom logic to redirect user after login to that page, that is something that needs a second though.

Dotnetnuke security inherited from portal > Tab > Module. Inheriting up to module level is recommended for most of the cases.

I would create a page(tab) and drop all the modules that I prepared for role wise dashboards. I would do multiple modules to make things separate and clean but drop all modules to the same page. In module settings of each module, uncheck the inherit permission button and check the role which is expected to see this module. 

Now, without having too much of coding/customization and tricks, each role can easily access data that is expected to their roles. Easy!

What do you think?