BG - Background
Ok... I'm starting another new blog. But why?
One of the main reasons is that all my old blogs elsewhere are not related to the development world. There are blogs about my violin playing, which I'm a big fan of. Sports life like baseball, swimming, biking, and skiing is also something I can't live without, hence a blog when I have time. There are even blogs about my cooking at home and dining outside. Those are truly the place where I can escape from reality. Unfortunately, I last updated one of those 5 years ago.
So why am I starting this one?
Because I want to start documenting my life in the dev world.
NL - New Life
My previous dev life was simple: I've been a developer since high school. I wrote my first line of Perl and Javascript in 1998. I had my first income in 2001 as a "developer"! I sold my first TI-83 game to my friends in high school. From that point on, I know I'll be doing something with software in the future. I continue with Perl and Javascript, then VB, PHP, Objective C, Java, Classic ASP, Swift, Kotlin, Golang, NodeJS, TypeScript for Angular/React... etc. And it's not limited to programming language. I had my experiences in infrastructure, then DevOps, product/project management, team lead, solution architect, and even co-founding/founding a company! It's hard for me to go over all those experiences in an interview because the stories that happened, especially from the startup, can last over an hour. But even that, everything is simple: I sharpen my current skill, learn a new skill or two, and I'm off work.
Things changed a bit last year. I was hired for the position of Director of Engineering for a startup last year, which totally changed my perspective on many things. The most significant change that affects my many years of mindset is that I can no longer step in and code. I am already unable to spend 100% of my time coding when I'm a senior, team lead, or solution architect, but I still get about 30% of my time to get my hands dirty and work on them. However, as a director, I can't (and probably shouldn't). It is alarming.
NBA2C-ALARM - Not being able to code is alarming
Why is this alarming?
Because you can no longer have a clear view of why a particular project might need renegotiation of priorities or deadlines.
"Cliff, this can't be done in 3 days..."
"Why not? That seems easy enough. We only need to add an entry to a table, which should be about an hour. So 3 days are with buffer already..."
"Due to the time constraint, the value was hard-coded the last time we worked on it. We thought it was fine because it's not sensitive information. Unfortunately, it's hard-coded in the backend and hard-coded in the frontend with an enum. We don't even have the table to hold the value now. So now, not only do we need to work on the feature with those extra works, but we need to work on a solution to migrate about 100k data during deployment. We need to take care of the automation tests and everything. I think we need probably close to 2 weeks..."
Although I love software development as I can probably work 20 hours a day (especially now that with WFH, I can sleep a solid 3 hours and 55 minutes!) and still be able to finish in 3 days, I can't ask my team to do it.
This implies that the roadmap will be pushed! Not only are the business not happy that my team can't deliver on time with a simple requirement, but developers are also not happy why I agree with so many items to be put on the roadmap. It's a lose-lose situation.
Anyways, being in the leadership team is still a very fun experiences. I get to learn a lot of old things from a different perspective. In the future, I'll blog a bit of my director life and also write a few articles on how I would do thing. Until next time...
EOL
Top comments (0)