The Only Way to Do Something Well is to Do It Badly 1000 Times!
We live in a world where everyone wants results immediately. But the truth is that mastery comes only through thousands of failures.
Every mistake is not a failure, but a step towards perfection.
Three months ago I picked up a racket. The first weeks were a disaster:
But what happened after 3 months?
Today I can:
The secret? Thousands of bad shots. Every miss taught my muscles the right movement.
// Formula for mastery
const mastery = {
attempts: 1000,
failures: 950,
learning: failures * experience,
result: "excellence"
};
A good manager is someone who has stepped on all possible rakes and survived.
Task Setting:
People Management:
Planning:
Every mistake makes a manager stronger. The main thing is not to repeat the same mistake twice.
A developer’s path is a marathon through thousands of bugs, crutches, and refactorings.
Junior (0-500 mistakes):
// Classic junior code
function calculateTotal(items) {
var total = 0;
for (var i = 0; i < items.length; i++) {
total = total + items[i].price;
}
return total;
}
Middle (500-2000 mistakes):
// Better, but not ideal yet
const calculateTotal = (items) => {
return items.reduce((total, item) => total + item.price, 0);
};
Senior (2000+ mistakes):
// Accounting for all edge cases
const calculateTotal = (items: CartItem[]): number => {
if (!Array.isArray(items) || items.length === 0) {
return 0;
}
return items
.filter(item => item.price && typeof item.price === 'number')
.reduce((total, item) => total + item.price, 0);
};
What developer mistakes teach:
An analyst becomes an expert by going through thousands of wrong conclusions and crooked dashboards.
Working with data:
Building reports:
Business logic:
-- Evolution of analyst SQL queries
-- Junior:
SELECT * FROM users;
-- Middle:
SELECT user_id, COUNT(*) as orders
FROM orders
WHERE created_at >= '2024-01-01'
GROUP BY user_id;
-- Senior:
WITH user_cohorts AS (
SELECT
user_id,
DATE_TRUNC('month', first_order_date) as cohort_month
FROM user_first_orders
),
monthly_activity AS (
SELECT
uc.cohort_month,
DATE_TRUNC('month', o.created_at) as activity_month,
COUNT(DISTINCT uc.user_id) as active_users
FROM user_cohorts uc
JOIN orders o ON uc.user_id = o.user_id
GROUP BY 1, 2
)
SELECT
cohort_month,
activity_month,
active_users,
ROUND(100.0 * active_users / FIRST_VALUE(active_users)
OVER (PARTITION BY cohort_month ORDER BY activity_month), 2) as retention_rate
FROM monthly_activity
ORDER BY cohort_month, activity_month;
Michael Jordan:
“I’ve missed more than 9000 shots in my career. I’ve lost almost 300 games. 26 times, I’ve been trusted to take the game winning shot and missed. I’ve failed over and over and over again in my life. And that is why I succeed.”
These words from a man considered the greatest basketball player of all time.
The lesson is simple: failures are not an obstacle on the path to success. They ARE the path to success.
Mastery is not talent. It’s the result of thousands of conscious mistakes and working on them.
Whether it’s tennis, management, development, or analytics — the principle is the same:
The only way to do something well is to do it badly a thousand times.
So don’t be afraid to make mistakes. Be afraid of not starting.
Want more articles about development and career? Subscribe to EasyAdvice, bookmark the site and improve yourself every day 💪