Something new…

2018 is been a year filled with unexpected learning’s for me in many fronts. With all my other learning’s, somehow first of week December, I felt like I should learn something new this month.

I have never tried understanding Stock Market, Shares and Mutual Funds in detail. I have seen some of my friends and colleagues actively involved in this for a while now. Thought why not try understanding the subject.

Happened to read these 3 excellent books this month on this topic. If you are newbie like me and want to understand the basics of stock market, shares, tradings, investment etc.. you may want to take a look at these books (Prioritized).

The Science of Stock Market Investment – Practical Guide to Intelligent Investors

How to Avoid Loss and Earn Consistently in the Stock Market: An Easy-To-Understand and Practical Guide for Every Investor

ABCD of Indian Stock Market: Stock Market Beginners Guide

Is there an opportunity to apply data science for personal benefits? A definite yes for this topic…

Other thing which is new this month is tooth ache. I have seen my mom and son struggling with tooth pain and I have taken them to dentists. This month is my turn. I just realized what tooth pain really means. Going through the root canal procedure 

Happy learning!!!!




Is it time to start looking out for a new job?

Career Decision - Next ExitI recently happened to read this post from the Spend Matters blog. Blog Post talks about three questions one should ask themselves regularly to decide whether it is time to look for a new job.

1. Do you feel you are personally learning and developing in your current role? Are you gaining new skills, developing your capability, becoming more expert – with the caveat that it really helps if these are in some sense transferable skills and knowledge.

2. Are you progressing in your career, moving forward from a seniority and / or financial point of view, with a trajectory that is heading in the right direction? (This assumes you have some ambition – not everyone does have, I realize).

3. Do you enjoy what you are doing – is it a good place to work, with decent “hygiene factors” and a bit more – which might be anything from pleasant colleagues and working environment, a commute that is manageable, technology that works, social events …

Excellent set of questions. You can find the original post here. 

This one is my favorite on this topic. Probably tied to all the 3 questions above.

To be happy and be fulfilled at work, people want to feel they are advancing, getting things done, and making an impact. But it’s not enough to simply to receive a pat on the back and a word of encouragement. Rather, we respond much more positively to feedback from the work itself. When we have achieved a goal like closing a sale, writing code that passes the test harness and is pushed to production, releasing a new feature that a million users touch every day, our happiness at work blooms.

Source: Managing for Progress

An Excellent book on this topic : The Progress Principle

Teresa Amabile’s talk at Google

In the end… it is not about the nice office buildings, additional perks etc. It is about the job itself. It is about the people you interact with on a daily basis and deal with.

The Successful demos at the end of every 2 weeks, Production Releases, a good solution to a complex problem, providing a solution using a new technology stack, number of first calls to potential prospects, a good sales pitch to a new prospect, a new customer win on a regular basis, hiring a good candidate, coming up with a new product offering… (A few items from my list). All of these contribute to the small wins part. If you dont have them as part of your day to day job or you dont see the number of small wins…. may be it is time!

Happy Learning!

Development Manager: Book list

What are the books to read, if you are aspiring to be or already a Development Manager?

Though, Development Manager title is not very common term in the services world, i am sure you will see this title very often with the Product development firms.

I found some interesting description here in the stackexchange forum.

Here is the list of books from my shelf. Hope it helps you!!

People and Team

  • Peopleware: Productive Projects and Team
  • Growing Great Employees: Turning Ordinary People into Extraordinary Performers
  • Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency
  • The Truth about Managing People . . . And Nothing But The Truth
  • Behind Closed Doors – Secrets of Great Management
  • Hiring The Best Knowledge Workers, Techies & Nerds: The Secrets & Science Of Hiring Technical People
  • The Five Dysfunctions of a Team : A Leadership Fable
  • Agile Retrospectives: Making Good Teams Great


  • eXtreme Project Management: Using Leadership, Principles, and Tools to Deliver Value in the Face of Volatility
  • Manage It!: Your Guide to Modern, Pragmatic Project Management
  • Growing Software : Proven Strategies for Managing Software Engineers
  • Driving Technical Change
  • Changing Software Development – Learning to Become Agile
  • The Goal: A Process of Ongoing Improvement
  • Managing Software Debt: Building for Inevitable Change
  • Practices of an Agile Developer
  • The Art of Agile Development
  • Becoming Agile … In an Imperfect World
  • Agile Estimating and Planning
  • Agile Testing | A Practical Guide for Agile Testers and Teams
  • Scrum and XP from the Trenches
  • Agile software requirements – Lean Requirements Practices for teams, Programs, and the Enterprise

