
Karachi Wala Developer
By Mashhood Rastgar

Karachi Wala DeveloperAug 10, 2021

EngineeringLeadershipPakistan - Lamak Qaizar @ Bazaar Tech
I had a great chat with Lamak, who works at one of the startups in Karachi called Bazaar Tech. We discussed several interesting topics including team structures, full stack development, performance reviews and more! Thanks Lamak for taking time out for this episode of EngineeringLeadershipPakistan.

EngineeringLeadershipPakistan - Asadullah Bin Yousuf @ Airlift
I had a great chat with Asadullah about his time in Airlift where he was an engineering manager leading a specific team. We talked about several management related topics, from the values at Airlift, life there as an engineering leader, performance management, hiring, engineering productivity and more!
You can also watch this on the KarachiWalaDeveloper Youtube channel.

EngineeringLeadershipPakistan - Hunain Kapadia @ SmartBenefits
This is the first episode of the all new series where I will be interviewing Engineering Leaders in Pakistan. We will be talking about leadership topics like CTO roles, hiring, performance reviews, feedback and more. In this episode we have Hunain Kapadia from Smart Benefits sharing about this experience building the some awesome tools in the insurance space.

Writing Good User Stories in Product teams
Software Engineers require instructions in order to build apps and tools. And most of us don't know what these instructions should look like. One of the ways these instructions can be shared is in the form of user stories, and it's not just about writing a bunch of text, but comprehensive check list of how this should be structured so the right information can be given to the builder. Ofcourse its a two way effort Product and Engineering need to work closely to build up such requirements so they make sense from a functionality perspective, and a technical perspective.
This session is based on the article linked below:
https://martinfowler.com/articles/product-backlog-building-canvas.html

Why I havn't applied to Google as a SE (yet).
Google, or any of the FAANG companies for that matter, are an awesome place to work. When I started by bachelors - I was thinking of graduating and then getting a job there, or build a pathway to a job there. However by the time I graduated, my mind set had changed. In this episode I explore my thoughts and reasoning on what changed my mind and why I havnt applied since.

Should you join a startup today?
With startups going bust left right and center, high inflation and a global recession - are startups still the right choice to be at? In this episode I talk about the difference between the companies treating engineering teams as a profit center vs a cost center, to show why startup engineering teams as usually a better choice even if there is a slightly higher risk being there.

How good is your company's Engineering Culture?
In this episode I break down a good engineering culture using two different culture tests from the web. We take a deep dive into the technical side of the culture first, followed by the work and management culture. How does your company score - what is the one thing you would change in your company to make it a better experience?

Why Should Every Developer Learn Javascript?
Javascript is one of my favourite languages out there. Im not sure if it just the familiarity with the language (have been using it since age 10) or the fast pace of change in the language space or the fact its being used on space craft - I think its a useful skill to have for anyone working in the software industry. Check out my rant on what makes JS so awesome according to me!

Understanding DORA metrics for Software Delivery Performance
As programmers we work hard all day to ensure we build the best products in the best technical way possible, and if that work isn't shipped to customers right away, we are unable to generate any value of it for the company / product. DevOps plays a critical role in our organisations today, and ensure we have an efficient production line shipping features to our customers is a part of it. In this episode we review how we can better understand and measure performance of our software delivery and what does it take to compete with the best out there.

Whats makes a good software engineer?
While mentoring some students with technical interviews, I documented what I find to be most important qualities of a software developer or engineer. While a quick google search online will find mixed reviews, most people feel that technical skills are most important. However I feel a bit differently about this, and in this episode share the things all software engineers should focus on and how they can improve them selves if lacking.

Before joining a startup
The recent failure of the startup Fast got me thinking of things one needs to be aware of while considering to join a startup and things to observe while working in one. This episode covers some basics to what you can do before and after joining which should help you prepare better for the risks involved while working in a startup.
This episode was inspired by the following post: https://newsletter.pragmaticengineer.com/p/the-scoop-fast?s=r

Understanding a Startups Technical Due Diligence...
Technical Due Diligence (DD) for startups is not something we think about until the time really comes in. When we get the list of questions or get asked those dreaded questions that we always knew would come to haunt us. In this episode I share about what is the process and what to expect from this, so that one can be better prepared when this happens.

Are you a T-Shaped Developer?
T-Shaped developers are those interested in learning across a breadth of technologies ranging from frontend to backend to devops. In this episode we try to understand why would we want to diversify vs specialise and is there a better option between the two?

