My experience at #microsoft over the last 4 years has been amazing. I have grown as an engineer and following principles have helped me a lot in my journey, making me a better version of myself.
A thread 🧵 👇
𝗥𝗲𝗮𝘀𝗼𝗻 𝗮𝗯𝗼𝘂𝘁 𝗯𝘂𝘀𝗶𝗻𝗲𝘀𝘀 𝘃𝗮𝗹𝘂𝗲
Your job isn’t just to write good code; your job is to make good decisions and help your company succeed, and that requires understanding what really matters. Reason about quality, feature-richness, and speed
𝗨𝗻𝗯𝗹𝗼𝗰𝗸 𝘆𝗼𝘂𝗿𝘀𝗲𝗹𝗳
Whenever you are blocked, find a way by persuasion, escalation, or technical creativity. Don't just sit and expect for the things to fall in place.
𝗧𝗮𝗸𝗲 𝗶𝗻𝗶𝘁𝗶𝗮𝘁𝗶𝘃𝗲
Don’t wait to be told; think about what needs doing and do it or advocate for it. Managers depend on the creativity and intelligence of their engineers
𝗜𝗺𝗽𝗿𝗼𝘃𝗲 𝘆𝗼𝘂𝗿 𝘄𝗿𝗶𝘁𝗶𝗻𝗴
Crisp technical writing eases collaboration and greatly improves your ability to persuade, inform, and teach. You have to dev design docs, one pagers explaining your approach, etc. Always include a tl;dr if it is a long piece
𝗢𝘄𝗻 𝘆𝗼𝘂𝗿 𝗽𝗿𝗼𝗷𝗲𝗰𝘁 𝗺𝗮𝗻𝗮𝗴𝗲𝗺𝗲𝗻𝘁
Understand the dependency graph for your project, write good summaries of plans and status, and proactively inform stakeholders of plans and progress. The last point is extremely crucial. Do not work in silos
𝗢𝘄𝗻 𝘆𝗼𝘂𝗿 𝗹𝗲𝗮𝗿𝗻𝗶𝗻𝗴𝘀
Pursue mastery of your craft. Your career should be a journey of constant growth, but no one else will ensure that you grow. Find a way to make learning part of your daily life.
𝗠𝗮𝘀𝘁𝗲𝗿 𝘆𝗼𝘂𝗿 𝘁𝗼𝗼𝗹𝘀
Mastery of editor, debugger, compiler, IDE, database, network tools, and Unix commands is incredibly empowering and likely the best way to increase your development speed.
𝗖𝗼𝗺𝗺𝘂𝗻𝗶𝗰𝗮𝘁𝗲 𝗽𝗿𝗼𝗮𝗰𝘁𝗶𝘃𝗲𝗹𝘆
Regular, well-organized communication builds confidence and good will in collaborators. Knowledge-sharing creates an atmosphere of learning and camaraderie. Give talks and speak up judiciously in meetings.
𝗕𝗲 𝗽𝗿𝗼𝗳𝗲𝘀𝘀𝗶𝗼𝗻𝗮𝗹 𝗮𝗻𝗱 𝗿𝗲𝗹𝗶𝗮𝗯𝗹𝗲
Think of yourself as a professional and act like one. Come to meetings on time and prepared, then pay attention. Keep your cool and express objections respectfully. Show your colleagues respect and appreciation.
Almost no one likes maintaining legacy codebases. May be because it involves fixing other people’s mistakes, or working with platforms that are now outdated.
I, myself have been through this, and that too at the start of my career, at Microsoft. It is pain.
(1/5)
We can and should design softwares in such a way that it will hopefully minimize pain during maintenance, and thus avoid creating legacy software ourselves.
For this, we should pay particular attention to these 3 design principles:
(2/5)
Operability:
Make it easy for operations teams to keep the system running smoothly. This includes proper monitoring and tracking (telemetry), keeping softwares up to date, establishing good practices in code, proper documentation, etc
(3/5)
It amazes me so much that to learn #flexbox, there are so many interactive websites, which help you learn by playing a game. Wanted to highlight a few that I have come across. Each one is simply brilliant 🚀
.
A thread 🧵👇🏻
Flex Box Adventure is an interactive adventure game allowing you to use your flexbox skills to assist the game character to solve 24 challenges. codingfantasy.com/games/flexboxa…
Knights of the Flexbox Table includes 18 “dungeons” to teach you flexbox. This course is unique because you’re not writing pure CSS, but instead, you’re using Tailwind CSS classes. knightsoftheflexboxtable.com
I have been a part of many hackathons; as a participant, as a mentor, as a judge. For me, hackathons are one of the best learning experiences that I have had and I have learnt a lot from them. Creating a thread of my learnings.
Must to follow points in a hackathon
🧵👇
1. Find a problem and then try to devise a solution for it. It always works this way. Don't try to have an idea or a solution first and try to fit a problem to it.
👇
2. Form an idea and do some preliminary research upon what all solutions/platforms are already working on that idea, find what new you are adding to that existing solution. Your idea doesn't have to be new. The way you execute it, can be. Try to find that X-Factor
👇