Personal Development

  • Becoming a Technical Leader: An Organic Problem-Solving Approach
  • What Got You Here Won’t Get You There: How Successful People Become Even More Successful
  • The Mythical Man-Month
  • Influencer : Power to Change anything
  • Crucial Conversations: Tools for Talking When Stakes are High
  • Beyond Code: Learn to distinguish yourself in 9 simple steps!

Software Development

  • Object Design: Roles, Responsibilities, and Collaborations
  • Object-Oriented Thought Process
  • Refactoring: Improving the Design of Existing Code
  • Working Effectively with Legacy Code
  • Ship it! A Practical Guide to Successful Software Projects
  • Emergent Design: The Evolutionary Nature of Professional Software Development
  • Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
  • Art of Capacity Planning : Scaling Web Resources

Feel free to send me the books in your list. I will keep updating this list.

Happy Learning!!!

Becoming a Lead Programmer and Journey towards an Aspiring Architect : Checklist

Its appraisal cycle in most of the companies. Suddenly there is a need to talk about technology (Appraisal Cycle gives us an opportunity to talk about technology once in 6 months).

When I was managing the CP Team, we created a checklist for team members who had the aspiration to become an architect.

If you are a Techie (aspiring to grow in the technical line) you can use this checklist and do an honest evaluation of where you stand. Your individual development plan can be decided based on that.

If you are a Manager managing Technical resources, you can use this as a checklist to evaluate your resources and help them define their development plan.

Working with Customer Day to Day Interactions
Requirements Discussions Negotiate Scope
Estimates Discussion
Technology Discussions
Architecture, Design and Development Infrastructure Operating Systems, Hardware, Networks etc.
  1. 3rd Party Software/Controls
  2. Knowledge of available Open Source Tools/Software
  3. Knowledge of libraries, databases, frameworks etc.
  4. Load balancers
Design Principles
  1. UML (Create and Interpret Use cases, Class Diagrams and Sequence Diagrams, Able to convert them into code)
  2. Understand the Fundamentals of Domain modeling
  3. Object Orientation
  4. Cohesion/Coupling
  5. Programming by Intention
  6. Program to Interfaces
  7. SRP, OCP, LSP etc…
  8. IOC, AOP, DI
  9. Knowledge of POUT, TDD and BDD
  10. Knowledge of Design Patterns (GOF/GRASP/Microsoft .NET Patterns/Implementation Patterns/Integration Patterns/J2EE Patterns) – Able to co-relate a problem with a pattern
  11. DSLs
  12. Layers/Tiers (N-Tier/Multi-Tier Architecture)
  13. SOA
  14. Any other ….
Cloud Computing
  1. SaaS
  2. PaaS (Azure)
  3. IaaS (Amazon Web Services)
Software Development Methodologies
  1. Agile (XP/Scrum/Kanban)
  2. Waterfall
Writing Solid Code
  1. Unit Testing (POUT/TDD/BDD)
  2. Acceptance Test Driven Development
  3. Refactoring
    1. Code Smells
  1. Working with Legacy code
  2. Identifying the core of the problem by simulating environment, scenarios
7-ities Usability, Maintainability (Flexibility/Testability), Scalability, Availability (Reliability), Extensibility, Security and Portability.
Knowledge of how to code for these.
Estimation Knowledge of FPA, Use Case Points, Wide band Delphi, Planning Poker
Technology Coping up with the trend Any technology for that matter. As of today (ASP.NET 4.0, ASP.NET MVC, ASP.NET Ajax, WPF, WCF, WF, SharePoint 2010, SQL Server 2008 R2, Azure, Dynamics CRM 5.0, DLR, Development using Dynamic Languages, Mobile Application Development)
Working with Team Interpersonal Skills
Influencing Others
Coaching Junior members
  1. Pair Programming
  2. Pairing with Junior members from design to development
Deliver on time / Meeting Commitments
Personal Skills Positive Attitude Can do things
Commitment Disagree and commit
Manage Conflicts
Constructive Confrontation
Presentation Skills
Communication Skills Written, Verbal, Listening
Value Adds Contribution to the Hiring process
  1. Understand how to filter resumes
  2. Technical Interviewing
  3. Behavioral Interviewing
  4. Deciding whether somebody will be a cultural fit to the organization
