List of FREE services & tools Startups should be using

I have curated a list of free tools, services, and apps that startups could and in fact should use to grow at the initial stage. Free doesn’t mean they lack quality, instead, these free tools are from top-notch companies like RedHat, Google, Asana, and GitHub and in all areas from infrastructure to version controlling to marketing and sales to project management.

Have a look at this list here and don’t forget to give your feedback.

I compiled this list a long time ago and recently updated it but it still might have some outdated links that I didn’t get a chance to update yet. Feel free to let me know and I’ll update it.


Subscribe to get updates from our blog.

1 reason why you shouldn’t be an Entrepreneur?

There has been a lot of buzz about entrepreneurship in recent years and a lot of people have come up as great entrepreneurs and have set a trend for others to pursue in this direction. This term was not very common in the past and due to this lot of people don’t really know what entrepreneurship really means. A lot of people also mix it with just doing business. That is true somewhat but does that means every businessman is an entrepreneur? That is not the case. A lot of people think doing technology-enabled business is entrepreneurship. This is also not very true although in our modern era technology has played a big role in business and life.

So, if you try to dig it more, and talk to entrepreneurs and other people you will start differentiating business and entrepreneurship. There are different traits of entrepreneurship. Entrepreneur actually takes risk and starts new business on the opportunity he/she finds.

Let me explain. First, let’s describe what is opportunity. People come across different problems in life. Opportunity is basically a solution to that problem. You might be thinking how come a problem is an opportunity? You are right and this is where things start to go wrong.

Business is to earn money to fulfill their family needs. While entrepreneurship is finding people’s problems and making money from that problems.

If you hold for a moment and think about what entrepreneurs do is ask for money from people just to solve their problems. In my opinion, this is not the right approach and creates a culture where people instead of helping each other will ask for money to give them a hand or solve their problem. This kills humanity and one will always think of making money from others’ problems.

I won’t say doing business is wrong, but the approach of entrepreneurship is. And this is the one reason you shouldn’t be an entrepreneur if you really care about people and want to help them.

At the end of the day, this is my thought and doesn’t represent anyone. Let me know in the comments below if you agree with me or what are your thoughts on doing business and entrepreneurship.

Click here to read more about business, entrepreneurship, and ecommerce.

One reason why you should refactor your code often

Once upon a time, a consultant made a visit to a development project. The consultant looked at some of the code that had been written; there was a class hierarchy at the center of the system. As he wandered through the hierarchy, the consultant saw that it was rather messy. The higher level classes made certain assumptions about how the classes would work, assumptions that were embodied in inherited code. That code didn’t suit all the subclasses, however, and was overridden quite heavily. If the superclass had been modified a little, then much less overriding would have been necessary. In other places, some of the intentions of the superclass had not been properly understood, and the behaviour present in the superclass was duplicated. In yet other places several subclasses did the same thing with code that could clearly be moved up the hierarchy.

The consultant recommended to the project management that the code be looked at and cleaned up, but the project management didn’t seem enthusiastic. The code seemed to work and there were considerable schedule pressures. The managers said they would get around to it at some later point.

The consultant had also shown the programmers who had worked on the hierarchy what was
going on. The programmers were keen and saw the problem. They knew that it wasn’t really their fault; sometimes a new pair of eyes is needed to spot the problem. So the programmers spent a day or two cleaning up the hierarchy. When they were finished, the programmers removed half the code in the hierarchy without reducing its functionality. They were pleased with the result and found that it became quicker and easier both to add new classes to the hierarchy and to use the classes in the rest of the system.

The project management was not pleased. Schedules were tight and there was a lot of work to
do. These two programmers had spent two days doing work that had done nothing to add the
many features the system had to deliver in a few months’ time. The old code had worked just fine. So the design was a bit more “pure” and a bit more “clean.” The project had to ship code that worked, not code that would please an academic. The consultant suggested that this cleaning up be done on other central parts of the system. Such an activity might halt the project for a week or two. All this activity was devoted to making the code look better, not to make it do anything that it didn’t already do.

How do you feel about this story? Do you think the consultant was right to suggest further clean-up? Or do you follow that old engineering adage, “if it works, don’t fix it”?

Six months later the project failed, in large part because the code was too complex to debug or to tune to acceptable performance. The consultant was brought in to restart the project, an exercise that involved rewriting almost the whole system from scratch. He did several things differently, but one of the most important was to insist on continuous cleaning up of the code using refactoring.

This is an excerpt from the book preface “Refactoring – by Martin Fowler”.

Stop before start – Startup lessons learned!

I have gone through several experiences and ups and downs in my career. One was launching a startup which had a significant impact and the reason for me to write this post and to share the lessons learned and why we should stop on a starting line for a moment before we run.

