Kashif
business
personal growth
software engineering
my projects
software engineering
How to live without estimates
From my experience and by observing other companies, I've concluded that the companies who do estimates and set deadlines regularly move slowly as compared to those who don't.
over 1 year ago
Testing
Before you mark your PR ready for review, always test it manually as well. It is not the QA’s job. QA's job is to assure quality. Not to test your code. It is the developer’s job to test their code and make sure it’s functional.
over 1 year ago
Code Reviews
We should define a software engineer as someone who does rock-solid code reviews and writes code in their spare time. Not the other way around.
over 1 year ago
Releasing
Think of release as a train that features/PRs/developers have to catch. Not as a tool to ship a fix or features. Set a cadence and release. Do not wait for that one last PR to get merged in the trunk to release.
over 1 year ago
Security & Compliance
A local gym membership management system has very different security requirements than Twitter. Analyze the game you are playing and act accordingly.
over 1 year ago
Estimations
Most deadlines aren’t deadlines because a lot of them are breached and no one dies.
over 1 year ago
Making Money
With only a job, the probability of making it big is equivalent to the inverse of DynamoDB's uptime.
over 1 year ago
Promotions
If you ever feel like wanting to get a promotion, rethink your priorities until you no longer feel like that.
over 1 year ago
Finding a Job
A developer in a startup would have a hard time clearing interviews in a big organization and fitting in and vice versa is equally true.
over 1 year ago
Refactors
As Naval Ravikant said, 10000 iterations, not 10000 hours.
over 1 year ago
Making Games
There is a difference in the following: Making games because you like playing games. Making games to make money. Making games for a professional career. Making games for fun. In your career, understand your skin in the game and what game you are playing. Work accordingly.
almost 2 years ago
DevOps
Doing DevOps will make you a better engineer. Period.
almost 2 years ago
Infrastructure
Understand the basics and no matter how much I stress this, someone is still going to get an AWS Associate Architect certificate and be completely clueless about how to convert a computer into a server that securely hosts an API to serve/receive data.
almost 2 years ago
Programming Applications
After all the effort in studying the pros and cons and viability of a solution, if you are still stuck on deciding between two techs, flip a coin. Decisiveness goes a long way. Ditto for life choices.
almost 2 years ago
Managing Peers
Be willing to help others especially when they are blocked. Unblock others first. They will like you and be willing to return the favors. Be reliable, trustworthy, and avoid gossiping. Give direct and honest feedback when solicited.
almost 2 years ago
Managing Managers
A note of caution here is that if your manager is a project manager, do not ever aspire to take that seat. In good software companies, I believe that role would disappear in near future. It’s as redundant as “ueue” in Queue.
almost 2 years ago
Managing Reports
Ideally, you or your organization should hire people no one has to manage.
almost 2 years ago
Hiring
If a candidate’s interview feedback is not a “HELL YES!!!”, err on the side of rejecting a good resource than hiring an average one.
almost 2 years ago
Professionalism
You should have the ability to work according to the environment and expectations. A professional software engineer in a startup vs a corporate world can have very different and quite often contrasting skill sets.
almost 2 years ago
Communication
Be a good writer and you will become a good human being and certainly a superior professional.
almost 2 years ago