Contribute to Community
  1. Blogs/Articles/Reviews
Knowledge Sharing
  1. Trainings
  2. Knowledge Sharing Sessions

If you are serious about your technical career, use this throughout the year and not use them only during appraisal cycles.

Happy Learning!!!

Leadership : For the First Time Leads

The appraisal cycle got over recently and there will be new members who would have got promoted to lead roles.

Congratulations!!! You have been selected to serve as a leader and you must be looking for this lead role. On the other hand, you may feel honoured by being so named but anxious/ fearful about the assignment.

So what is this leadership role all about?
Leadership is all about how an individual guides, directs, or influences the thoughts, feelings, or behaviour of other human beings. A good leader helps others to arrive at a better understanding of themselves, of others, of the issues at hand, and to use this greater understanding to accomplish whatever common goals brought the members of the group together.

Someone or a set of people has selected you for the lead responsibility because they had confidence in your personal qualifications for leadership. You should not consider this confidence of others as a burden, for they do not expect perfection of you.

When someone is promoted to the lead position for the first time there will be lot of questions about the role, responsibilities and qualities.

What are some of the qualities that you will expect from a leader? See, how can these qualities be used to guide your team?

Accept the fact from the beginning that not everything will run smoothly. You do not have to imagine problems but simply acknowledge to self that conflicts will occur, as they always do when persons of different opinions work together as a team to achieve common goals.

When you are working in a team as peers and suddenly when someone gets promoted due to his qualities there will be definitely resistance among other members. If all members of the team held a single opinion or belief, there wouldn’t be any need for team action.
“Where everyone thinks alike, no one thinks very much.” ~ Walter Lippman

Once you are the lead, do not expect that everyone will accept you automatically. Do not expect that things will come to you. People will start respecting if you show your expertise in whatever subject you deal with. Show you care for people. Show them how to do things. You will be seen as a leader.

As a leader, sometimes you will be able to have a glow of satisfaction, while other times filled with great discouragement. Accept these ups and downs as part of the game. You will make mistakes. Even after many years of leading you will still make mistakes. The day you start expecting perfection will be the beginning of endless frustration and disappointment.

One of the things I have learnt from my boss is that accept the fact that you have made a mistake and now it’s time learn from the mistakes (from yours and others). You will move closer to effective leadership as long as you are able to learn from your/others mistakes.

Reach out to people. Build rapport and relationship with others. Because you have become a lead, do not expect the others to come and reach you. You volunteer.

The leader is a person who, on the whole, best lives up to the standards or values. If the leader fails to embody or depreciates these values, it’s going to introduce confusion and disorganization.

In his book “How to be an Effective Group Leader”, Author Bill D Schul has mentioned the following as the characteristics of a Leader.

1. A solid knowledge of and dedication to the history, goals, values, achievements, and current directions of the organization.
2. An ability to keep issues in focus and matters in perspective; to demonstrate emotional stability in time of stress and conflict.
3. To value the opinions of each member, to judge each on their merits alone and not to be persuaded or intimidated by displays of emotion or aggressiveness.
4. A willingness to give credit to others and to accept the blame for failures without being overly dramatic or obvious.
5. A good sense of humour, the ability to keep meetings lively and interesting will contribute as much as anything to good attendance, morale, and overall achievement.
6. To find enjoyment in the meeting and be able to infect others with enthusiasm.
7. To be responsive to the individual members but to be firm when necessary in order that the members know where they stand.

Effective leadership does not automatically happen. It requires thought, study, and practice. While it may be true that some persons have a certain knack for leading others, chances are that their past experiences have prepared them for leadership.

We sometimes hear people say, “She’s a born musician,” or “He’s a born athlete.” These people apparently have certain natural abilities that allow them to perform effectively and with apparent ease. But what is so often over looked are the long, hard hours of practice, the mental and physical discipline that brought these people to the level of superior performance.

SourceHow to Be an Effective Group Leader

Work Life Balance

One of the common problems today every one of us goes through in our day to day life is work life balance. I have heard this term recently multiple times and I wanted to blog about my opinion on the same.

