Posts
What We Learned About Feature Flags in Five Years
Looking at our git logs from Cisco AMP for Endpoints Console, I see that we introduced feature flags back in January, 2014. The reason I got interested in it is because even after all these years of use, today I had to build a new concept on our feature flag code. If you’re already using feature flags or thinking about adding feature flags to your project, this experience report may be helpful.
Posts
Software Architecture is all about Ugly Boxes and Lines - My Wishlist
In my last post, I claimed software architecture is all talk and no show. When we have a visible one, it’s a bunch of poorly drawn boxes and lines. I don’t have a problem with boxes or lines, but I do like beautiful drawings.
Despite many standards, we still mostly use whiteboard drawing of boxes and lines for sharing software design as we build new systems or introduce new team members.
Posts
All Talk No Show: Software Architecture
We have a problem with software architecture. Let’s face it. Find the architecture diagrams of the products you’re working on and answer these questions:
Did you find it? Does everyone in your team know where to find it? Is it up-to-date? Can you see how this system scales, handles failover, monitors performance, or how it’s secured? Can you see how it evolved over time? Can you train a new team-member using this diagram?
Posts
Play at Work
Image source: [Kalvis](https://www.flickr.com/photos/hgz/) “I am a mango”.
First, mangoes are in-season, and I still remember the juicy sweetness of the mango I had just the night before. So, when the coach asked each of us to be a fruit, I didn’t think twice. One of my coworkers was a kiwi, another one apple, and so on. The idea was to group us by color, then by size. This got us, twenty people in the class, moving and engaged.
Posts
Internal Trainings
Design Thinking course, Cisco Calgary Office, AB, 2019 One benefit of working at Cisco is access to the many learning and development resources. Our learning and development org arranges hundreds of courses throughout the year. Moreover, we have a reimbursement program for external courses, conferences, books, and subscriptions to online learning programs and publications.
In the past 6 years, I have immensely benefitted from these resources. Here’s a list of the learning resources I’ve used.
Posts
Polyglot YYC 2019: My First Unconference
Source: Polyglot YYC This weekend I went to Polyglot YYC 2019. It’s a gathering of tech people from around Calgary. The event was open to all possible topics, hence the name Polyglot. It was the first unconference style meetup I went to and this post is a summary of my day.
About the attendees, I don’t have the official count, but I imagine there were close to a hundred people.
Posts
Micro Design Critic: Microsoft Word vs. Apple Pages
Showing a Screenshot of Microsoft Word for Mac and Apple Pages
This is what you get by default when you open a blank document on both editors. I love that Apple Pages puts a deep focus on the content. If you haven’t used it, I’d recommend trying it out. I know Microsoft Word has a known face, so you’re likely used to all the distractions that sorrounds the content. But, if you can, give Apple Pages a try.
Posts
Exception Handling Anti-patterns
Source: [Henry Burrows](https://www.flickr.com/photos/foilman/2803261256/in/photolist-5gHrUC-5YEVYt-ocZHz7-2bDb3w8-aCGGSo-cB9opW-dUUDRS-6qbnVw-ppkgWu-cYsKjw-4HSS8t-aAJCk5-XBWQ5q-cYsKDA-NNefT4-p8HF-bfJwPB-6SibT9-ubSQL-mvaYX-7uNS7V-473w41-HABo5-5SL6FL-2f4rrkN-SazHLx-2eaMrNW-2eaMsbQ-24J1WkB-24CQREz-24CQR5g-bvyvt7-RvjAiK-6asxLk-9zRJ1e-6zLy6Z-9yuCpf-24FpgMX-95dVq3-hERZkd-4JKe8s-hESYoP-hESYnX-4oPtJ8-6gvogb-5skgvk-4Pu7Hp-8AmdYp-2t55t-24FpgYt) Whenever faced with a production issue, I find exceptions to be an extremely useful information source. A careful look at an exeption has often led to quick discovery of the source of a trouble. On the flip side, I have also faced a lot of chaotic debugging sessions because of poor exception handling. Here, I present the common anti-patterns that I recommend fixing while reviewing pull-requests. Most programmers are already familiar with the mechanics of exception handling.
Posts
“Ah, how good it is to be among people who are reading.”
Rainer Maria Rilke
All creators take a deep interest in the creations of others. All filmmakers watch a lot of movies, all good writers are also the most prolific readers, all artists can talk at length about the smallest pieces of art they have seen.
We, software developers, if we want to claim ourselves as the artists of this craft, we must be prolific readers of code. There’s been no better time as today.
Posts
How am I Developing the People I Support as a People Leader?
After being a people leader at work for the past six years, I’m now going through a phase of introspection. Essentially, I’m trying to understand my own philosophy about people leadership so that I can clearly communicate it to the people that I support.
My most important realization is, people leadership is all about developing people. What I mean by this is, for everyone I’m supporting, I must carefully build a plan that provides them with the opportunities to stay motivated so that they can thrive.