The Power of Progress…

Progress can be a powerful tool to motivate employees and drive their performance in the workplace. When employees see tangible progress in their work, it instills a sense of achievement, purpose, and personal growth, which in turn boosts their motivation and productivity. Here are a few ways in which the power of progress can be harnessed to motivate employees:

1. Clear Goals and Milestones: Setting clear and achievable goals provides employees with a roadmap for progress. When employees have a clear understanding of what they need to accomplish and can track their progress through milestones, it creates a sense of purpose and direction. Regularly reviewing and celebrating milestones reached can further reinforce the feeling of progress and motivate employees to continue pushing forward.

2. Feedback and Recognition: Regular feedback and recognition are essential for fostering a culture of progress and motivation. Providing constructive feedback helps employees understand where they stand, identify areas for improvement, and make progress towards their goals. Recognising and acknowledging their achievements, both big and small, reinforces the sense of progress and motivates employees to continue performing at their best.

3. Learning and Development Opportunities: Offering learning and development opportunities allows employees to continuously grow and progress in their careers. Providing access to training programs, workshops, mentoring, and other skill-building initiatives not only enhances employees’ knowledge and expertise but also gives them a sense of progress and personal development. When employees see themselves acquiring new skills and knowledge, they are more likely to stay engaged and motivated in their roles.

4. Challenging and Meaningful Work: Assigning employees challenging and meaningful tasks can fuel their motivation. When employees are given responsibilities that align with their skills and interests, they are more likely to feel a sense of progress as they overcome obstacles and achieve results. Encouraging autonomy and ownership of projects allows employees to see the impact of their work and feel a sense of progress in contributing to the organization’s success.

5. Opportunities for Advancement: Providing employees with opportunities for advancement and growth within the organization is a powerful motivator. When employees can see a clear career path and know that their progress can lead to promotions, increased responsibilities, or new challenges, it gives them a sense of purpose and motivates them to continually improve their performance.

6. Celebrating Successes: Celebrating individual and team successes is an important way to acknowledge progress and motivate employees. Recognizing achievements publicly, such as through team meetings, newsletters, or internal communication platforms, boosts morale, fosters a positive work environment, and encourages a culture of progress and continuous improvement.

In conclusion, harnessing the power of progress in the workplace can be a potent motivator for employees. By providing clear goals, offering feedback and recognition, providing learning opportunities, assigning challenging work, offering advancement prospects, and celebrating successes, organizations can create an environment where employees feel motivated, engaged, and empowered to make progress in their careers.

Apple Products – Highlights…

1. Storytelling is the superpower.

2. Build Products not MVPs.

3. Take Big Leaps even if it takes time.

4. Big ideas are more important than usability fixes.

5. Trust your instincts in making product decisions don’t rely on user testing.

System Design Interview Process…

System Design Interview Process:

1. Ask Questions to understand requirements:

  • Functional Requirements
  • Non-Functional Requirements

2. Handle Data 

  • What’s the size of the data right now?
  • At what rate is the data expected to grow over time?
  • How will the data be consumed by other subsystems or end users?
  • Is the data read-heavy or write-heavy?
  • Do we need strict consistency of data, or will eventual consistency work?
  • What’s the durability target of the data?
  • What privacy and regulatory requirements do we require for storing or transmitting user data?

3. Divide and Conquer – Discuss the components and trade-offs

  • Different components have different pros and cons. We’ll need to carefully weigh what works for us.
  • Different choices have different costs in terms of money and technical complexity. We need to efficiently utilize our resources.
  • Every design has its weaknesses. As designers, we should be aware of all of them, and we should have a follow-up plan to tackle them.

What not to do in an interview

Here are a few things that we should avoid doing in a system design interview:

1. Don’t write code in a system design interview.

2. Don’t start building without a plan.

3. Don’t work in silence.

4. Don’t describe numbers without reason. We have to frame it.

5. If we don’t know something, we don’t paper over it, and we don’t pretend to know it.

Reverse Conway’s Law…

You can deliberately structure your team the way you want your code to look like.

Geographically distributed teams will tend toward more modular distributed software. 