Work life and personal life are the two sides of the same coin. Traditionally creating and managing a balance between the work-life was considered to be a woman’s issue. But increasing work pressures, globalization and technological advancement have made it an issue with both the sexes, all professionals working across all levels and all industries throughout the world. Achieving “work-life balance” is not as simple as it sounds.

Work life and personal life are inter-connected and interdependent. Spending more time in office, dealing with clients and the pressures of job can interfere and affect the personal life, sometimes making it impossible to even complete the household chores. On the other hand, personal life can also be demanding if you have a kid or aging parents, financial problems or even problems in the life of a dear relative. It can lead to absenteeism from work, creating stress and lack of concentration at work.

Okay, Okay, We have heard this n number of times… so what do you want to say?

In my opinion following are the list of items which can help in achieving WLB.

  1. Understand what you want: You are the best judge of what you want. If you want an aggressive career then there will be obviously more work to do. If you are a person who talks about aggressive career only during the time of appraisal then convince yourself about that. If you are not able to decide what you want, no one can help you in this. IMHO, you can’t have the best of both worlds.
  2. Prioritize your tasks: Yes, prioritize your work. In the morning, when you get into office, list the items which are important that needs to be completed before you leave for the day.
    1. Have 2 sets of list. One is Critical and the other one is Non-Critical Items. Critical are the list of items which you need to deliver or which your boss has asked you to deliver.
    2. Non-critical are the items which you need to complete, but it is not high priority. May be you can delegate to your team members (if possible).
    3. There are cases where you need to move the items between the groups. You need to prioritize this based on the situation.
  3. Make a habit to complete the items in the list. If you have a very long to do list, then it means that you are not following what you have agreed to do. Mark items as completed as you move along and clear the list on a regular basis.
  4. Time Management: Everyone talks about the need for managing time, but it’s the hardest thing to implement. Maintain a list where you could specify the time spent during my day. Capture this for a week or so and analyse. You do not have to share it with your boss. It’s for you. Apart from work, there could be items like Tea break, Cigarette break, Lunch break, Browsing, Chatting, Personal E-mails, Socializing chats, Evening Walk and Reading News Feeds etc. Find out where majority of your time goes.
    1. Once you know where your time is spent, cut those items and see how it can be used effectively at work. As far as I know, we do not work more than 6 focused hours (most of the cases its only less than 4 focused hours of work). If we can effectively spend these hours in the day time then you can definitely complete your work by 6 PM and there is no need to stay after 6.
    2. If you have client calls in the evening/support the client side team, then work out a plan with your manager so that you can start little late. You can use this time in the morning to do your personal work. Adjust your work hours. I have seen the benefits of adjusting the work hours. It really helps.
  5. Exercise/Stay fit: The other thing which we normally miss is exercise. It could be because of laziness or not wanting to do any physical activity. Exercise will keep you fit and make you feel better.
  6. Hobby: Have a hobby/life outside your work. If things are not going well, this will help you focus in things outside work.

In summary, work Life Balance starts with understanding what you want. It requires a person to know how to prioritize work, say NO whenever required and manage his/her time better. It’s all about how you can juggle the elephants.

More work and less personal life create problems. The same way, more of personal life and less work also will not help. It’s not possible to exactly get the balance. IMHO, it’s more about adaptability and how one can adjust to the situation.

Juggling Elephants: An Easier Way to Get Your Most Important Things Done–Now!

Job Satisfaction : Working Effectively with Others

Being able to work effectively with people is one of the most important factors in determining our success on the job.

Certainly, mastering the technical side of the job is important. If you are an airline pilot, you’d better be able to put the plane on the runway—every time—regardless of how well you get along with the rest of the flight crew. You would never recommend a doctor to a friend by saying, “Dr. XYZ is not much of a doctor, but he’s a nice guy. I think you’ll like him.”

But as important as technical mastery may be, it may not be enough to guarantee success.

Nine times out of ten, people who switched/lost their jobs had the technical ability it took to do the job. They could not get along with other people or they had “attitudinal problems,” which, usually show up in the form of disrupted relationships anyway. Inability to work with people may put a lid on someone’s promotion. Some highly skilled people stay where they are in the organization because it is all too apparent that they would make terrible managers.

Companies look for people who demonstrate the ability to do their jobs well. Then they promote them with the hope that they can manage other people who are doing similar work. Once promoted, what often separates the successful from the not-so-successful managers is their mastery of interpersonal skills.