Starting line

It was a long day back in February 2014. I was looking at the e-commerce industry of Pakistan and was surprised and happy at the same time that Pakistan’s e-commerce industry has been growing rapidly in past few years. The payment method was the biggest hurdle in Pakistan for the e-commerce industry and after the introduction of Cash On Delivery (COD) e-commerce market grew exponentially. Logistics companies like TCS, Leopard, and other played a significant role by offering COD services to businesses that eases the operation of shipping and payment for local businesses. That was the aha moment for me and I decided to launch my own e-commerce business.

The ground

I had been developing e-commerce solutions for some time and I had enough experience to run the show and grow it. The question was what am I going to sell?

At that moment I decided to share my idea with my long-time pal and cousin. He was also looking for a breakthrough in his life. When I put this idea in front of him he immediately agreed to dive into it. So, we started planning and thinking about what should we sell and how to arrange the inventory.

Let me mention here that one big problem with us was funding and our aim was to start with minimum investment. In fact, in the back of our minds, we were thinking to go with zero investment. This was something that I previously had done so it seemed possible with some teamwork, hard work, commitment, and time. We had to wear so many hats at the same time.

A mix of skills, the good thing

Ultimately, we decided to go with apparel to sell. What we actually did we mixed experience and fields of our both. I was an expert in technology and especially on the e-commerce side and he had experience in selling unstitched clothes. So we decided to go with selling clothes where he will take care of vendors, inventory, shipping (since he was also in the transport business so it was best that he handle delivery as well) and related stuff. While I was responsible for the technology side, plus customer service and sales, digital marketing, and everything that comes in between and belongs to technology.

The launch

We moved forward and in March 2014 we launched our website and started marketing on social media. Let me mention that since my partner was already working he started part-time. This was an important decision. My opinion at that time was if you have enough savings to run your kitchen for ideally 6 months or at least for 2-3 months then we can focus on our business full-time. Because we didn’t have investment so time was our investment. As much time we could put in we had to, in fact, we must otherwise I could see what’s going to happen. My partner was already in and there was no going back so we kept moving forward.

I realized early in the stage that we need more team members since we were not able to give full time. On the other hand, we were not in a position to hire anyone at this stage due to a lack of investment. I decided to include another partner and give him a share and my first partner agreed. I had a perfect guy in my mind and we put the proposal in front of him. Just like my first partner, he was also looking for a breakthrough in his life and he also showed interest in the first place. He was in and we started working.

I found a vendor who was actually my friend working in the same field and we agreed to do business with each other. So we had some initial inventory, we started taking photos, doing Photoshop, uploading on the website, and started posting on social media. So far so good, but the second partner started showing less interest and in May we were back to two partners.

The moment of joy

At the end of May, we were rewarded for our hard work and we received our first order. We were excited. We kept our heads down and arranged the inventory and shipped the order.

In June, there was more joy for us. We received our first international order and a good one. We were so excited that our primary market was local but I had been planning in a way to expand it internationally and it did work and we got our very first order from abroad. Awesome!

Turning point

failureWe continued and we started getting more orders but the turnaround time was slow as usually is in starting phases. This was the point where we had to make some more tough decisions but things started to change. We were still not in a position where we both can run our kitchen from the income of our startup. In contrast, our business was demanding more time, more effort, and investment at this stage. None of which we could do since we had to run our kitchen and in parallel support our startup. And we had nothing to put in. Ultimately, we were nowhere, we were short on inventory, our orders got cancelled, and thus no returning customers and no sales.

Then the day came when we took the biggest decision in July. We decided to wind up and in the loss. Fortunately, there wasn’t enough investment so our loss was also not that big and we bore it somehow.

Lessons Learned

We learned lots of lessons. To start a business you must have enough investment to run the show for a year at least including your kitchen. Due to a lack of investment and in return lack of marketing, team, resources, suppliers, and time (due to part-time work) we were unable to survive. People can quote you numerous examples and I myself know some but all they have is an investment in some context. I read an article that how WD-40 was named. It was actually the 40th formula that got successful and 39 formulas before that all failed. So, the creator of WD-40 had enough time and money to keep experimenting with his formulas and keep supporting his family and kitchen. That is also an investment.

One might think why didn’t we find any investors? Actually, startup and entrepreneurship culture is booming in Pakistan but still, there are some hurdles and the ecosystem is still not there yet. Good investors are hard to find on a profit and loss basis. So we were up to our own.