Most importantly – Development teams that include product users will produce software that clearly reflects their involvement making it more relevant to the users. Whereas teams that don’t bother will reflect that in the product with not much relevancy to the users.

Focus on quality as AI beats quantity…

With more tasks being automated today with advent of AI (GPT3), the value of quality is enhanced much more now.

AI or bot can do only limited quality work but can easily beat humans in quantity. Hence as an expert in your field you will be valued more because you bring quality. Your uniqueness, your experience will have more value, since no one can copy or generate it.

At the same time quantity will be culled out more and more because of its abundance. And for those who go after quantity, beware of it, as it will hit roadblocks sooner or later and leave you stranded.

Best case will be, to have right mix of quality and quantity as you go along.

Solve complex problems or solve consumer problems?

As a technologist or product owners, we have a choice – Solve complex problems or solve consumer problems? Believe me, there is a huge difference.

Being techy it gives us people a thrill to solve complex problems even if the problem has zero correlation to a real consumer.

As long as its complex we want to solve it :). Let’s not get into why of it? Maybe it gives a mind thrill or gives a good massage to our ego.

But then what’s the point of product & technology, if it does not solve consumer problems? or real-world problems?

I would say this is one of the biggest learning for me, now that I have my own startup. And I can safely say this makes a huge difference between a successful techy and an average one. Anyone who gets this prospective can not only deliver things much faster but adds tremendous value to the product.

I learned it the hard way, here is how it happened:

Initial days as a techy I had very little interaction with clients who were using our software. But one day I had a call with one of our biggest clients to explain (We use to provide a platform for sellers to sell their items and ship it to the consumer, something similar to eBay) why a major release got postponed leading to shipping & tracking problems. The Client was losing a lot of money because of this issue.

I was dreading the call and was ready with all the tech explanations why it happened, what are we doing to fix it, etc, etc…

The call started, my sales colleague did a quick intro along with the business side updates and handed over to me …

I started with all sorts of technical jargon and then tried explaining that the architecture of the dashboard was scraped and rebuilt for scale…blabbering as much as possible to convince him.

Off-course he couldn’t understand a single word.

But here comes the surprise:

Me – “Sir, the release got delayed because blah blah…we are working day and night to get it live by next week and again blah blah blah more jargons”

Client – “That’s fine but can u please enable my shipping address in the success page”

Me – After long pause….“Sorry, didn’t get, Please tell me again..”

Client – “You guys have removed my shipping address from the success page to make it more prominent on the next page, and hence my customer couldn’t find it easily. ” Client Continued – “Because of this, my customers are not able to understand and have been canceling orders. Also, I need to coordinate with every customer on the phone/mail and losing money…”

Me – Again a longer pause, but some sense of relief and guilt for making this guy and others suffer for our favorite “Dashboard Release”
“Sure Sir, I am sorry for the issue it might be a product bug let me fix it asap”

Client as politely as possible – “I am not much concerned with when the dashboard goes live but please fix this asap and I am more than happy”

Me – Now with more confidence, since its just a shipping address to be added to the success page.
“Sure Sir, I assure you, we will release it by tomorrow”

We fixed the shipping address display issue in the success page, The Client(s) was happy and we released our dashboard in next two weeks (BTW – there were very few usages of the Dashboard but that’s a different story)

This was a life-changing moment for me, I couldn’t understand what happened for some time, why is the client not bothered to use Dashboard built with great technology and supposedly help him so much.

Later I figured that most of the clients had a simple system to show the shipping address and get their team to process it thru excel. Why would they want their team to learn Dashboard and make it difficult, learn a new skill set and invest more?

If we would have understood their problem a bit deeper and had integrated excel into it. It would have been much easier to implement, much faster, and would be very helpful to them. But we were solving a very difficult problem of integration of data from different sources into a single Dashboard and was being proud doing it.

Remember 80-20 Rule

To all the techies and product folks, remember – 20% of product & product features are used 80% of the time hence if we can hone this 20% we are winners. Of course, it’s difficult to identify the 20% and that’s where our focus should be.

So next time if you see a complex problem to be solved, first raise questions what & why, is it really helping someone? and if it does not go solve a complex puzzle to massage your ego 🙂 but please ignore the complex problem.