Be Visible

I came to realize that long-term career growth requires more than just technical expertise. It involves visibility, influence, and strategic thinking. Simply staying silent and completing tasks might not be enough to advance my career goals.

June 13, 2024 · 3 min

Got Stuck at Work?

Stuck? It happens. Whether you are working on a new project, building with external vendors, or even in design reviews — tackling how to name a variable, you might get stuck in between. Pretending all is well might seem tempting, but it’s a recipe for disaster.

Brag Now, Remember Later

How to keep track of your work log to help you write an effective self-review.

Leveling Up From Junior to Senior SWE in Flutter

Flutter burst onto the scene five years ago, promising beautiful apps with code you could write once and deploy everywhere. I get asked a lot, “What does it takes to become a Senior Enginer in Flutter?”.

Lessons From Work Communication

Earlier in my career, I often hesitated to be direct with my co-workers and managers as I try to be mindful of everyone’s circumstances and feelings. But, there are times, when things just seem difficult if you’re unclear about your expectations. You end up not getting what you want or need, and it can lead to misunderstandings and project delays. This is why at times, being direct is okay.

Leverage Writing

Writing is a powerful tool that can greatly benefit software engineers in many ways. It helps you to develop and organize ideas, improve grammar and vocabulary skills, and level up in your professional career.

Stay Productive at Work

Have you ever thought about yourself doing more by doing less? When I was just starting, I would spend most of my free time learning and working on side projects to fast-track my career and financial goals. Then, I eventually learned to prioritize, delegate and be more intentional with my working hours because now, I have limited time to look after other engineers and other moving parts of the business....

May 23, 2023 · 5 min

Deploy Widgetbook on Pull Requests

A sound design component library can accelerate a team’s development. It aligns everyone with a common design language and uses reusable components. In Flutter, you can create a component library using Widgetbook.

May 7, 2023 · 6 min

Build a ChatGPT-Powered Chatbot With Flutter

ChatGPT has stormed the internet in the last four months with its capabilities to understand and generate natural language with remarkable fluency and accuracy. OpenAI, the creator of ChatGPT, recently released a ChatGPT API that enables you to create a wide range of applications that require natural language processing, like chatbots, virtual assistants, and more.

Lessons from an SWE at

The world of work is changing rapidly, and the future of work is becoming increasingly digital. The rise of remote work and the gig economy has led to a new paradigm in how we work, and the demand for flexible and scalable work solutions has never been greater. Working remotely and freelancing enable meaningful work. “One of the greatest advantages of being a freelancer is deciding whom you want to work with....

February 12, 2023 · 4 min

Scalable CircleCI Workflows

Creating and maintaining your CI/CD workflows in a single config file in smaller projects or teams is still manageable. Circle CI provides a simple syntax in which you can use different environments or executors and write commands and jobs that can be reused in different workflows. But, if you add more Flutter build flavors and settings, write more kinds of tests, deploy on various app stores like Apple or Google Play Store, or work with a larger team, it’s challenging to write all of these in a single file....

December 22, 2022 · 6 min

Flutter Makefiles

Flutter comes with a rich set of commands to help you build your Flutter project features fast. You use these project commands to test or build your Flutter apps. These commands get complex when you have different build configurations and workflow automation. Often, you end up using a lot of commands, creating a bunch of shell scripts, and more. GNU Make or Make helps simplify commands you need for your Flutter project....

December 15, 2022 · 5 min

Improve iOS Build Times for Flutter

Slow builds, whether locally or in the CI, reduce developer productivity. If you integrated Firestore into your Flutter app, you might have experienced slow build times in your apps. There have been issues that outline the slow build times developers experience when Firestore is added as a dependency: [cloud_firestore] Xcode build extremely slow #349 Adding FirebaseFirestore pod dependency adds minutes to build time #4284 These issues affect the speed of getting out builds to testers and users, and it’s also expensive to pay for macOS CI machines on the cloud....

July 9, 2022 · 2 min

Deploy iOS apps to TestFlight using Fastlane and Semaphore

Continuous integration and deployment for iOS bring confidence to developers when shipping products to customers. TestFlight makes it easy for developers to publish apps to early beta testers, and Semaphore is a fast CI/CD service that supports iOS deployment to TestFlight.

Deploy iOS apps to Firebase using Semaphore

Deploying iOS apps to early testers helps you get feedback for improvements or detect issues early during development. Firebase App Distribution, or App Distribution, is a service that helps you deploy your Flutter apps to testers.

Continuous Integration for iOS Flutter Apps with Semaphore

Publishing iOS apps is a complex and tedious process in the developer community. The publishing process includes dealing with code signing the builds and the review process set by Apple to decide whether it meets their standards for public release. And to help you get there faster, you’ll need a good set of tooling for automating the tests and deployment of your app.

Deploy Android apps to Firebase using Semaphore

Building features and beautiful UIs is a satisfying feeling, but shipping them to users should be the goal to keep in mind. Having your app tested by real users before public release is a critical part of the software development cycle. In this article, you will learn how to distribute your Flutter Apps (on Android) to your testers using Firebase App Distribution and automate your deployments using Semaphore.

Five Key Areas For Personal Growth As A Software Developer

It’s been a few years since I started working as a professional software developer. I was lucky enough to join companies that operate at a different scale – from startups and SMEs to public companies. All while balancing my personal life with work and the developer community.

July 1, 2021 · 9 min

10 Tips to Secure Your Flutter Mobile Apps

Most of us depend on our devices daily for almost everything we do. Whether it’s for taking photos of our WFH setup, ordering food, shopping online, and banking, a lot of us do this using our mobile phones.

March 10, 2021 · 10 min

Deploy Flutter iOS Apps using GitHub Actions

This article will guide you on how you can automate the CI/CD workflow of your Flutter’s iOS app.

September 6, 2020 · 7 min