March and Q1, 2018: I wouldn’t trade my body with Elon Musk and the importance of asking questions
A perfect life is an illusion. I wouldn’t trade my body with Elon Musk. I like my life. My mind suits my body and has evolved to manage my problems. I am simply not mentally prepared for the problems Elon faces and I don’t want to face the problems he battles on a daily basis. I do admit it would be fun to drive a Tesla and launch a rocket :)
My first month on the job was fantastic. Like every phase of life it has unique pros and cons. It reminds me that no situation is perfect. Live in the moment, the future or past is not particularly better than the present.
I miss my old life — I miss having absolute control over my time, I miss being on my own. Yet I love being surrounded by super smart colleagues who are willing to help me grow and become a better human.
To me, life is not a vertical axis where one climbs up a ladder of success with each stage better than the next. Life is more of a horizontal axis where you journey on from one phase to the other, each phase bringing its own happiness and sadness, ups and downs.
I realize that happiness does not necessarily come about by getting what we want or what we need, it comes from how we perceive what is going on in our lives. It comes from gratitude. Happiness is internal not external. As humans, there would always be something we don’t have, there would always be something that’d make our lives better. Happiness is the satisfaction of now.
Enjoy the journey.
Starting a new job can be overwhelming. There’s an enormous amount of new information — understanding a company’s systems and processes, adapting to a new culture and meeting new people. Combine this with an urge to contribute value and you might find yourself feeling lost.
Its been hard for me to practice Deep Work, there are so many things to learn and I’m still finding my feet.
How do I know what’s important? How do I stay focused on a single task in a world of slack and collaborating with my colleagues?
So many questions whose answers will only come with time. I have tried to focus on forming systems and processes over setting goals. Consistency first before results, the small steps should add up.
Here are the most important things I have learned from my first month as a developer:
- Ask questions (even if they seem dumb)
- Be humble and teachable
- Help others
I learnt a topic in two days by having an expert explain it to me (on my own it would have taken me at least two weeks). Ask questions.
In asking questions respect other people’s time, try to research a topic first and then ask questions about concepts that you find confusing.
In asking questions — listen and learn. Don’t try to win arguments or prove that you’re smart. Ask questions because you are curious and want to understand a topic. Be humble. The more you know, the more there is to know.
Help others. The world is a better place when you teach others the same way someone else taught you. In addition, your knowledge of a topic solidifies when you explain it to someone else, you find loopholes in your thinking when you teach others. They ask you questions that help you see a different aspect of a topic and identify misconceptions.
SOAs, RabbitMQ, Elasticsearch and Kubernetes
In March, I learnt about building applications for scale and Service Oriented Architecture (SOA).
SOA is an architectural pattern of breaking up a software application into different components (services) which interact to serve a purpose.
To illustrate what SOAs are let’s consider an example:
You are building a clone of Facebook, instead of building the entire app as a single codebase, the SOA approach would mean breaking the app into services that make up Facebook.com. You could have a service that manages news feed, a service that manages adverts, a service that manages search, a service that manages likes, and so on…
The SOA approach makes it easier to scale and increases the fault tolerance of your app as there is no single point of failure.
So now that we have different services, how do they communicate? This leads us to the concept of Messaging and RabbitMQ.
RabbitMQ is a message broker whose job is to accept messages from services and forward to other services. RabbitMQ ensures your services are loosely coupled which makes it easier to maintain and improve.
To power a search service on your SOA, you could use a software called Elasticsearch. Searching a typical database (MySQL, MongoDB, Postgres etc) could be slow and ineffficient, Elasticsearch is a search engine that provides super fast search on your data and more useful results than searching your database directly.
There you go, you just learned about SOAs, RabbitMQ, Elasticsearch and Kubernetes. Yaay.
The first quarter of 2018 passed by quickly.
I job hunted in January, built a mental model of what makes a great work environment in February and learnt the importance of asking questions in March.
2018 still holds many lessons and I look forward to unwrapping all its gifts.
- Naval Ravikant on Reading, Happiness, Systems for Decision Making, Habits, Honesty and More: Naval Ravikant is an incredibly deep thinker whose insights hold great wisdom. I listened to this talk 3 times and intend to listen to it many more times.
- Nevertheless, Sarah Chima Coded: Sarah Chima is going to do great things. They said she wouldn’t last long as a developer, she proved them wrong. In this piece, she shares her journey so far as a developer.
- If you haven’t realized it yet, I’m a big big fan of James Clear. He reminded me of the importance of doing the work and deliberate practice.
- Freaky Friday: thanks to this video, I realized how much I love myself and don’t want to be anyone else. It’s a funny and refreshingly creative watch.
Happy Easter and a warm welcome to April.