On the other hand, approach and lack of skills were also major issues. One man cannot do everything so all the partners have to contribute. They should have a ‘Can-Do approach’ and should be able to initiate ideas, and know how to execute them. Skills in a particular field are also very important. But working in some field doesn’t guarantee that you have skills in that field. At the same time, you have to bring and apply your previous experience. Plus, communication skills and self-confidence are a must to achieve something. You should be a problem solver too. Unable to think and coming up with no ideas in problem times is one of the biggest problems itself.

To get better results, change your Approach!

“If you’re not getting results, change your approach.  The best way to get unstuck is to change your approach.  You learn the most from trying something different.  Sometimes this is uncomfotable, but that’s what growth feels like.” (MSDN Patterns & Practices Blog)

Above quote is from J.D. Meier’s blog and I totally agree with this. I have seen people with different approaches. Some people stick to their habits and don’t want to change the way they are working. Even I have seen people arguing against changing approach and even don’t want to listen that their approach is wrong or there is a need of change in their approach. This is the worst thing that I have seen people doing. People even have to pay off sooner or later but they don’t want change, even after failure. They find different reasons, blaming others or subordinates, or the situation. But they don’t realize that this situation is due to their approach.

Approach is the thing that can lead you to either success or failure. If by adopting one approach you get succeeded, it is not necessary that you will always be succeeded by that approach. With the passage of time and changing situation, you have to change your approach as well. One approach won’t always take you to the top. You have to take different routes, with different approaches, if you want to go up the ladder, otherwise your direction will be downwards.

Why job satisfaction is important for growth?

There is a very good article on about job satisfaction. I thought I should share it on my blog too. I am pasting the article here for convenience. The article link is

Here is the article.

How many times have you thought about leaving your job in the last month? Losing interest in your job and thinking of quitting repeatedly is a sign of low job satisfaction. As the level of job satisfaction in an employee decreases, the quality of his work deteriorates and sooner or later the company decides that it is time to let him go. Job satisfaction can be achieved to some level by putting in  effort to redress the factors that are causing job dissatisfaction. The more satisfied a person is with the job the better he will perform and his stress level will be lower as well. However, in order to increase job satisfaction it is pertinent to identify the factors that make employees feel discontent at their job.

Factors that negatively affect job satisfaction:

Some of the most common factors that are responsible for a decline in job satisfaction level of the employees are:

Fear of losing the job:

When a person feels that his job is not secure, he fails to put maximum effort in work. Most employees who are hired on contract basis face this situation as they have the Damocles sword hanging over their head. These employees are so concerned about their job security that they find it hard to concentrate on their work.

Mundane routine:

When a worker has to undergo the same routine over and over again, he loses the will to perform well at the job. Doing the same tasks repeatedly curbs the creativity of an employee and when the employee feels like he is capable of doing nothing other than following the routine, he gets frustrated with his job.

Feeling undervalued:

When an employee is feeling undervalued at work, it soon leads to lessening the level of job satisfaction. If the supervisors and managers do not value your hard work and criticize your every move, you are bound to lose all interest in your work and lose jobs satisfaction as a consequence.

Lack of opportunities:

Feeling trapped in a job where there are no growth opportunities makes an employee lose job satisfaction. Unless we feel challenged regularly, most of us fail to perform well on the job and soon start looking for another job that might be a little more exciting than the last one.

Rifts with supervisor:

Problems with the coworkers or a manager can lead to high level of job dissatisfaction as one finds it difficult to deal with such problems on daily basis and work in such a negative environment.

Feeling like a failure:

When an employee fails to achieve a target or goals set by the superior repeatedly, he starts feeling like a failure. What people fail to realize is that failure is part of life and should be taken as a learning experience. If you learn from each failure you are bound to improve your skills and capabilities rather than taking every failure to heart and stop trying at all.

Low pay scale:

Most of the times a low pay scale is the basic reason for employee discontent and leads to most of them looking for a new job. Such employees feel that they are not being paid in accordance with the degree of expertise that they command and do not work well.

Improve your job satisfaction level:

Here are a few tips on how you can improve your job satisfaction level and work better to enhance your productivity.

Think positive:

The first step to improving your job satisfaction is curbing negativity of thoughts and being positive. Whenever you feel like your job is worthless or you are a looser, stop yourself immediately and start thinking about the good things that are associated with your job.

Break the routine:

If you feel bored or overworked when at work, try to take small breaks in between and find something refreshing to do. Even taking a small break to chat with your coworker might provide the much needed relief and help you in getting rejuvenated.

Improve your job skills:

While working somewhere, you can easily take on courses that will help you enhance your skills and will help in keeping you updated. This way you do not feel like you are wasting time at a job that has nothing to offer. Personal grooming and honing your skills will pay off sooner or later and will increase your job satisfaction level.

Volunteer work:

