DZone MVB (Most Valuable Blogger)

Today, I’m really glad and honored to be selected as a DZone MVB (Most Valuable Blogger). DZone’s MVB program brings together a group of highly talented bloggers, authors, and technologists actively writing about topics of interest to the developer community. These people are recognized in the industry for their contributions and deep technical knowledge on subjects ranging from software design and architecture to programming on a range of platforms including Java, .NET, Ruby and others.

One of my main passion areas is generally speaking, writing, and sharing my experience and ideas with people. This is why I find writing books and blogging an interesting activity. I think writing (and speaking) is a great way to communicate and exchange our ideas (as a part of the WW community) with each others, and it is a wonderful way to enhance our experiences.
Screen Shot 2015-07-09 at 12.00.33 AM
When I began writing, My main aim was (and still) sharing my experience with the WW community in order to help people rapidly resolving problems that are similar to the problems that I face during my daily job, and also in order to learn from the community if they have better solutions.

I hope that, if you do not have your own technical blog yet, to start creating your own one and share your technical experience because it will be definitely useful to at least someone in somewhere in this world.

How failing Project Managers can cause harm to team members

In this post, I would like to mention a lesson. A lesson that can be useful for both project managers and software developers. Today, I know that a developer in India is died of a stroke because of the stress she has from her Project Manager. After hearing this piece of news, I felt very sad and started thinking about the environment that this pathetic developer was working in. How she was stressed from her project manager to a degree that causes her heart to stop working.

The funny thing that I know is that in the second day, the PM (Project Manager) makes the team members work until midnight and after that he told them “This is enough for today. I do not want to lose another team member”.

Looking at these words, you will find that this is an example of insanity in the software development world where such a failing PM look at team members as machines (NOT humans). He will be sorry if a team member dies before he delivers his/her work. Such PMs want to deliver the project even if all of the team members die in other words the project will be delivered on the dead bodies of the team.

What we can learn from here is, For project managers:
1. You have to plan reasonably. A developer cannot work for 16 hours daily for a month in order to deliver the project in time.
2. You have to understand the limits of the people. I know that your role is to push in order to deliver on time and with-in the budget but in the same time, you have to get the feedbacks from the team members in order to know their states. This will help you in avoiding killing people (indirectly) by PUSHING, PUSHING and PUSHING.

For developers:
1. You have to discuss the plan with the project manager. Do not accept the plan as is unless it is a reasonable plan.
2. You have to push back if you find yourself flooded with the tasks. You have to discuss that all of these tasks are not possible to be done with-in the planned time, in this case, the project manager will have to re-plan in order to avoid the project slippage.

This is all what I have for this real sad story that I really wish it will never happen again in the future of the software development. Socket operation timed out before it could be completed

You may face this exception in the log file of your web application: Socket operation timed out before it could be completed

After investigating in the error, I found that it happens because of the network connectivity. I could fix it by fixing the network cable.

How to make your WordPress blog Mobile Friendly

Making your WordPress blog Mobile Friendly is an easy task.

All what you need to do is to install the wonderful Verve Mobile plugin.

You can install the plugin by:
1. Download the plugin from here.
2. Unzip and place the ‘verve-mobile-plugin’ folder in your ‘wp-content/plugins’ directory.
3. Click the ‘Activate’ link for Verve Mobile on your Plugins page (in the WordPress administration page).

After that you can configure the mobile theme, the number of posts to display per page, the social settings and more from the plugin administrative page as shown:

After doing this, the plugin detects automatically if the device accessing your blog is a mobile device to render the proper mobile interface.

I wish that this tip can be useful.