Life is short and unpredictable. If you go with data on the average human life span, I am almost halfway there ?.
Last month I turned 29 as per the Georgian calendar. Georgian and Hijri calendars have a 1-year gap every 30 years. But here I am, happy to be called a 30-year-old as per Hijri’s calendar.?
In these 29/30 years, One thing I did consistently is, doing a lot of mistakes and learning from them. This way I’ve learned a lot of things. And Since learning is a never-ending process, I still don’t know many things and trying to learn them as per my need.
The learning which I am sharing here is not life advice or a silver bullet. This is more of a note to myself so that I can reflect upon it in the future to see how many things still hold or changed completely over time.
So the core idea behind this blog can be summarised in one line.
Life is all about finding the right balance. The skill is to know when is “Just enough” for you.
The skill of knowing “Just enough” will not come in a day. Everyone is going through a different journey and struggles. It will take its own time based on where you are right now in your journey.
So I’ve divided my learning into 3P’s i.e People, Personal, and Professional. The professional part is related to software development.
1. Trusting everyone v/s Not trusting anyone.
In the early stage, I used to trust people more easily. Because of lack of experience in dealing with people or it could be my nature.
If you are the lucky one who got the trusted people early then you will continue trusting more people. But this is not the case with most people. Betrayal, cheating, break-ups might lead to a mindset of not trusting people at all.
As I move on I realized that there are only a few people I can trust. It’s sometimes hard to decide whom to trust. This is where I need to find the balance.
2. Making everyone happy v/s Making only yourself happy.
No one wants to be a bad person or hurt someone’s feelings by saying NO. Because of that, we try to make everyone happy.
Being selfish and thinking about our own happiness is also not good. Try to make people happy who are important in your life even if you need to sacrifice something out of your life.
3. Listening to others v/s Listening to yourself
No matter what you do there will always someone who won’t agree or like what you do. Don’t let them stop you.
Listening is the most powerful skill. It does not mean listening physically, but listening in a sense to understand it. Listening gives people a feeling of importance.
Also, I try not to limit myself with my thinking, I want to think holistically, listen and understand other people’s points of view.
4. Loving someone more v/s Loving only yourself.
Loving someone more than yourself will lead to unfocused life for yourself. It looks cool on movies and tv shows. But in reality, that’s not how it worked for me.
Loving only yourself and too much solitude would not do any good. Humans are designed to be feel connected, cared and loved by other people.
1. Work All day v/s Not Working
Since the pandemic, there is a huge debate about work-life balance.
We focus on work too much that we forget about other important people in life which also requires the same amount of time and focused as our work does.
But some people are stuck or focused in personal life so much that they are not able to focus on the work they are passionate about.
I believe the time should be equally balanced, but the priority should be always people who you love or care about.
2. Too much Social Media v/s No Social Media.
Most people are not aware of how using social media influences their daily behavior and mindset. Social media is not your life. Some studies show that people who do not use social media extensively tend to calmer and happy.
But If you use it right then social media has a lot of benefits. It’s useful for Marketing, Creating Content, Finding learning resources, Asking questions, Creating a business, and Creating a network.
It’s not about why you use it, it’s about how you use it.
Use social media to show off your work, not your life.
If you are interested in this topic I would highly recommend you to read Digital Minimalist.
3. Taking All the responsibility v/s Not taking any responsibility at all.
Taking responsibility for everything that comes in your way might lead to more work, stress, and burnout. Take few responsibilities and do it well. Or delegate to someone else.
Taking responsibility requires doing uncomfortable things and take ownership if something goes wrong. People don’t want to go out there comfort zone and hence try to avoid taking any kind of responsibility.
“It’s better to be in the arena, getting stomped by the bull, than to be up in the stands or out in the parking lot.”– War of art
4. Overthinking vs Not thinking at all.
Overthinking is the common problem for stress, anxiety, and depression. We think about stuff too much. We can be better at it by controlling our thoughts. It can be in form of exercise, meditation, or any spiritual thing.
Going with the flow and not thinking/planning about stuff ahead of time might lead to unexpected results. I like analytical and planning thinking. But I try to avoid the Analysis paralysis situations.
The only thing standing between you and your goal is the bullshit story you keep telling yourself as to why you can’t achieve it.Jordan Belfort
5. Thinking about money v/s Not thinking about money.
Just money thinking comes into mind when we are playing the status game. Everyone is interested in how much money another person makes. Compare their lives based on money.
Some people get so focused on money that they want to have it without thinking about the way they get it.
Money is essential. It’s fuel to run our life. Being careless about money would also lead to problems. We need to aware of how much we earn and spend money. Spending unnecessarily more than we earn causes debt issues.
There is a famous Hindi proverb for this.
जितनी चादर उतने पैर फैलाना (Cut your coat according to your cloth)
6. Buying too much stuff vs Not buying at all.
We are just a few clicks away to purchase anything online and delivered to you the next day or even the same day ?
Once we start earning a decent amount of money, We start buying stuff without thinking it necessity.
“The things you own end up owning you.”
― Joshua Fields Millburn
The extreme another side of this would be a miser person. A person who can sleep empty stomach but won’t spend an extra penny to buy food.
I recommend watching The Minimalist: Less is Now.
1. Over-Architecting Software v/s Non-Architecting Software
Perfect architecture is a myth. We thrive it so much that we create so many complex layers to follow the separation of concerns.
Too many micro-services. Too many interfaces. Too many modules. For example Just to update one thing you need to go through 4-5 different layers of delegation methods.
It makes it hard to understand how things are connected. This also makes onboarding very hard.
Not thinking about architecting and design before starting a new project or an adding existing feature to a project is also a big issue. Because once you have made that decision it’s very hard to change over time.
An example of this would be, mixing different responsibilities in one layer.
A sign of bad architecture is that if we make a change in one place then it breaks things in a different place.
2. Thinking just about Code v/s Not thinking about Code.
Programming is not just about sitting on a chair and writing code. It’s more about problem-solving, planning, estimating, meeting deadlines, and collaboration with the team.
Keep asking this question to yourself before you write code. Why we are writing this code? Are we solving the right problem?
Planning and estimation won’t work if you don’t know the code. I’ve seen a salesperson and a manager who commits a deadline to a client without knowing the complexity, difficulty, and structure of the code. Planning things without knowing the code is dangerous for you and the team.
3. Refactoring Everything v/s Not Refactoring Anything.
Sometimes we don’t understand the code written by us six months ago or by a team member. So we tend to start refactoring everything that comes in the way. Hence break the system every time.
In Refactoring, we should start with a small part, for example renaming a variable with a meaningful name. Extracting into small functions.
In the past, I’ve been a part of a team where developers keep adding code to the existing codebase without refactoring. If there is a for loop then they will add another for loop inside it and make it work.
4. Learning Everything v/s Not Learning Anything.
Technology is changing very fast. Every day there are new frameworks/libraries in the market. On social media, it’s get hyped more than it should be, which creates a FOMO (Fear Of Missing Out). We try to stay up to date with the new stack, by learning everything.
Learning new things required to get out of our comfort zone on what currently we are working on. It might feel frustrating initially. That’s why most people try to avoid learning new things.
“Anyone who stops learning is old, whether at twenty or eighty. Anyone who keeps learning stays young.”
5. Testing vs Not Testing at all.
Testing all the possible edge cases which do not exist in the real world or testing for sake of 100% coverage won’t add much value to the code.
What and How much we need to test is something we should look for.
Writing tests, in the beginning, is hard. Most of us don’t know where to start testing or don’t write it because of time constraints.
Not writing tests will feel fast initially, but as soon the codebase and feature start to grow, things start to break quickly. This is where tests work as a safety net.
6. Reading too much vs Not reading at all.
We are living in an information era where we are bombarded with information every second. Reading everything on the internet or reading all kinds of books might lead to confusion. If you are interested I also wrote about the pros and cons of reading books.
Not reading anything is not the solution. Be mindful about what topic you choose to read. Consume information that provides high value.
7. Too much productive vs Not being productive.
Trying to plan and utilize every minute of your life and then feeling guilty of not doing it will lead to physical and mental exhaustion.
I used to read tech articles between movies interval just to not waste any free time.
Not being productive also leads to wasting a lot of your time on unnecessary things like watching tv the whole day or sleep all day. There was a time where I felt proud to complete a tv-series in a day, which I am not anymore.
So that’s it. This was the list of things that I’ve learned so far. If you share the same learning or something which is not on the list then feel free it add a comment or In case of any question, you can reach me on Twitter or Email me.
Thank you for taking the time to read my blog.
If you like this kind of content then you can subscribe to my blog
and be the first one to get notified when any new content is published.
If you like this article, please like and share it with your friends/colleagues and help me to spread the word.