If your daily routine is boring and monotonous, then try volunteering for work that interests you and makes you feel like you are learning something new every day. You can also ask to be reassigned to another department that requires the same job skills that you posses but has new challenges to offer.

Be grateful:

You have to keep in mind that everyone encounters good days and bad days on the job but it does not mean that you should lose all interest in work and start looking for something else. Getting a job in today’s recession hit job market is not easy and the fact that you have a job while millions have been fired bodes well for your future.

Maintain balance:

If you wish to achieve higher level of job satisfaction, you have to maintain a balanced approach towards work and life. If work takes place of all the other things in your life, sooner or later you will start resenting it and then fell discontent at work.

What employers can do to boost the job satisfaction level of employees?

When it comes to job satisfaction, the people most affected are the employers and the managers. If the employees are not happy with their jobs, they start losing interest in work and the company has to suffer. If the employers want the workers to deliver the very best they have to make sure that their job satisfaction level is good.

In order to improve the job satisfaction level of the employees, the managers should follow some simple but very effective steps. These include:

  • Improving the work environment and creating a friendly workplace for the employees so that their stress level stays in control.
  • Providing incentives and rewards to keep the employees motivated.
  • Paying the employees what they deserve as being underpaid is the most common reason for employee dissatisfaction from job.
  • Keep challenging the employees and keep setting goals for them to achieve.
  • Encourage communication between the employees and the managers so that they know who to talk to when they have a work related problems.

Overqualified employee is an Asset, don’t lose them

There is a very nice article Overqualified Employee: A Liability Or An Asset? on Rozee. One point I totally agree with and thought I should post it on my blog. Here is its excerpt…

How To Deal With An Overqualified Employee?

Utilize His Expertise

If you have an overqualified employee on the team be sure to utilize his experience rather than feeling threatened by it. His expertise is a valuable asset for you and you can utilize it for the progress of your company.

If you don’t utilize his expertise then he will not be motivated. As author of the article has mentioned here…

Downside Of Hiring An Overqualified Employee:

Lack Of Motivation

… the work will not be challenging enough for him and he will get bored quickly, loosing focus and motivation. When an employee loses focus he instantly starts looking for another job and thus becomes a flight risk.

How to improve quality of your standard?

Having quality standards for your organization and project is a must. But putting everything in your quality standard can make your quality standard worse. There are few guidelines you can consider when making a quality standard, but following two are most important I think.

  • Develop a consequence for each quality standard. I like to call this the “Who cares?” test. For each standard you identify, develop a logical, thoughtful consequence that will occur if it is not met. If you and your advisory board can’t identify a realistic outcome, or if the consequence is minor, consider revising or deleting the standard. It’s too easy to throw everything into your quality standards list. More is not always better, so be sure to focus on what matters most.
  • Evaluate the quality standards as a regular part of your project postmortem. Putting practical standards in place is a great first step toward meeting the expectations. So, to ensure that your quality standards continue to pay dividends, it’s important to include a regular postmortem review. Ask questions such as:
    • Were any quality standards ignored? If so, was the consequence significant?
    • Was the product designed with the quality standards in mind, or were they applied after the product was designed and needed to be tested?
    • Did the team take the quality standards seriously, or did they follow the guidelines because they had to?
  • Getting a good read on how project teams viewed the quality standards will help you improve these measures, and over time they will evolve with your organization.
  • There is a good article on Microsoft Office Online providing bit more guidelines on developing a good quality standard and then maintaining the quality of your quality standard 🙂

    How change can bring motivation?

    I always believed that bringing change is one of the key factors which develops people’s interest and keep them motivated. But I was surprised to see that how promoting another person in team can motivate others, specially where situation is worse and people are fed up. Bringing change can charge people up, but we have to see that what type of change is necessary. Sometimes a change can demoralize people, specially when people are already happy with something.

    Another factor to keep your team motivated is to communicate with them and ask their problems, and try to solve it. Again, solving problem will bring change and your team will become more responsible, honest, and motivated.

    What is success?

    Yesterday I came to know how people think about success. A guy was describing what success is and how to be a successful person. His speech reminded me Surah Al-Asr in Quran where Allah has mentioned about successful people:

    1     By Al-Asr (the time).

    2     Verily! Man is in loss,

    3     Except those who believe (in Islamic Monotheism) and do righteous good deeds, and recommend one another to the truth (i.e. order one another to perform all kinds of good deeds (Al-Maroof)which Allah has ordained, and abstain from all kinds of sins and evil deeds (Al-Munkar)which Allah has forbidden), and recommend one another to patience (for the sufferings, harms, and injuries which one may encounter in Allah’s Cause during preaching His religion of Islamic Monotheism or Jihad, etc.).