Success in leadership positions requires the ability to work with and through other people. If you are already in management/leadership role, you know how important it is to be able to work with a wide variety of people. You may not yet be in a leadership position but see that as the next step in developing your career. If so, you will certainly want to continue demonstrating that you can do your job well. But you will also need to show that you can work well with other people.

Job Satisfaction
Our capacity to get along with other person is important for yet another reason—job satisfaction. We devote a huge proportion of our adult life to work. The quality of our life at work is a critical factor in determining the quality of our entire life. If you work forty hours a week, you are likely to devote at least eighty to ninety thousand hours of your adult life to work! Your work had better be gratifying if you expect to have a full and satisfying life.

One of the most important factors in determining how people like their jobs is the quality of the relationships they find there. No matter how much we might like a particular task the job requires of us, it is hard to stay excited about a job if we get along terribly with our boss or our co-workers.

On the other hand, working with great people will make even a routine job more enjoyable. We spend a great deal of time with people on the job. On workdays, most of us spend more of our waking hours with our co-workers than we do with our families. We may also work with some of the same people for years, day in and day out. So the quality of these relationships is vitally important to us.

It’s Never Been Easy
Working together isn’t easy. The truth is, almost everyone has times when dealing with people is one of the most aggravating things about working. We may have a co-worker who is difficult to get along with.

We may have a boss who is hard to get to know and almost impossible to please. Or we may have occasional problems working with customers. Working with people can be frustrating. It can get so bad that interpersonal problems may be the one thing that keeps us from finding satisfaction in the job we have at the time. We may like the work itself and the customers we serve, and we may even enjoy working with most of our co-workers. But one difficult relationship at work can ruin your whole day -day after day.

Making Things Happen
When people talk about their frustrations, they usually focus on other people as the source of their problems.
· Managers complain about people who are not performing as expected.
· Employees complain about managers who are not sharing information or delegating authority.
· Everyone complains about co-workers, talking about individuals who don’t pull their own weight or people who are hard to get along with.

If you just ask, “Have you talked to this person about this? Have you tried to solve this problem?” More often than not, the answer is “Are you kidding? I can’t talk to him (or her) about that!”
Other possible comment is, I am a Technical Person and dealing with People is not my cup of tea.

Making things work at work begins with your willingness to step forward and make things happen. When things at work are not going as well as you would like them to, the only useful question to ask is, “How am I the source of this? What am I doing—or not doing—that is contributing to things turning out the way they are?”

When things are not going the way you want, it is all too easy to look for someone to blame—your boss, a coworker, “management,” or the ever-popular “politics.”

But the conversation we are having about your life at work is not about the other person. It is about us. There is almost always something we are doing—or not doing—that is playing a part in things turning out the way they are. Sometimes I hate taking my own advice. When something doesn’t go my way, I would prefer to blame some other person as the source of the problem. I must confess that I may even find a certain satisfaction in complaining to friends about what a raw deal I’m getting But if I look carefully, I almost always find something I could have done differently. Or I will find something I should have done but did not do that is contributing to the situation.

It is impossible to get dumped on unless we first properly position ourself. Our circumstances are always about us, not the other guy.

Suppose one do not get enough coaching and feedback from his boss.
· Have you asked for it?
· Maybe you have a staff member whose performance is less than satisfactory. Have you been offering this person corrective coaching?
· Maybe you have a co-worker who is hard to work with. Have you tried to reach out and resolve any issues affecting your relationship?
Perhaps an even more important question to ask in any of these situations at work is, “Am I willing to look at my role in this situation, or do I just want to keep on blaming other people?”

Looking at our own role is not just a way to blame ourselves and feel bad about how we do things. On the contrary, once we start to look at how we participated in the way things turned out, we will begin to identify things we can do to resolve this situation and avoid similar problems in the future.

Talking to Each Other
Everything we need to make your job start getting better is just a conversation away from movement in the right direction. Everything our company needs to be great is already present in the hearts and minds of the people who work there. But all too often, these ideas go unexpressed and unheard, in part because we sometimes do not know how to talk to each other about work.

It’s silence that kills organizations. Conflict, even poorly handled, may even be preferable. At least we’d be talking to each other, and some good might come out of that.

Working with other people may be challenging, but it does not have to be impossible.

Original Source: Working Relationships: Using Emotional Intelligence to Enhance Your Effectiveness with Others

Happy Learning!!!