Thinking about Engineering Analytics
Do you feel your team is very sluggish and not moving fast enough? Do you feel there are constant blockers which are stopping the features to get shipped? In this episode I dive into the world of engineering performance and what are some thing of the useful things you can measure, and which ones are not meant to be measured at all.

Understanding how ESOPs or Share Options work
You might have been reading about one of the dozen multi-million dollar investments made into startup recently. And you might be wondering how do I get a piece of that action. Most companies now offer their shares to employees through whats called an ESOP. This allows you to accrue value over time and if the company wins big - so do you! This and more in this episode.

Demystifying PCI DSS - Do I need it?
PCI DSS is a security standard certification which a company requires if they have card payment integrations on their websites. However its one of those topics which sounds scary, not talked about enough and is very specific to each company. So understanding even if it is a requirement for your company becomes a pain. In this episode I share my experience going through the certification with Sastaticket and what I learnt during that.

How do I write faster code?
In order to write faster code you need to understand (or profile) your current code and visually or numerically breakdown the pieces which need improvement. How do you do this? We use code profilers! In this episode we dive into the world of tweaking code performance and getting the most out of the hardware its running on.

Mono Repo vs Multi Repo
Mono repos is not a new concept - but one often visited by growing organisations to help reduce the overhead of managing thoses dozens of repos in the company. Is it better? Well that depends on the company and how they work. In this episode I go through the differences and reasons why one would consider a mono repo over a multi repo.

Do I need monitoring and observability for my web app?
Now a days even a simple CRUD based app can have a lot of moving parts - esp if deployed with something like Kubernetes. Our complex applications are growing even faster, interacting with many different libraries and handling greater and more variable loads. How do we get insight into whats really happening on the code level any more? Long gone are the days when a simple CPU usage alert would be enough to monitor most applications - today we need to monitor on different level and metrics to get a better picture of whats going on. This and more in this episode.

I bought a new mic for my podcast!
Many thanks to the GDE program for creating this initiative! In this episode I cover my learnings from buying my first "professional" mic - what are some of the things you need to know and how is my experience going so far with the mic I have bought.

Why do we need Typescript?
Typescript is becoming one of the popular languages to use - but do we really need it? How helpful are the typings we write? What makes it stand out from Javascript? This and more in this episode covering the use of Typescript, benefits of typings, and some things to look out for.

AWS EKS, ECS and EB - Containers Galore!
As Docker and Containerisation have taken over the world - we have many different options to deploy our apps to. Within the AWS ecosystem, we have a few options from EKS, ECS and ElasticBeanstalk. While the latter might sound like an outdated option in front of EKS and ECS, it is surprisingly useful - this and more in this weeks podcast.

You Dont Need A CTO
Gone are the days when we need tech teams to setup a simple website. Now a days we simply sign up like we do for Gmail and have everything setup in no time! And it costs just a few dollars per month. No Code tech is awesome and its here to make those mundane development roles redundant. With loads of new tools out there from making simple websites to building complex data entry apps or dashboards - the ecosystem is moving fast to empower the non-technical folks out there so build tech is more accessible and it becomes easier to innovate.

How to write better technical documention.
Writing documentation is not something we think about every day - but it is something we are interacting with on a daily basis. In a world of ever changing requirements and technology, if we are not documenting our technical journey properly - we are simply rebuilding the same wheel again and again. Documentation is at the core of any product, how its build, why it's built that way. And in this podcast we cover how we write this documentation in the best way possible. This is a summary of the technical writing course linked below.
Technical Writing Docs:
https://developers.google.com/tech-writing/one
Register for workshop here:
https://docs.google.com/forms/d/e/1FAIpQLSc26RofABVtJkF1gRE7Pm7u2RBd6NBRbdqtYVUxYD_DVKwVUg/viewform

Using Asynchronous Python with Celery
Writing async code is important when building any application. You dont want your threads to be blocked on http calls and db look ups - esp if the language you are using is single threaded! I was surprised to find that most code written in Python is synchronous though that is now rapidly changing. Writing asynchronous code right now means using libraries like Celery which do all the work in a separate process. What is it, how do we use it and how does it work - this and more in this episode.

10 tips in 10 minutes for a faster website
In this session, I collect all the tips and tricks I have been using over the last decade and bring them together for a short 10 min checklist for making your website super fast. You can bookmark this episode and run through the points every time your website needs a boost!

Looking for a Payment Gateway in Pakistan?
If you are building a services company or an e-commerce store in Pakistan - eventually you will realize you need to accept online payments. Normally this requires a Payment Gateway - a simple service you can sign up to and integrate in a matter of minutes into your platform. But its not that easy in Pakistan as yet. What are the options? What works and what doesnt work? All this and more in this weeks podcast.

Microservices vs Monoliths: which one is better?
Micro-services is the popular architecture pattern which has taken the world over by storm. The promise of small manageable applications with fast iterations and seamless efficient scaling has attracted many developers on taking on this as a default pattern for all their apps. But we should not be too quick dismiss the handy old monolith. In this episode we take a dive into micro-services to see if they are really that amazing underneath.

An Introduction to Continuous Integration
Continuous Integration (CI) is slowly becoming one of the main pillars for software development. As our software becomes more complex we add more and more tooling around it to automate, so we can focus on whats important - writing code. CI is what runs most of that tooling and keeps it out of the way.. until we need break something and it needs our attention. It gives us the confidence to deploy, again and again so that we move faster in this rapidly changing world.

Serverless with CloudFlare Workers?
Serverless architecture has become very popular over the last few years. In this episode we cover an introduction to this topic and talk about how Cloudflare Workers have implemented the serverless architecture. I share different ideas and thoughts on the ideology behind Cloudflare Workers and when they are most useful.

Wordpress Meets its Match: Next.JS
I recently rebuilt my personal website (imars.info) using NextJS and in this episode I share my experience in building it and my thoughts on the framework and how it compares to Wordpress which is something I have been using for a long time. _This is not sponsored content_

What is AMP HTML?
AMP enables the creation of websites and ads that are consistently fast, beautiful and high-performing across devices and distribution platforms. It is an opensource toolkit which can be used for static pages as well as dynamic ones. But why do we need AMP? And how does it make our web faster? This and more in this short introduction of AMP HTML.

Understanding Core Web Vitals: The Metrics
In this final episode of the Core Web Vital series, we bring together all that we have learnt and talk about the thing that matters the most - the 3 metrics set by Google which show how good or bad our website is currently performing. Largest Contentful Paint, First Input Delay and Cumulative Layout Shift - what are they, how are they calculated and how can we improve them? Just a few of the things I will share in this episode.

Understanding Core Web Vitals: Rendering a Page
How does a browser render an HTML page? In this episode we dive into the world of DOM, CSSOM and Critical Render Paths. We understand what makes our website loading slow and how can we remove it so it can be made faster.

Understanding Core Web Vitals: Why is our web so slow?
Core Web Vitals is the new standard set by Google to measure performance of our websites. In this multi-part series we will be covering on different aspects of web performance, starting with the basics. What makes a slow website and what are some of the things we need to keep in mind when reviewing our own website. In the upcoming episodes we will discuss what makes the website slow (technically) and how Core Vitals help us make it better.

Which mobile app is right for me? PWAs, Hybrids or Native.
In this episode I cover another very popular question I get - what kind of mobile app should I be building? With the rise of PWAs, Hybrids, Compile to Native, Flutter and native apps one does get lost in trying to figure out the best course of action. I try to explain the high level pros and cons for each and what really matter when making the decision for your mobile app.

How do implement a Design System?
In the previous episode we talked about what is the whole point of design systems, and if we need them or not. In this episode we cover a more technical perspective and discuss how do we go about building a design system from a flow perspective. We will also discuss some tools which can help us build this as well.

Design Sishtems
Here is another over hyped term. Every company seems to be making one now a days? But what is a design system really? How does it help you create better frontends? Is it really more than just a component library? Will be answering this and more in this episode.

Python vs Javascript
Another popular question I get asked is which language is best to start off with when learning programming. Here is a quick overview of the two languages, their similarity and differences and a quick discussion on what are something of the things to think about when choosing one of them.

Angular vs React
The most controversial topic in the frontend web space - which framework is better and which one should we spent time learning? The answer is not that straight forward! - I review both of them and share my perspective on what makes each the best.

How can I become a GDE?
One of the most frequently asked questions to me is on how does one become a GDE, and the next most popular is what is a GDE :) - so I have spent a few minutes explaining them both here!

Welcome
Welcome to Karachi Wala Developer Podcast! In this series, I will share a little about my experience about different technologies and things related to startups. My name is Mashhood and currently I am the CTO at Sastaticket, and Google Developer Expert for Web and Angular. I have been working since I was a kid, and now with the 10+ year professional experience under my belt, I will be using this micro-podcast medium to share my thoughts on different technical things.