{"pageProps":{"allPostsData":[{"id":"2013-11-06-creating-a-self-contained-gem-installation","title":"Creating a self contained gem installation","date":"2013-11-06"},{"id":"2013-11-01-installing-ruby-gems-without-sudo","title":"Installing Ruby Gems without 'sudo'","date":"2013-11-01"},{"id":"2013-08-11-getting-battery-related-information-in-cocoa-osx-development","title":"Getting battery related information in Cocoa (OSX) development","date":"2013-08-11"},{"id":"2013-04-11-malware2-0","title":"Malware2.0","date":"2013-04-11"},{"id":"2013-03-04-ios-distributing-your-simulator-build-file","title":"iOS: Distributing your Simulator Build file","date":"2013-03-04"},{"id":"2013-02-20-piping-output-from-nstask-cocoa","title":"Piping output from NSTask (Cocoa)","date":"2013-02-20"},{"id":"2013-01-01-styling-nstextfields-cocoa-development","title":"Styling NSTextFields (Cocoa Development)","date":"2013-01-01"},{"id":"2012-12-31-xcode-tricks-building-and-archiving-programmatically-from-terminal","title":"Xcode tricks: Building and Archiving programmatically (from Terminal)","date":"2012-12-31"},{"id":"2012-12-07-using-datepicker-view-in-calabash-ios-ios6","title":"Using DatePicker view in Calabash iOS [iOS6]","date":"2012-12-07"},{"id":"2012-11-14-cocoa-install-using-gem-and-authorization-services-sudo","title":"Cocoa: Install using 'gem' and Authorization Services (sudo)","date":"2012-11-14"},{"id":"2012-11-11-easiest-way-to-install-update-ruby-on-a-mac","title":"Easiest way to install / update Ruby on a Mac","date":"2012-11-11"},{"id":"2012-11-01-a-tutorial-on-nstask-cocoa-development","title":"A Tutorial on NSTask (Cocoa Development)","date":"2012-11-01"},{"id":"2012-10-23-adding-a-search-box-in-a-shopify-liquid-template","title":"Adding a search box in a Shopify Liquid Template","date":"2012-10-23"},{"id":"2012-10-17-setting-up-websockets-between-ios-and-a-java-application","title":"Setting up WebSockets between iOS and a Java application","date":"2012-10-17"},{"id":"2012-10-05-phonegap-2-1-0-connection-detection-in-ios","title":"Phonegap 2.1.0 Connection Detection in iOS","date":"2012-10-05"},{"id":"2012-01-02-showing-an-alert-message-in-ios","title":"Showing an alert message in iOS","date":"2012-01-02"},{"id":"2011-02-15-making-iphone-compatible-websites","title":"Making iPhone Compatible Websites","date":"2011-02-15"},{"id":"2010-09-02-creating-a-folder-which-collects-only-unread-mail-apple-mail-app","title":"Creating a folder which collects only unread mail - Apple Mail.app","date":"2010-09-02"},{"id":"2010-08-12-mail-bouncing-creating-pop-account-buffer","title":"Mailbox overflow - Creating POP buffer account","date":"2010-08-12"},{"id":"2010-08-09-imars-info-updated-2","title":"imars.info Updated!","date":"2010-08-09"},{"id":"2010-05-15-future-of-software-testing","title":"Future of Software Testing","date":"2010-05-15"},{"id":"2010-03-23-my-groovy-project","title":"My Groovy Project","date":"2010-03-23"},{"id":"2010-03-23-a-mips-calculator","title":"A MIPS calculator","date":"2010-03-23"},{"id":"2009-12-12-a-groovy-gui-calculator","title":"a Groovy GUI Calculator...","date":"2009-12-12"},{"id":"2009-11-05-of-groovy-swing-lists","title":"of Groovy Swing Lists..","date":"2009-11-05"},{"id":"2009-09-13-imars-info-updated","title":"imars.info : Updated!","date":"2009-09-13"},{"id":"2009-09-10-adding-network-printer-to-mac-os-10-5","title":"Adding Network printer to Mac OS 10.5","date":"2009-09-10"},{"id":"2009-09-09-ajax-asp-tutorial","title":"AJAX ASP Tutorial...","date":"2009-09-09"},{"id":"2009-09-07-of-animation-popups-and-timers","title":"Of Animation, Popups and Timers..","date":"2009-09-07"}],"allPodcastData":[{"title":"EngineeringLeadershipPakistan - Lamak Qaizar @ Bazaar Tech","id":"52ff9f4d-eb2d-461b-8bfe-a8ad1477afa1","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/EngineeringLeadershipPakistan---Lamak-Qaizar--Bazaar-Tech-e1s44dp","link":"https://anchor.fm/mashhoodr/episodes/EngineeringLeadershipPakistan---Lamak-Qaizar--Bazaar-Tech-e1s44dp","author":"Mashhood Rastgar","created":1670819061000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:28:53","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/62050169/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fproduction%2Fexports%2F22de9c80%2F62050169%2F29d7486b6cc843495095833e3d90243c.m4a","length":"28030209","type":"audio/x-m4a"}]},{"title":"EngineeringLeadershipPakistan - Asadullah Bin Yousuf @ Airlift","id":"ba77332c-abc2-4882-a555-011759691d68","description":"

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! 

\n

You can also watch this on the KarachiWalaDeveloper Youtube channel.

","url":"https://anchor.fm/mashhoodr/episodes/EngineeringLeadershipPakistan---Asadullah-Bin-Yousuf--Airlift-e1q9bkg","link":"https://anchor.fm/mashhoodr/episodes/EngineeringLeadershipPakistan---Asadullah-Bin-Yousuf--Airlift-e1q9bkg","author":"Mashhood Rastgar","created":1667637394000,"category":[],"content":null,"itunes_summary":"

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! 

\n

You can also watch this on the KarachiWalaDeveloper Youtube channel.

","itunes_explicit":"No","itunes_duration":"00:31:03","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/60124240/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fproduction%2Fexports%2F22de9c80%2F60124240%2Fc51fe0d6d20338673ded4bb17c53955e.m4a","length":"30142348","type":"audio/x-m4a"}]},{"title":"EngineeringLeadershipPakistan - Hunain Kapadia @ SmartBenefits","id":"29d130d0-5d4a-4198-be59-37d60b395d0b","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/EngineeringLeadershipPakistan---Hunain-Kapadia--SmartBenefits-e1ovgav","link":"https://anchor.fm/mashhoodr/episodes/EngineeringLeadershipPakistan---Hunain-Kapadia--SmartBenefits-e1ovgav","author":"Mashhood Rastgar","created":1665743729000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:16:01","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/58752799/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fproduction%2Fexports%2F22de9c80%2F58752799%2Fc23f77b5731e63bd03f1206d6b1da8e7.m4a","length":"15546923","type":"audio/x-m4a"}]},{"title":"Writing Good User Stories in Product teams","id":"c801b4f6-fd3f-4e12-b22f-75ff78612b6a","description":"

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.

\n

This session is based on the article linked below:

\n

https://martinfowler.com/articles/product-backlog-building-canvas.html

","url":"https://anchor.fm/mashhoodr/episodes/Writing-Good-User-Stories-in-Product-teams-e1o9t3s","link":"https://anchor.fm/mashhoodr/episodes/Writing-Good-User-Stories-in-Product-teams-e1o9t3s","author":"Mashhood Rastgar","created":1664004060000,"category":[],"content":null,"itunes_summary":"

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.

\n

This session is based on the article linked below:

\n

https://martinfowler.com/articles/product-backlog-building-canvas.html

","itunes_explicit":"No","itunes_duration":"00:14:20","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/58044988/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fproduction%2Fexports%2F22de9c80%2F58044988%2Fac06b8e5714e5172062e284faa92f26e.m4a","length":"13920815","type":"audio/x-m4a"}]},{"title":"Why I havn't applied to Google as a SE (yet).","id":"d38dd66a-660c-439a-8108-1a66967dbd75","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Why-I-havnt-applied-to-Google-as-a-SE-yet-e1mg95v","link":"https://anchor.fm/mashhoodr/episodes/Why-I-havnt-applied-to-Google-as-a-SE-yet-e1mg95v","author":"Mashhood Rastgar","created":1660483860000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:08:11","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/56156799/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fproduction%2Fexports%2F22de9c80%2F56156799%2F48ae30d881ebd4f4202c67cd29a3c249.m4a","length":"7942442","type":"audio/x-m4a"}]},{"title":"Should you join a startup today?","id":"2d5ce091-42de-4d40-a22d-67d76d335491","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Should-you-join-a-startup-today-e1ljclb","link":"https://anchor.fm/mashhoodr/episodes/Should-you-join-a-startup-today-e1ljclb","author":"Mashhood Rastgar","created":1658572570000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:09:04","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/55210091/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fproduction%2Fexports%2F22de9c80%2F55210091%2F602d9d223ea96a6aa0c4ad69250d5255.m4a","length":"8811433","type":"audio/x-m4a"}]},{"title":"How good is your company's Engineering Culture?","id":"00e97c66-2643-4f57-81b3-fb0ca37dc0aa","description":"

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?

","url":"https://anchor.fm/mashhoodr/episodes/How-good-is-your-companys-Engineering-Culture-e1kdtrd","link":"https://anchor.fm/mashhoodr/episodes/How-good-is-your-companys-Engineering-Culture-e1kdtrd","author":"Mashhood Rastgar","created":1656143428000,"category":[],"content":null,"itunes_summary":"

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?

","itunes_explicit":"No","itunes_duration":"00:30:25","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/53982509/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fproduction%2Fexports%2F22de9c80%2F53982509%2Fa72a0b3ec4224b94ddfefa6b9e8b06bb.m4a","length":"29530822","type":"audio/x-m4a"}]},{"title":"Why Should Every Developer Learn Javascript?","id":"f044697d-64aa-4249-ae5e-abaff82a1243","description":"

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!

","url":"https://anchor.fm/mashhoodr/episodes/Why-Should-Every-Developer-Learn-Javascript-e1ja8i3","link":"https://anchor.fm/mashhoodr/episodes/Why-Should-Every-Developer-Learn-Javascript-e1ja8i3","author":"Mashhood Rastgar","created":1653996638000,"category":[],"content":null,"itunes_summary":"

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!

","itunes_explicit":"No","itunes_duration":"00:15:31","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/52813827/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fproduction%2Fexports%2F22de9c80%2F52813827%2Fc439f6105ad2be5bfd16b262f8f221c0.m4a","length":"15061145","type":"audio/x-m4a"}]},{"title":"Understanding DORA metrics for Software Delivery Performance","id":"103cdc32-52bf-4c3f-ab97-447ab92474f2","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Understanding-DORA-metrics-for-Software-Delivery-Performance-e1i6lhk","link":"https://anchor.fm/mashhoodr/episodes/Understanding-DORA-metrics-for-Software-Delivery-Performance-e1i6lhk","author":"Mashhood Rastgar","created":1651906978000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:12:20","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/51647476/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fproduction%2Fexports%2F22de9c80%2F51647476%2F99ee5bd9b30d81fd11357dc3d71c84b1.m4a","length":"11970037","type":"audio/x-m4a"}]},{"title":"Whats makes a good software engineer?","id":"9ff3ad28-3c7c-4c4c-8102-4df3b35457cd","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Whats-makes-a-good-software-engineer-e1hshr5","link":"https://anchor.fm/mashhoodr/episodes/Whats-makes-a-good-software-engineer-e1hshr5","author":"Mashhood Rastgar","created":1651305405000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:20:58","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/51316005/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fproduction%2Fexports%2F22de9c80%2F51316005%2F198dc135f5078b70a3c6ef33cf3a8cf7.m4a","length":"20348774","type":"audio/x-m4a"}]},{"title":"Before joining a startup","id":"d5ab9f75-3772-4229-a28f-5fb39214e3fb","description":"

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.

\n

This episode was inspired by the following post: https://newsletter.pragmaticengineer.com/p/the-scoop-fast?s=r

","url":"https://anchor.fm/mashhoodr/episodes/Before-joining-a-startup-e1gutfb","link":"https://anchor.fm/mashhoodr/episodes/Before-joining-a-startup-e1gutfb","author":"Mashhood Rastgar","created":1649494961000,"category":[],"content":null,"itunes_summary":"

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.

\n

This episode was inspired by the following post: https://newsletter.pragmaticengineer.com/p/the-scoop-fast?s=r

","itunes_explicit":"No","itunes_duration":"00:10:55","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/50344875/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fproduction%2Fexports%2F22de9c80%2F50344875%2F0bea1a7584a2bb878109e536ecb921d4.m4a","length":"10598577","type":"audio/x-m4a"}]},{"title":"Understanding a Startups Technical Due Diligence...","id":"6e744911-29cb-4fe7-a1ba-c3db2420c08f","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Understanding-a-Startups-Technical-Due-Diligence-e1agic9","link":"https://anchor.fm/mashhoodr/episodes/Understanding-a-Startups-Technical-Due-Diligence-e1agic9","author":"Mashhood Rastgar","created":1637287657000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:12:04","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/43583305/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2021-11-19%2F877afb6eba3e898f0000087a43962448.m4a","length":"11724339","type":"audio/x-m4a"}]},{"title":"Are you a T-Shaped Developer?","id":"995783dd-8b0e-40a9-9b79-e6464a0e567e","description":"

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?

","url":"https://anchor.fm/mashhoodr/episodes/Are-you-a-T-Shaped-Developer-e1634rg","link":"https://anchor.fm/mashhoodr/episodes/Are-you-a-T-Shaped-Developer-e1634rg","author":"Mashhood Rastgar","created":1629266359000,"category":[],"content":null,"itunes_summary":"

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?

","itunes_explicit":"No","itunes_duration":"00:10:20","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/38949168/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2021-08-18%2F4d8b832873637d7b57b70896bf3df5a7.m4a","length":"10029171","type":"audio/x-m4a"}]},{"title":"Thinking about Engineering Analytics","id":"5545df09-dba3-4add-b22c-9e195cbba0bc","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Thinking-about-Engineering-Analytics-e15nal1","link":"https://anchor.fm/mashhoodr/episodes/Thinking-about-Engineering-Analytics-e15nal1","author":"Mashhood Rastgar","created":1628595511000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:18:23","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/38561889/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2021-08-10%2Fc71c6ab984d6b9071b8c0404c73555a5.m4a","length":"17846483","type":"audio/x-m4a"}]},{"title":"Understanding how ESOPs or Share Options work","id":"f688d7dc-4f3c-4854-b240-e15af60da93d","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Understanding-how-ESOPs-or-Share-Options-work-e12ko21","link":"https://anchor.fm/mashhoodr/episodes/Understanding-how-ESOPs-or-Share-Options-work-e12ko21","author":"Mashhood Rastgar","created":1623474179000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:27:47","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/35331585/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2021-06-12%2Ffa8d73094833e1793a18efb61c6a1185.m4a","length":"26975717","type":"audio/x-m4a"}]},{"title":"Demystifying PCI DSS - Do I need it?","id":"1a2dae8e-66ae-41b4-b8b8-471137d6d95b","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Demystifying-PCI-DSS---Do-I-need-it-ev2vsq","link":"https://anchor.fm/mashhoodr/episodes/Demystifying-PCI-DSS---Do-I-need-it-ev2vsq","author":"Mashhood Rastgar","created":1618641940000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:15:16","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/31604058/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2021-04-17%2F4646710552895380a7926eb4889bb0d5.m4a","length":"14828903","type":"audio/x-m4a"}]},{"title":"How do I write faster code?","id":"c4b7896d-6f31-4e81-8602-700943d9b9f7","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/How-do-I-write-faster-code-eronrn","link":"https://anchor.fm/mashhoodr/episodes/How-do-I-write-faster-code-eronrn","author":"Mashhood Rastgar","created":1615013830000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:10:41","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/28122423/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2021-03-06%2F2a77ce0b9b878cb2099689e6a6d6512e.m4a","length":"10372387","type":"audio/x-m4a"}]},{"title":"Mono Repo vs Multi Repo","id":"8d8c2e01-a4ef-4740-b319-1dee94a2bf58","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Mono-Repo-vs-Multi-Repo-er5m17","link":"https://anchor.fm/mashhoodr/episodes/Mono-Repo-vs-Multi-Repo-er5m17","author":"Mashhood Rastgar","created":1614419336000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:11:58","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/27497959/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2021-02-27%2F7ebc45231908e03c481efdefadcdc06e.m4a","length":"11621974","type":"audio/x-m4a"}]},{"title":"Do I need monitoring and observability for my web app?","id":"706e1185-67c6-4704-9202-079f8e873229","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Do-I-need-monitoring-and-observability-for-my-web-app-eq0u9q","link":"https://anchor.fm/mashhoodr/episodes/Do-I-need-monitoring-and-observability-for-my-web-app-eq0u9q","author":"Mashhood Rastgar","created":1612594187000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:09:48","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/26294010/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2021-02-06%2F41e5e7a6daf91f95777e319291c3971b.m4a","length":"9518801","type":"audio/x-m4a"}]},{"title":"I bought a new mic for my podcast!","id":"f1b99d89-9d2b-4c76-9e79-6bbbfa19804f","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/I-bought-a-new-mic-for-my-podcast-epmf45","link":"https://anchor.fm/mashhoodr/episodes/I-bought-a-new-mic-for-my-podcast-epmf45","author":"Mashhood Rastgar","created":1612009895000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:07:47","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/25950789/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2021-01-30%2F07f35872fe9f2aba31c2d7e2867696a3.m4a","length":"7562377","type":"audio/x-m4a"}]},{"title":"Why do we need Typescript?","id":"79dbd22e-54dc-41c3-9ba3-ec8ebccec884","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Why-do-we-need-Typescript-epbpvj","link":"https://anchor.fm/mashhoodr/episodes/Why-do-we-need-Typescript-epbpvj","author":"Mashhood Rastgar","created":1611385876000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:10:54","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/25601459/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2021-01-23%2F32c81e3f5d6f8141ed3e43e7923a9a85.m4a","length":"10586394","type":"audio/x-m4a"}]},{"title":"AWS EKS, ECS and EB - Containers Galore!","id":"62c2a71d-967e-4616-96dc-99cb4c851cc9","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/AWS-EKS--ECS-and-EB---Containers-Galore-emi6co","link":"https://anchor.fm/mashhoodr/episodes/AWS-EKS--ECS-and-EB---Containers-Galore-emi6co","author":"Mashhood Rastgar","created":1605543896000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:09:10","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/22665048/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-11-16%2F741cce34e1a575964029afa23e92209f.m4a","length":"8909000","type":"audio/x-m4a"}]},{"title":"You Dont Need A CTO","id":"cbb144f1-4950-4682-9bdd-c90f91786a61","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/You-Dont-Need-A-CTO-em46v0","link":"https://anchor.fm/mashhoodr/episodes/You-Dont-Need-A-CTO-em46v0","author":"Mashhood Rastgar","created":1604681110000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:07:32","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/22206880/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-11-06%2F179eab696af5710e9ed0f755b1202c8e.m4a","length":"7314524","type":"audio/x-m4a"}]},{"title":"How to write better technical documention.","id":"06bff677-9cda-4090-b49f-4e4e3052f337","description":"

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.

\n

Technical Writing Docs: 

\n

https://developers.google.com/tech-writing/one

\n

Register for workshop here:

\n

https://docs.google.com/forms/d/e/1FAIpQLSc26RofABVtJkF1gRE7Pm7u2RBd6NBRbdqtYVUxYD_DVKwVUg/viewform

","url":"https://anchor.fm/mashhoodr/episodes/How-to-write-better-technical-documention-elpjvf","link":"https://anchor.fm/mashhoodr/episodes/How-to-write-better-technical-documention-elpjvf","author":"Mashhood Rastgar","created":1604051137000,"category":[],"content":null,"itunes_summary":"

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.

\n

Technical Writing Docs: 

\n

https://developers.google.com/tech-writing/one

\n

Register for workshop here:

\n

https://docs.google.com/forms/d/e/1FAIpQLSc26RofABVtJkF1gRE7Pm7u2RBd6NBRbdqtYVUxYD_DVKwVUg/viewform

","itunes_explicit":"No","itunes_duration":"00:11:04","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/21859759/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-10-30%2F735444b8fe6fe654af2e5fd2bb0261fb.m4a","length":"10740100","type":"audio/x-m4a"}]},{"title":"Using Asynchronous Python with Celery","id":"c050b211-e7b5-4368-8684-f224bbb8f187","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Using-Asynchronous-Python-with-Celery-ekj3ao","link":"https://anchor.fm/mashhoodr/episodes/Using-Asynchronous-Python-with-Celery-ekj3ao","author":"Mashhood Rastgar","created":1601826398000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:08:59","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/20597528/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-10-04%2F492542155ce1417082b46283503248ff.m4a","length":"8730586","type":"audio/x-m4a"}]},{"title":"10 tips in 10 minutes for a faster website","id":"1e2ca98a-9450-4f39-a184-593026759100","description":"

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!

","url":"https://anchor.fm/mashhoodr/episodes/10-tips-in-10-minutes-for-a-faster-website-ek0s9o","link":"https://anchor.fm/mashhoodr/episodes/10-tips-in-10-minutes-for-a-faster-website-ek0s9o","author":"Mashhood Rastgar","created":1600791309000,"category":[],"content":null,"itunes_summary":"

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!

","itunes_explicit":"No","itunes_duration":"00:09:36","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/20000504/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-8-22%2F4f5a0d6c-630a-5fb5-af06-b709f800ac8e.m4a","length":"18099966","type":"audio/x-m4a"}]},{"title":"Looking for a Payment Gateway in Pakistan?","id":"a3647fb9-fa05-4b9b-b9a6-15de8db19773","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Looking-for-a-Payment-Gateway-in-Pakistan-eje4no","link":"https://anchor.fm/mashhoodr/episodes/Looking-for-a-Payment-Gateway-in-Pakistan-eje4no","author":"Mashhood Rastgar","created":1599759045000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:10:31","itunes_season":"1","itunes_episode":"15","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/19386552/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-09-10%2F636f34a23f80c92df65eec0c35f3ab3d.m4a","length":"10211218","type":"audio/x-m4a"}]},{"title":"Microservices vs Monoliths: which one is better?","id":"8f0e0a2f-6a9f-4f74-b174-fb5865b8a6cf","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Microservices-vs-Monoliths-which-one-is-better-eigig6","link":"https://anchor.fm/mashhoodr/episodes/Microservices-vs-Monoliths-which-one-is-better-eigig6","author":"Mashhood Rastgar","created":1598102754000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:12:19","itunes_episode":"15","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/18417606/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-08-22%2Fd18c057d1363a9e6edfc153ad726ae40.m4a","length":"11964606","type":"audio/x-m4a"}]},{"title":"An Introduction to Continuous Integration","id":"abf5d7af-2cf2-4f43-97d8-eba733c54608","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/An-Introduction-to-Continuous-Integration-ei24i0","link":"https://anchor.fm/mashhoodr/episodes/An-Introduction-to-Continuous-Integration-ei24i0","author":"Mashhood Rastgar","created":1597252391000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:12:57","itunes_season":"1","itunes_episode":"13","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/17944576/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-08-12%2Fa334cb0aba341096746b1bf5b512a040.m4a","length":"12571167","type":"audio/x-m4a"}]},{"title":"Serverless with CloudFlare Workers?","id":"f45574d0-fa02-4483-8f8d-185cf92c2126","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Serverless-with-CloudFlare-Workers-ehmqjv","link":"https://anchor.fm/mashhoodr/episodes/Serverless-with-CloudFlare-Workers-ehmqjv","author":"Mashhood Rastgar","created":1596644729000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:09:45","itunes_season":"1","itunes_episode":"12","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/17573951/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-08-05%2F03b09c43e04b0217a318bd4bed0fd331.m4a","length":"9473011","type":"audio/x-m4a"}]},{"title":"Wordpress Meets its Match: Next.JS","id":"90a62488-0db8-4d7d-b6c2-5f42d75fb67c","description":"

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_

","url":"https://anchor.fm/mashhoodr/episodes/Wordpress-Meets-its-Match-Next-JS-ehaiqe","link":"https://anchor.fm/mashhoodr/episodes/Wordpress-Meets-its-Match-Next-JS-ehaiqe","author":"Mashhood Rastgar","created":1595872476000,"category":[],"content":null,"itunes_summary":"

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_

","itunes_explicit":"No","itunes_duration":"00:09:10","itunes_season":"1","itunes_episode":"11","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/17172750/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-07-27%2F45dceaf46b09aca6ffd1680e79ae7a14.m4a","length":"8910108","type":"audio/x-m4a"}]},{"title":"What is AMP HTML?","id":"6ba3ba4e-1bf8-459a-be2d-3a53e77cbb6e","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/What-is-AMP-HTML-egkjkn","link":"https://anchor.fm/mashhoodr/episodes/What-is-AMP-HTML-egkjkn","author":"Mashhood Rastgar","created":1594623600000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:11:04","itunes_season":"1","itunes_episode":"9","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/16452695/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-07-12%2Fba0f32fd9e1d8b49c882e5b5fd176c30.m4a","length":"10753868","type":"audio/x-m4a"}]},{"title":"Understanding Core Web Vitals: The Metrics","id":"da0c9c0e-d864-40a2-8c8f-25db2c128be8","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Understanding-Core-Web-Vitals-The-Metrics-egfn0u","link":"https://anchor.fm/mashhoodr/episodes/Understanding-Core-Web-Vitals-The-Metrics-egfn0u","author":"Mashhood Rastgar","created":1594228180000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:13:29","itunes_episode":"9","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/16292318/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-07-08%2F0e1c8b1751982b9f2621544cfb08574d.m4a","length":"13094171","type":"audio/x-m4a"}]},{"title":"Understanding Core Web Vitals: Rendering a Page","id":"b349e27a-4f6c-4df3-8b89-9f94f3d68193","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Understanding-Core-Web-Vitals-Rendering-a-Page-efjpkq","link":"https://anchor.fm/mashhoodr/episodes/Understanding-Core-Web-Vitals-Rendering-a-Page-efjpkq","author":"Mashhood Rastgar","created":1592968743000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:09:07","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/15377498/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fproduction%2F2020-5-18%2F83383351-48000-2-20e60905f7269.m4a","length":"15192006","type":"audio/x-m4a"}]},{"title":"Understanding Core Web Vitals: Why is our web so slow?","id":"b4dfe83f-af64-48b3-94a9-420f03647569","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Understanding-Core-Web-Vitals-Why-is-our-web-so-slow-eff17k","link":"https://anchor.fm/mashhoodr/episodes/Understanding-Core-Web-Vitals-Why-is-our-web-so-slow-eff17k","author":"Mashhood Rastgar","created":1592288890000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:07:55","itunes_season":"1","itunes_episode":"7","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/15221428/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-06-16%2Fda1902f9a9accea69ffd1117ae67e736.m4a","length":"7687391","type":"audio/x-m4a"}]},{"title":"Which mobile app is right for me? PWAs, Hybrids or Native.","id":"2b914bfb-9617-44e0-85a3-c1a6536789d1","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Which-mobile-app-is-right-for-me--PWAs--Hybrids-or-Native-eeujkt","link":"https://anchor.fm/mashhoodr/episodes/Which-mobile-app-is-right-for-me--PWAs--Hybrids-or-Native-eeujkt","author":"Mashhood Rastgar","created":1591188138000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:14:11","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/14683229/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-06-03%2F1a19c4933591d7ce40430d865d8e27c2.m4a","length":"13764509","type":"audio/x-m4a"}]},{"title":"How do implement a Design System?","id":"fd019888-82df-4a7c-8e1a-92ced98f9fad","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/How-do-implement-a-Design-System-eep726","link":"https://anchor.fm/mashhoodr/episodes/How-do-implement-a-Design-System-eep726","author":"Mashhood Rastgar","created":1590842474000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:12:55","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/14506502/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-05-30%2Fce98e2220fd37d563cd9edfb0874df05.m4a","length":"12544560","type":"audio/x-m4a"}]},{"title":"Design Sishtems","id":"294df114-cfcf-4a4d-be2d-2c89b50a5dab","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Design-Sishtems-eejh6m","link":"https://anchor.fm/mashhoodr/episodes/Design-Sishtems-eejh6m","author":"Mashhood Rastgar","created":1590596032000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:10:33","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/14320278/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-05-27%2Fd580592cfa69068d359483bc0b53286f.m4a","length":"10245984","type":"audio/x-m4a"}]},{"title":"Python vs Javascript","id":"b897f752-15d7-4b02-8bf7-29f0812496f2","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Python-vs-Javascript-eejf3o","link":"https://anchor.fm/mashhoodr/episodes/Python-vs-Javascript-eejf3o","author":"Mashhood Rastgar","created":1590596007000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:11:53","itunes_season":"1","itunes_episode":"3","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/14318136/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-05-27%2F7af9fc4c4ffa27906d5b56e0066190ac.m4a","length":"11533226","type":"audio/x-m4a"}]},{"title":"Angular vs React","id":"767f7faa-6412-4f75-b14e-5e0bab209871","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Angular-vs-React-eeesu7","link":"https://anchor.fm/mashhoodr/episodes/Angular-vs-React-eeesu7","author":"Mashhood Rastgar","created":1590595986000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:11:37","itunes_season":"1","itunes_episode":"2","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/14168455/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-05-27%2F0a58f000e5a0d18d3e79aecb06020ad8.m4a","length":"11276710","type":"audio/x-m4a"}]},{"title":"How can I become a GDE?","id":"028d1945-25fb-4cfb-bfd8-81fe943ee8a4","description":"

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!

","url":"https://anchor.fm/mashhoodr/episodes/How-can-I-become-a-GDE-eeghb6","link":"https://anchor.fm/mashhoodr/episodes/How-can-I-become-a-GDE-eeghb6","author":"Mashhood Rastgar","created":1590425349000,"category":[],"content":null,"itunes_summary":"

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!

","itunes_explicit":"No","itunes_duration":"00:10:29","itunes_season":"1","itunes_episode":"1","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/14222118/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-05-25%2Fc73aaf2d7be8953c46e4b2dc8cbede30.m4a","length":"10178253","type":"audio/x-m4a"}]},{"title":"Welcome","id":"c642f1ce-f6bf-4a25-96cd-0fe807a819a0","description":"

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.

","url":"https://anchor.fm/mashhoodr/episodes/Welcome-eehlm2","link":"https://anchor.fm/mashhoodr/episodes/Welcome-eehlm2","author":"Mashhood Rastgar","created":1590425206000,"category":[],"content":null,"itunes_summary":"

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.

","itunes_explicit":"No","itunes_duration":"00:04:20","itunes_season":"1","itunes_episode_type":"full","enclosures":[{"url":"https://anchor.fm/s/22de9c80/podcast/play/14259330/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2020-4-25%2F76512911-48000-2-31a98e6a6ff6c.m4a","length":"4213937","type":"audio/x-m4a"}]}],"allBooksReadData":[{"title":"The Five Dysfunctions of a Team: A Leadership Fable","id":9433400768524.1,"description":"\"The
\n author: Patrick Lencioni
\n rating: 4
\n review:
An excellent story outlining how to identify a broken team, and work with them to bring it back together. Excellent actionable points, helped me better understand my team as well.
","url":"https://www.goodreads.com/review/show/4936003188?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/4936003188?utm_medium=api&utm_source=rss","created":1661142031000,"category":[],"content":null,"enclosures":[]},{"title":"The Unicorn Project","id":47729953204894.44,"description":"\"The
\n author: Gene Kim
\n rating: 4
\n review:
Really enjoyed this story of building leadership, and getting things done when everything around you just isnt working out.
","url":"https://www.goodreads.com/review/show/4936001132?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/4936001132?utm_medium=api&utm_source=rss","created":1661141968000,"category":[],"content":null,"enclosures":[]},{"title":"Surrounded by Idiots","id":108476956577807,"description":"\"Surrounded
\n author: Thomas Erikson
\n rating: 4
\n review:
Awesome perspective on how different people think / act different. Helped me understand why I struggled to work with some people and was completely in sync with others.
","url":"https://www.goodreads.com/review/show/4899221889?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/4899221889?utm_medium=api&utm_source=rss","created":1659777029000,"category":[],"content":null,"enclosures":[]},{"title":"An Elegant Puzzle: Systems of Engineering Management","id":71334969992489.06,"description":"\"An
\n author: Will Larson
\n rating: 4
\n review:
Really enjoyed the perspectives shared in this book - not only does it allow you to better understand how different teams are coming together and working, but also works as a reference book when you are running into specific challenges!
","url":"https://www.goodreads.com/review/show/4835153861?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/4835153861?utm_medium=api&utm_source=rss","created":1657345550000,"category":[],"content":null,"enclosures":[]},{"title":"Powerful: Building a Culture of Freedom and Responsibility","id":109387710759572.9,"description":"\"Powerful:
\n author: Patty McCord
\n rating: 5
\n review:

","url":"https://www.goodreads.com/review/show/4833595164?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/4833595164?utm_medium=api&utm_source=rss","created":1657286663000,"category":[],"content":null,"enclosures":[]},{"title":"Be Our Guest: Perfecting the Art of Customer Service","id":150725245760399.12,"description":"\"Be
\n author: The Disney Institute
\n rating: 5
\n review:

","url":"https://www.goodreads.com/review/show/4833592048?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/4833592048?utm_medium=api&utm_source=rss","created":1657286533000,"category":[],"content":null,"enclosures":[]},{"title":"Extreme Ownership: How U.S. Navy SEALs Lead and Win","id":76549222781146.83,"description":"\"Extreme
\n author: Jocko Willink
\n rating: 4
\n review:

","url":"https://www.goodreads.com/review/show/4833591252?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/4833591252?utm_medium=api&utm_source=rss","created":1657286498000,"category":[],"content":null,"enclosures":[]},{"title":"Quiet: The Power of Introverts in a World That Can't Stop Talking","id":166992438608414.28,"description":"\"Quiet:
\n author: Susan Cain
\n rating: 4
\n review:

","url":"https://www.goodreads.com/review/show/4833590358?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/4833590358?utm_medium=api&utm_source=rss","created":1657286461000,"category":[],"content":null,"enclosures":[]},{"title":"Blink: The Power of Thinking Without Thinking","id":124886816834479.95,"description":"\"Blink:
\n author: Malcolm Gladwell
\n rating: 4
\n review:

","url":"https://www.goodreads.com/review/show/4833590244?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/4833590244?utm_medium=api&utm_source=rss","created":1657286456000,"category":[],"content":null,"enclosures":[]},{"title":"Thinking, Fast and Slow","id":127102075556118.23,"description":"\"Thinking,
\n author: Daniel Kahneman
\n rating: 5
\n review:

","url":"https://www.goodreads.com/review/show/4833590033?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/4833590033?utm_medium=api&utm_source=rss","created":1657286448000,"category":[],"content":null,"enclosures":[]},{"title":"Rich Dad, Poor Dad","id":17493243973688.809,"description":"\"Rich
\n author: Robert T. Kiyosaki
\n rating: 4
\n review:

","url":"https://www.goodreads.com/review/show/4833589518?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/4833589518?utm_medium=api&utm_source=rss","created":1657286426000,"category":[],"content":null,"enclosures":[]},{"title":"Start with Why: How Great Leaders Inspire Everyone to Take Action","id":143156544010581.56,"description":"\"Start
\n author: Simon Sinek
\n rating: 4
\n review:

","url":"https://www.goodreads.com/review/show/4833589310?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/4833589310?utm_medium=api&utm_source=rss","created":1657286417000,"category":[],"content":null,"enclosures":[]},{"title":"The 7 Habits of Highly Effective People: Powerful Lessons in Personal Change","id":141411501101374.4,"description":"\"The
\n author: Stephen R. Covey
\n rating: 4
\n review:

","url":"https://www.goodreads.com/review/show/4833589258?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/4833589258?utm_medium=api&utm_source=rss","created":1657286415000,"category":[],"content":null,"enclosures":[]},{"title":"Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones","id":156467713176105.4,"description":"\"Atomic
\n author: James Clear
\n rating: 4
\n review:

","url":"https://www.goodreads.com/review/show/4833588691?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/4833588691?utm_medium=api&utm_source=rss","created":1657286391000,"category":[],"content":null,"enclosures":[]},{"title":"The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses","id":78508218552538.55,"description":"\"The
\n author: Eric Ries
\n rating: 4
\n review:

","url":"https://www.goodreads.com/review/show/4833588356?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/4833588356?utm_medium=api&utm_source=rss","created":1657286377000,"category":[],"content":null,"enclosures":[]},{"title":"Zero to One: Notes on Startups, or How to Build the Future","id":23470567807924.688,"description":"\"Zero
\n author: Peter Thiel
\n rating: 5
\n review:

","url":"https://www.goodreads.com/review/show/4833588277?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/4833588277?utm_medium=api&utm_source=rss","created":1657286373000,"category":[],"content":null,"enclosures":[]},{"title":"Digital Fortress","id":165904502355623.75,"description":"\"Digital
\n author: Dan Brown
\n rating: 5
\n review:

","url":"https://www.goodreads.com/review/show/408311628?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/408311628?utm_medium=api&utm_source=rss","created":1346910860000,"category":[],"content":null,"enclosures":[]},{"title":"Deception Point","id":157282325170493.44,"description":"\"Deception
\n author: Dan Brown
\n rating: 4
\n review:

","url":"https://www.goodreads.com/review/show/408311622?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/408311622?utm_medium=api&utm_source=rss","created":1346910859000,"category":[],"content":null,"enclosures":[]},{"title":"How to Stop Worrying and Start Living","id":67953793031334.45,"description":"\"How
\n author: Dale Carnegie
\n rating: 5
\n review:

","url":"https://www.goodreads.com/review/show/408311436?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/408311436?utm_medium=api&utm_source=rss","created":1346910805000,"category":[],"content":null,"enclosures":[]},{"title":"Who Moved My Cheese?","id":129933857765026.3,"description":"\"Who
\n author: Spencer Johnson
\n rating: 5
\n review:

","url":"https://www.goodreads.com/review/show/408311320?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/408311320?utm_medium=api&utm_source=rss","created":1346910790000,"category":[],"content":null,"enclosures":[]},{"title":"How to Win Friends and Influence People","id":30483695063816.668,"description":"\"How
\n author: Dale Carnegie
\n rating: 5
\n review:

","url":"https://www.goodreads.com/review/show/408311306?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/408311306?utm_medium=api&utm_source=rss","created":1346910786000,"category":[],"content":null,"enclosures":[]},{"title":"Great Expectations","id":17781986343712.133,"description":"\"Great
\n author: Charles Dickens
\n rating: 1
\n review:

","url":"https://www.goodreads.com/review/show/408311139?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/408311139?utm_medium=api&utm_source=rss","created":1346910753000,"category":[],"content":null,"enclosures":[]},{"title":"Twilight (The Twilight Saga, #1)","id":101755632394408.38,"description":"\"Twilight
\n author: Stephenie Meyer
\n rating: 1
\n review:

","url":"https://www.goodreads.com/review/show/408310935?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/408310935?utm_medium=api&utm_source=rss","created":1346910714000,"category":[],"content":null,"enclosures":[]},{"title":"Harry Potter and the Sorcerer's Stone (Harry Potter, #1)","id":18193421513765.203,"description":"\"Harry
\n author: J.K. Rowling
\n rating: 3
\n review:

","url":"https://www.goodreads.com/review/show/408310831?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/408310831?utm_medium=api&utm_source=rss","created":1346910692000,"category":[],"content":null,"enclosures":[]},{"title":"The Hunger Games (The Hunger Games, #1)","id":530043853334.4567,"description":"\"The
\n author: Suzanne Collins
\n rating: 1
\n review:

","url":"https://www.goodreads.com/review/show/408310819?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/408310819?utm_medium=api&utm_source=rss","created":1346910689000,"category":[],"content":null,"enclosures":[]},{"title":"Angels & Demons (Robert Langdon, #1)","id":44255712563014.83,"description":"\"Angels
\n author: Dan Brown
\n rating: 4
\n review:

","url":"https://www.goodreads.com/review/show/408310740?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/408310740?utm_medium=api&utm_source=rss","created":1346910673000,"category":[],"content":null,"enclosures":[]},{"title":"Purple Cow: Transform Your Business by Being Remarkable","id":38162485532596.66,"description":"\"Purple
\n author: Seth Godin
\n rating: 5
\n review:

","url":"https://www.goodreads.com/review/show/408310551?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/408310551?utm_medium=api&utm_source=rss","created":1346910632000,"category":[],"content":null,"enclosures":[]},{"title":"The World Is Flat: A Brief History of the Twenty-first Century","id":81858455346775.53,"description":"\"The
\n author: Thomas L. Friedman
\n rating: 5
\n review:

","url":"https://www.goodreads.com/review/show/408310496?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/408310496?utm_medium=api&utm_source=rss","created":1346910618000,"category":[],"content":null,"enclosures":[]},{"title":"Steve Jobs","id":73222753724493.97,"description":"\"Steve
\n author: Walter Isaacson
\n rating: 5
\n review:

","url":"https://www.goodreads.com/review/show/408310384?utm_medium=api&utm_source=rss","link":"https://www.goodreads.com/review/show/408310384?utm_medium=api&utm_source=rss","created":1346910590000,"category":[],"content":null,"enclosures":[]}],"allBlogData":[{"title":"Why Consultancies Lack Ownership","id":"https://mashhoodr.substack.com/p/why-consultancies-lack-ownership","description":"Working with a consultancy will get you access to talent and experience - but how you use it really depends on the quality of output you get.","url":"https://mashhoodr.substack.com/p/why-consultancies-lack-ownership","link":"https://mashhoodr.substack.com/p/why-consultancies-lack-ownership","author":"Mashhood Rastgar","created":1675399427000,"category":[],"content":"

I have seen many startups engage consultancies - esp. when they are not sure if they want to build a team in house. One of the biggest issues I usually see with that - consultancies are not designed to own any of the decision they make. For them (in most cases) it's just a project which lasts a few months or may be a year or so. This often leads to optimisations for delivery than for the product itself. Thus you can often see poor architectural decisions, spaghetti code, lack of testing and planning in general in most of these cases.

From those working in consultancy - one feels they are learning a lot by working on different \"projects\" but in reality the real learning doesn't happen when you are writing that code - it happens 2 years later when you are trying to change it and its breaking all over the place. You don’t really get to experience the product itself.

From the video, Steve Jobs says:

\"I dont think there is anything inherently evil with consulting - I think that without owning something over an extended period of time, like a few years where one has a chance to take responsibility for ones recommendations - where one has to see ones recommendations through all action stages and accumulate scar tissue for the mistakes and dust them selves off - one learns a fraction of what one can.\"

So should startups not use consultancies at all? I think they can - but the real value to a startup is only generated when you have someone in house who knows how to use that talent. If you expect to “outsource” everything - then you have no idea what you are getting in return, and usually one finds out about this towards the end of the project.

Share

Please consider subscribing.

","content_encoded":"

I have seen many startups engage consultancies - esp. when they are not sure if they want to build a team in house. One of the biggest issues I usually see with that - consultancies are not designed to own any of the decision they make. For them (in most cases) it's just a project which lasts a few months or may be a year or so. This often leads to optimisations for delivery than for the product itself. Thus you can often see poor architectural decisions, spaghetti code, lack of testing and planning in general in most of these cases.

From those working in consultancy - one feels they are learning a lot by working on different \"projects\" but in reality the real learning doesn't happen when you are writing that code - it happens 2 years later when you are trying to change it and its breaking all over the place. You don’t really get to experience the product itself.

From the video, Steve Jobs says:

\"I dont think there is anything inherently evil with consulting - I think that without owning something over an extended period of time, like a few years where one has a chance to take responsibility for ones recommendations - where one has to see ones recommendations through all action stages and accumulate scar tissue for the mistakes and dust them selves off - one learns a fraction of what one can.\"

So should startups not use consultancies at all? I think they can - but the real value to a startup is only generated when you have someone in house who knows how to use that talent. If you expect to “outsource” everything - then you have no idea what you are getting in return, and usually one finds out about this towards the end of the project.

Share

Please consider subscribing.

","enclosures":[{"url":"https://substackcdn.com/image/youtube/w_728,c_limit/-c4CNB80SRc","length":"0","type":"image/jpeg"}]},{"title":"On Management.","id":"https://mashhoodr.substack.com/p/on-management","description":"Most people think management is about \"getting work done\" - however for good managers that is never the focus, that is the result of good management.","url":"https://mashhoodr.substack.com/p/on-management","link":"https://mashhoodr.substack.com/p/on-management","author":"Mashhood Rastgar","created":1665225908000,"category":[],"content":"

One of my most important tasks is to work on mentorship for our leaders at Sastaticket - and coming across such guides such as this are always a welcome.

https://review.firstround.com/stop-overcomplicating-it-the-simple-guidebook-to-upping-your-management-game

It is a false understanding that management is about “getting work done”. And even when one is told and guided about this, we often fall into this trap again and again. Only with time, training and perseverance do we start climbing out of this pit of micro-management and deadlines and start to understand the values of trust, vision, inspiration and helping the team in order to achieve the goals set.

Trust is probably the most over-rated one. It’s the hardest one to build, and the easiest one to loose. The voice at the back of your head will constantly doubt, but over time you will learnt to control it. And understand that empowerment is the only way forward.

Feedback is the least used tool in our arsenal. A strong, and continuous feedback process is critical for any team - and more importantly feedback does not only go downwards (to the team members) but also upwards, self (reflection) and peers. Its only when we get the 360 degree view of ourselves do we understand the gaps - but unfortunately creating a culture of feedback is easier said than done. The above post also recommends manager effectiveness surveys, which also help identify weak areas across the company.

One of my favourite videos on this topic so far is done by Seth Godin. He does a great job in explaining the difference between Management and Leadership - and how not to do management which will only create mindless drones for your organisation.

Please consider subscribing.

","content_encoded":"

One of my most important tasks is to work on mentorship for our leaders at Sastaticket - and coming across such guides such as this are always a welcome.

https://review.firstround.com/stop-overcomplicating-it-the-simple-guidebook-to-upping-your-management-game

It is a false understanding that management is about “getting work done”. And even when one is told and guided about this, we often fall into this trap again and again. Only with time, training and perseverance do we start climbing out of this pit of micro-management and deadlines and start to understand the values of trust, vision, inspiration and helping the team in order to achieve the goals set.

Trust is probably the most over-rated one. It’s the hardest one to build, and the easiest one to loose. The voice at the back of your head will constantly doubt, but over time you will learnt to control it. And understand that empowerment is the only way forward.

Feedback is the least used tool in our arsenal. A strong, and continuous feedback process is critical for any team - and more importantly feedback does not only go downwards (to the team members) but also upwards, self (reflection) and peers. Its only when we get the 360 degree view of ourselves do we understand the gaps - but unfortunately creating a culture of feedback is easier said than done. The above post also recommends manager effectiveness surveys, which also help identify weak areas across the company.

One of my favourite videos on this topic so far is done by Seth Godin. He does a great job in explaining the difference between Management and Leadership - and how not to do management which will only create mindless drones for your organisation.

Please consider subscribing.

","enclosures":[{"url":"https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/e07cd8db-050c-4292-8e75-fa1112bb221b_400x400.png","length":"0","type":"image/jpeg"}]},{"title":"Adobe has agreed to acquire Figma.","id":"https://mashhoodr.substack.com/p/adobe-acquires-figma","description":"Probably one of the bigger acquisitions for this decade, and an interesting one since Figma had been a direct competitor to Adobes tools.","url":"https://mashhoodr.substack.com/p/adobe-acquires-figma","link":"https://mashhoodr.substack.com/p/adobe-acquires-figma","author":"Mashhood Rastgar","created":1663302561000,"category":[],"content":"

Some exciting news from the #startup world. Everyone's favourite design tool Figma got bought by potentially one of the more hated companies out there, Adobe - for 20 BILLON USD! :O

Just to get a sense of how much MORE that is to similar startups in that ecosystem:

\"Twitter
Gergely Orosz @GergelyOrosz
For those saying they are disappointed that Figma sold for ~$20B vs waiting to go public. Public companies worth less than this:\n- Box $3.8B\n- Dropbox $8B\n- Etsy $14B\n- Twilio $14B\n- Pinterest $16B\n- Coinbase $17B\n- Expedia $17B\n- Snap: $19.4B\n- Spotify $19.6B\n\nI say good choice.
\"Twitter
Gergely Orosz @GergelyOrosz
2021 was the year when startups raising money did it on valuations that have almost all collapsed by now. Figma raised at a ~$10B valuation then.\n\nThe fact that they are selling to Adobe for close to double is nothing short of remarkable (also shows Adobe desperately needs Figma) https://t.co/N8u7OK9XBs
2:55 PM ∙ Sep 15, 2022
1,530Likes185Retweets

So that is crazy money - why would Adobe pay this much for Figma? Simply because Figma was taking over the design world which Adobe had monopolised for decades with the likes of Photoshop, Lightroom and more.

Im a personal user of all these tools, and 10 years ago they had the best product market fit out there. Their tools were the best and easiest to use, and because of this they were the most popular. However over the last decade their tools feel more rugged, less collaborative and require more compute resources to run. And just like that looks like Figma, took off and became a big threat to Adobe.

Lesson learnt - marketing can only go so far to get your users. If you stop focusing on the product market fit long enough, users will stop coming since they will have found something better. Not to say Adobe was not innovating, but I believe they stop listening to their users some time ago (which is why they have a general negative perception around them).

A lovely quote I read on an HN discussion:

I find myself coming back to this Steve Jobs quote more and more:

\"It turns out the same thing can happen in technology companies that get monopolies, like IBM or Xerox. If you were a product person at IBM or Xerox, so you make a better copier or computer. So what? When you have monopoly market share, the company's not any more successful. So the people that can make the company more successful are sales and marketing people, and they end up running the companies. And the product people get driven out of the decision making forums, and the companies forget what it means to make great products. The product sensibility and the product genius that brought them to that monopolistic position gets rotted out by people running these companies that have no conception of a good product versus a bad product. They have no conception of the craftsmanship that's required to take a good idea and turn it into a good product. And they really have no feeling in their hearts, usually, about wanting to really help the customers.\"

Creatives build companies, and if you are not careful, sales will destroy them. [1]

Finally - the most exciting thing as usual, it’s the money itself.

@figma, which @Adobe buying for ~$40.20 per share:\\n\\n$0.088: @dannyrimer/@IndexVentures, @semil, Jacobsen/OATV\\nA $0.199: @johnolilly/@GreylockVC \\nB $0.332: @mamoonha/@kleinerperkins \\nC $1.098: @andrew__reed/@sequoia \\nD $4.619: Peter Levine/@a16z","username":"RolfeWinkler","name":"Rolfe Winkler","date":"Thu Sep 15 17:04:41 +0000 2022","photos":[],"quoted_tweet":{},"retweet_count":392,"like_count":3444,"expanded_url":{},"video_url":null,"belowTheFold":true}\">
\"Twitter
Rolfe Winkler @RolfeWinkler
What investors first paid for @figma, which @Adobe buying for ~$40.20 per share:\n\n$0.088: @dannyrimer/@IndexVentures, @semil, Jacobsen/OATV\nA $0.199: @johnolilly/@GreylockVC \nB $0.332: @mamoonha/@kleinerperkins \nC $1.098: @andrew__reed/@sequoia \nD $4.619: Peter Levine/@a16z
5:04 PM ∙ Sep 15, 2022
3,444Likes392Retweets

So thats 40X up if you joined up front, and 10x up from Series D. Thats some gains! But also to keep in mind 9 out of 10 startups fail, and probably a few in 100s give this much gains.

Please consider subscribing.

[1] https://news.ycombinator.com/item?id=32850178

","content_encoded":"

Some exciting news from the #startup world. Everyone's favourite design tool Figma got bought by potentially one of the more hated companies out there, Adobe - for 20 BILLON USD! :O

Just to get a sense of how much MORE that is to similar startups in that ecosystem:

\"Twitter
Gergely Orosz @GergelyOrosz
For those saying they are disappointed that Figma sold for ~$20B vs waiting to go public. Public companies worth less than this:\n- Box $3.8B\n- Dropbox $8B\n- Etsy $14B\n- Twilio $14B\n- Pinterest $16B\n- Coinbase $17B\n- Expedia $17B\n- Snap: $19.4B\n- Spotify $19.6B\n\nI say good choice.
\"Twitter
Gergely Orosz @GergelyOrosz
2021 was the year when startups raising money did it on valuations that have almost all collapsed by now. Figma raised at a ~$10B valuation then.\n\nThe fact that they are selling to Adobe for close to double is nothing short of remarkable (also shows Adobe desperately needs Figma) https://t.co/N8u7OK9XBs
2:55 PM ∙ Sep 15, 2022
1,530Likes185Retweets

So that is crazy money - why would Adobe pay this much for Figma? Simply because Figma was taking over the design world which Adobe had monopolised for decades with the likes of Photoshop, Lightroom and more.

Im a personal user of all these tools, and 10 years ago they had the best product market fit out there. Their tools were the best and easiest to use, and because of this they were the most popular. However over the last decade their tools feel more rugged, less collaborative and require more compute resources to run. And just like that looks like Figma, took off and became a big threat to Adobe.

Lesson learnt - marketing can only go so far to get your users. If you stop focusing on the product market fit long enough, users will stop coming since they will have found something better. Not to say Adobe was not innovating, but I believe they stop listening to their users some time ago (which is why they have a general negative perception around them).

A lovely quote I read on an HN discussion:

I find myself coming back to this Steve Jobs quote more and more:

\"It turns out the same thing can happen in technology companies that get monopolies, like IBM or Xerox. If you were a product person at IBM or Xerox, so you make a better copier or computer. So what? When you have monopoly market share, the company's not any more successful. So the people that can make the company more successful are sales and marketing people, and they end up running the companies. And the product people get driven out of the decision making forums, and the companies forget what it means to make great products. The product sensibility and the product genius that brought them to that monopolistic position gets rotted out by people running these companies that have no conception of a good product versus a bad product. They have no conception of the craftsmanship that's required to take a good idea and turn it into a good product. And they really have no feeling in their hearts, usually, about wanting to really help the customers.\"

Creatives build companies, and if you are not careful, sales will destroy them. [1]

Finally - the most exciting thing as usual, it’s the money itself.

@figma, which @Adobe buying for ~$40.20 per share:\\n\\n$0.088: @dannyrimer/@IndexVentures, @semil, Jacobsen/OATV\\nA $0.199: @johnolilly/@GreylockVC \\nB $0.332: @mamoonha/@kleinerperkins \\nC $1.098: @andrew__reed/@sequoia \\nD $4.619: Peter Levine/@a16z","username":"RolfeWinkler","name":"Rolfe Winkler","date":"Thu Sep 15 17:04:41 +0000 2022","photos":[],"quoted_tweet":{},"retweet_count":392,"like_count":3444,"expanded_url":{},"video_url":null,"belowTheFold":true}\">
\"Twitter
Rolfe Winkler @RolfeWinkler
What investors first paid for @figma, which @Adobe buying for ~$40.20 per share:\n\n$0.088: @dannyrimer/@IndexVentures, @semil, Jacobsen/OATV\nA $0.199: @johnolilly/@GreylockVC \nB $0.332: @mamoonha/@kleinerperkins \nC $1.098: @andrew__reed/@sequoia \nD $4.619: Peter Levine/@a16z
5:04 PM ∙ Sep 15, 2022
3,444Likes392Retweets

So thats 40X up if you joined up front, and 10x up from Series D. Thats some gains! But also to keep in mind 9 out of 10 startups fail, and probably a few in 100s give this much gains.

Please consider subscribing.

[1] https://news.ycombinator.com/item?id=32850178

","enclosures":[{"url":"https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/e07cd8db-050c-4292-8e75-fa1112bb221b_400x400.png","length":"0","type":"image/jpeg"}]},{"title":"Giving Requirements to Engineering.","id":"https://mashhoodr.substack.com/p/giving-requirements-to-engineering","description":"The hardest thing about engineering is communication. If you do not communicate your requirements correctly, do not expect the right product to be built.","url":"https://mashhoodr.substack.com/p/giving-requirements-to-engineering","link":"https://mashhoodr.substack.com/p/giving-requirements-to-engineering","author":"Mashhood Rastgar","created":1663128133000,"category":[],"content":"

When starting or working in a product company, one of the most common questions I get is around how to build the engineering team - most feel that it is one of the bigger challenges to do with building the product. However over the last decade, I have seen time and time again, once the engineers are onboarded - they get a poorly written document outlining the scope or a verbal instruction on what they should implement. While this can work in a few rare cases, I believe most of us need a slightly more structured approach to communicating what needs to be built from engineering.

If you are looking to understand on how to write user stories, then this blog post (and the associated book) are an excellent resource to start off from.

https://martinfowler.com/articles/product-backlog-building-canvas.html

We are not trying to document every detail

It’s very common for some teams to fall in the trap to document every last detail about what needs to be build far into the future. If we are doing that, then we are working in a waterfall approach. We are however trying to document the smallest possible deliverable we should like to ship in order to add value to our product. Ideally this requirement can be delivered in a single sprint.

I dont think it can be better said then by Ben Horowitz in his popular article “Good Product Manager / Bad Product Manager”:

Good product managers crisply define the target, the “what” (as opposed to the how) and manage the delivery of the “what.”

Writing is an art.

Perhaps the biggest problem with the list of shalls is the fact that it doesn’t give the stakeholder a feeling of how the product behaves. There is a long list of things the product needs to do but no information about how the product will do it. Without a feeling for how the user will interact with the product stakeholders often seem to be less engaged. They start to take the approach of indifference with the requirements solicitation phase so that development can “hurry up and start” so that they can see how the product works. This ends badly because it results in changes at the end of the project when refactoring is expensive.

https://blog.devgenius.io/the-hardest-thing-about-engineering-is-requirements-28a6a70c4db4

The first problem most of us in Pakistan run into is finding someone who has good writing skills. And that too in English (Urdu would be an option if we were any better in that). Writing a requirement or user story in a concise and accurate way is definitely a rare skill, and requires mostly to be learnt over time as you write more and more user stories. And then it’s not just about the user stories, as mentioned in the article above, we also need to document our acceptance criteria, non-functional requirements and more. All this usually creates a pretty large overhead for most product teams to create and maintain, and requires a lot of discipline to do so.

Reading is not black and white.

Unfortunately for most of us, our problems only get started. While everything is getting documented, everyone (yes everyone) has to also read it, discuss it and derive the tasks from it. So while we might be able to get away with just POs being good writers on the team, we need everyone on the team to be good readers. Everyone on the team should critically analyse each requirement, ask questions and clarify any ambiguity. We should be looking for conflicting requirements, and potential feature creep. This is often not the case (again a problem for any team where English is not their first language) which often leads to mis-communication.

User Stories should not be written only by product team.

Originally, anyone on an agile team used to write User Stories to communicate the work to be done. However, over time, largely driven by the expansion of the Scrum framework, the Product Owner became the primary person writing these stories and organizing them into a product backlog. However, anyone can (and should) write a User Story. Fábio Aguiar and I wrote our book about the Product Backlog Building technique to help everyone on the team write good user stories.

This excerpt is from the article linked above, easy to miss even though it’s right in the start. This small change has a large impact - because documentation becomes everyones responsibility. Engineers can no longer say, a particular requirement isnt documented, they are now part of the process. They also need to document the technical requirements for the given stories. QA teams writing test cases can enhance any edge cases the acceptance criteria is missing. Design teams can point out UX specific notes.

Product development is a collaborative process.

Another common mistake is for product owners to write the complete document / user story before involving other team members into the picture. So design, engineering, product, data and even quality teams need work together to outline the requirement and design the solution. This is easier said than done, each team is busy with their own work, and organising such cross functional meetings can be a huge pain for the product team. Too many of these meetings can lead to reduced focus, and pressure on delivery. This is exactly why most Big Tech companies have cross functional teams where design/engineering/product/qa/data are part of one unit working to deliver a single objective. However the balance between meeting is still something which the team need to figure out internally.

","content_encoded":"

When starting or working in a product company, one of the most common questions I get is around how to build the engineering team - most feel that it is one of the bigger challenges to do with building the product. However over the last decade, I have seen time and time again, once the engineers are onboarded - they get a poorly written document outlining the scope or a verbal instruction on what they should implement. While this can work in a few rare cases, I believe most of us need a slightly more structured approach to communicating what needs to be built from engineering.

If you are looking to understand on how to write user stories, then this blog post (and the associated book) are an excellent resource to start off from.

https://martinfowler.com/articles/product-backlog-building-canvas.html

We are not trying to document every detail

It’s very common for some teams to fall in the trap to document every last detail about what needs to be build far into the future. If we are doing that, then we are working in a waterfall approach. We are however trying to document the smallest possible deliverable we should like to ship in order to add value to our product. Ideally this requirement can be delivered in a single sprint.

I dont think it can be better said then by Ben Horowitz in his popular article “Good Product Manager / Bad Product Manager”:

Good product managers crisply define the target, the “what” (as opposed to the how) and manage the delivery of the “what.”

Writing is an art.

Perhaps the biggest problem with the list of shalls is the fact that it doesn’t give the stakeholder a feeling of how the product behaves. There is a long list of things the product needs to do but no information about how the product will do it. Without a feeling for how the user will interact with the product stakeholders often seem to be less engaged. They start to take the approach of indifference with the requirements solicitation phase so that development can “hurry up and start” so that they can see how the product works. This ends badly because it results in changes at the end of the project when refactoring is expensive.

https://blog.devgenius.io/the-hardest-thing-about-engineering-is-requirements-28a6a70c4db4

The first problem most of us in Pakistan run into is finding someone who has good writing skills. And that too in English (Urdu would be an option if we were any better in that). Writing a requirement or user story in a concise and accurate way is definitely a rare skill, and requires mostly to be learnt over time as you write more and more user stories. And then it’s not just about the user stories, as mentioned in the article above, we also need to document our acceptance criteria, non-functional requirements and more. All this usually creates a pretty large overhead for most product teams to create and maintain, and requires a lot of discipline to do so.

Reading is not black and white.

Unfortunately for most of us, our problems only get started. While everything is getting documented, everyone (yes everyone) has to also read it, discuss it and derive the tasks from it. So while we might be able to get away with just POs being good writers on the team, we need everyone on the team to be good readers. Everyone on the team should critically analyse each requirement, ask questions and clarify any ambiguity. We should be looking for conflicting requirements, and potential feature creep. This is often not the case (again a problem for any team where English is not their first language) which often leads to mis-communication.

User Stories should not be written only by product team.

Originally, anyone on an agile team used to write User Stories to communicate the work to be done. However, over time, largely driven by the expansion of the Scrum framework, the Product Owner became the primary person writing these stories and organizing them into a product backlog. However, anyone can (and should) write a User Story. Fábio Aguiar and I wrote our book about the Product Backlog Building technique to help everyone on the team write good user stories.

This excerpt is from the article linked above, easy to miss even though it’s right in the start. This small change has a large impact - because documentation becomes everyones responsibility. Engineers can no longer say, a particular requirement isnt documented, they are now part of the process. They also need to document the technical requirements for the given stories. QA teams writing test cases can enhance any edge cases the acceptance criteria is missing. Design teams can point out UX specific notes.

Product development is a collaborative process.

Another common mistake is for product owners to write the complete document / user story before involving other team members into the picture. So design, engineering, product, data and even quality teams need work together to outline the requirement and design the solution. This is easier said than done, each team is busy with their own work, and organising such cross functional meetings can be a huge pain for the product team. Too many of these meetings can lead to reduced focus, and pressure on delivery. This is exactly why most Big Tech companies have cross functional teams where design/engineering/product/qa/data are part of one unit working to deliver a single objective. However the balance between meeting is still something which the team need to figure out internally.

","enclosures":[{"url":"https://substackcdn.com/image/fetch/w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe07cd8db-050c-4292-8e75-fa1112bb221b_400x400.png","length":"0","type":"image/jpeg"}]},{"title":"Understanding Deployment Pain.","id":"https://mashhoodr.substack.com/p/understanding-deployment-pain","description":"A deploy a day keeps the project manager away? It might be more tricky than you think.","url":"https://mashhoodr.substack.com/p/understanding-deployment-pain","link":"https://mashhoodr.substack.com/p/understanding-deployment-pain","author":"Mashhood Rastgar","created":1662344165000,"category":[],"content":"
\"\"
quote from the book “Accelerate by Jez Humble”



One of the core metrics for Engineering productivity is the frequency of deployments, measured by \"number of deploys per day per developer\".

According to the book \"Accelerate by Jez Humble\" - the high performing teams deploy at the significantly increasing frequency as their team scales. This of course helps the business deliverables move faster as we add more people, not slower.

So how do we achieve this increasing frequency? By decreasing the deployment pain. The book answers:

\"teams that implement comprehensive test and deployment Automation ; use continuous integration, including trunk based development; shift left on security; effectively manage test data; use loosely coupled architectures; can work independently; and use version control of everything required to reproduce the production environment decrease their deployment pain\"

So lets break down the things mentioned in the list above:

In the start your deployments are manual, the pain might not be so high initially (may be just a quick git pull and restarting the server?) but as the team grows, and complexity grows - you will have a more complex build pipeline, and a checklist of things to follow on every deployment. The risk of breaking the live environment increases, more steps mean greater chance of breaking something. And over time, your team will start to avoid deploying altogether - they want to play it safe. The mental drain of each deployment becomes too high, so the frequency of it gets reduced.

So the most important thing to understand is that a core part of reducing deployment pain is automation. Starting from deployment automation and then automated tests. Without these two the others have little effect on deployment pain. It’s when you start focusing on these two - another two factors will come into play, loosely coupled architectures and working independently. You will realize that deploying a large monolith comprising of 100s of services is harder than deploying any one service of them. This might lead to refactoring some code, or even writing new services so we can reduce deployment pain.

\"\"
Quote from Allen Holub on Twitter

Another important point some companies make the mistakes of - considering “sprints” as review cadence rather than deployment cadence. I have seen many companies feel that deployment is done once a sprint and at the end of that sprint. Some products do have a restrictive cycle, esp. if hardware is involved - but for most of us there is no hard in shipping code on a daily basis.

Finally, just shipping fast does not ensure value generation for the business. It is also important to build the \"goal oriented generative culture” so we can also measure if our deploys are generating the required value to the business as well.

Upcoming addition:

\"Twitter
Gergely Orosz @GergelyOrosz
If you think that big tec uses testing/staging envs… think again. Shipping to production is the new “staging”… BUT with plenty of guardrails. Facebook, Uber, and Twitter all work like that. With tenancies, feature flags, staged rollout.\n\nWrote more about it (cont’d):
\"Twitter
Amjad Masad ⠕ @amasad
I find this incredibly hard to believe from the so called “twitter whistleblower”:\n\n“Twitter doesn’t have a development, testing, or staging environments… just has the production environment and engineers use it for testing & development — all on live data.”
8:42 AM ∙ Sep 14, 2022
67Likes9Retweets

How creating multiple additional staging / QA environments add to the deployment pain.

Please consider subscribing.

","content_encoded":"
\"\"
quote from the book “Accelerate by Jez Humble”



One of the core metrics for Engineering productivity is the frequency of deployments, measured by \"number of deploys per day per developer\".

According to the book \"Accelerate by Jez Humble\" - the high performing teams deploy at the significantly increasing frequency as their team scales. This of course helps the business deliverables move faster as we add more people, not slower.

So how do we achieve this increasing frequency? By decreasing the deployment pain. The book answers:

\"teams that implement comprehensive test and deployment Automation ; use continuous integration, including trunk based development; shift left on security; effectively manage test data; use loosely coupled architectures; can work independently; and use version control of everything required to reproduce the production environment decrease their deployment pain\"

So lets break down the things mentioned in the list above:

In the start your deployments are manual, the pain might not be so high initially (may be just a quick git pull and restarting the server?) but as the team grows, and complexity grows - you will have a more complex build pipeline, and a checklist of things to follow on every deployment. The risk of breaking the live environment increases, more steps mean greater chance of breaking something. And over time, your team will start to avoid deploying altogether - they want to play it safe. The mental drain of each deployment becomes too high, so the frequency of it gets reduced.

So the most important thing to understand is that a core part of reducing deployment pain is automation. Starting from deployment automation and then automated tests. Without these two the others have little effect on deployment pain. It’s when you start focusing on these two - another two factors will come into play, loosely coupled architectures and working independently. You will realize that deploying a large monolith comprising of 100s of services is harder than deploying any one service of them. This might lead to refactoring some code, or even writing new services so we can reduce deployment pain.

\"\"
Quote from Allen Holub on Twitter

Another important point some companies make the mistakes of - considering “sprints” as review cadence rather than deployment cadence. I have seen many companies feel that deployment is done once a sprint and at the end of that sprint. Some products do have a restrictive cycle, esp. if hardware is involved - but for most of us there is no hard in shipping code on a daily basis.

Finally, just shipping fast does not ensure value generation for the business. It is also important to build the \"goal oriented generative culture” so we can also measure if our deploys are generating the required value to the business as well.

Upcoming addition:

\"Twitter
Gergely Orosz @GergelyOrosz
If you think that big tec uses testing/staging envs… think again. Shipping to production is the new “staging”… BUT with plenty of guardrails. Facebook, Uber, and Twitter all work like that. With tenancies, feature flags, staged rollout.\n\nWrote more about it (cont’d):
\"Twitter
Amjad Masad ⠕ @amasad
I find this incredibly hard to believe from the so called “twitter whistleblower”:\n\n“Twitter doesn’t have a development, testing, or staging environments… just has the production environment and engineers use it for testing & development — all on live data.”
8:42 AM ∙ Sep 14, 2022
67Likes9Retweets

How creating multiple additional staging / QA environments add to the deployment pain.

Please consider subscribing.

","enclosures":[{"url":"https://substackcdn.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F80b8ce26-d3c3-4489-8876-47566211599e_650x775.jpeg","length":"0","type":"image/jpeg"}]},{"title":"Thoughts on Time Management","id":"https://mashhoodr.substack.com/p/thoughts-on-time-management","description":"Some times it feels like good time management can solve everything in our lives, if only we had time for it. It is possible learn this mystic art with a few conscious steps.","url":"https://mashhoodr.substack.com/p/thoughts-on-time-management","link":"https://mashhoodr.substack.com/p/thoughts-on-time-management","author":"Mashhood Rastgar","created":1661488286000,"category":[],"content":"
\"\"
from Hyper-focus by Chris Bailey

Time management is one of the trickiest to do well. Personally being an efficiency maniac - i enjoy optimising every single minute of my day, and evaluating it to see if I could have used it better. Once you start doing this, you have time for *everything* - its just a matter of balance and trade offs.

For those looking to analyse their time more, I would recommend the following:

Daily Task Journal

A daily task journal to track what you are up to. I personally use Evernote for this. I would recommend:

You cant improve which you do not measure.

Spending time on your tasks is fine, but we are doing soo many other things during the day, including getting distracting things like social media and Youtube etc. You can use different tools to track apps on your laptop/phone, your physical activities, calendar for meetings and other tools for things like sleep. The ones I use are below:

Once you have a sense of where your time is going - you can then start optimising it. For optimisation, the rule is very simple, you are looking to remove the distractions as much as possible, and then reduce things which are not important by either delegating them or automating them.

Sleep is more important than you think

\"The moment the alarm goes off is the first test; it sets the tone for the rest of the day. The test is not a complex one: when the alarm goes off, do you get up out of bed, or do you lie there in comfort and fall back to sleep? If you have the discipline to get out of bed, you win—you pass the test. If you are mentally weak for that moment and you let that weakness keep you in bed, you fail. Though it seems small, that weakness translates to more significant decisions. But if you exercise discipline, that too translates to more substantial elements of your life.\" - Extreme Ownership by Jocko

Sleep takes about 30% of the time in our life, and has the largest impact on productivity during the day. This is the single best optimization you can do to your life. Everyone is different and some people are better at getting away with sleep than others, but everyone does eventually need to rest to ensure best output.

I have already talked about measuring sleep. I would also recommend understanding it more. Get a feel for what works for you, helps you start fresh in the morning and helps you stay focused during the day. For _most_ people having a regular pattern (i.e. fixed time for going to sleep and waking up) has a an overall positive effect on your sleep cycles.

One common “issue” with waking up I have seen is an un-optimised sleep cycle (i.e. waking up during deep sleep cycle). Study them to get a better understanding of how this can work better for you.

Multi-tasking does work for specific cases.

While this is not something you should be looking to do all the time, there are specific combinations where this is useful. Things where you are doing some repetitive work, which doesn’t require your full focus - like some low intensity exercise, commuting etc are ideal times to spend listening to audio books, podcasts or even spend some time in deep thought. Once you actively start looking for opportunities you will find such options within your daily activities.

#goldenrule
Don't try to make everything time efficient - some things like spending time on your family and religion are not designed to be optimised.

This is an evolving article and I will keep adding more thoughts to this over time.

Please consider subscribing.

","content_encoded":"
\"\"
from Hyper-focus by Chris Bailey

Time management is one of the trickiest to do well. Personally being an efficiency maniac - i enjoy optimising every single minute of my day, and evaluating it to see if I could have used it better. Once you start doing this, you have time for *everything* - its just a matter of balance and trade offs.

For those looking to analyse their time more, I would recommend the following:

Daily Task Journal

A daily task journal to track what you are up to. I personally use Evernote for this. I would recommend:

You cant improve which you do not measure.

Spending time on your tasks is fine, but we are doing soo many other things during the day, including getting distracting things like social media and Youtube etc. You can use different tools to track apps on your laptop/phone, your physical activities, calendar for meetings and other tools for things like sleep. The ones I use are below:

Once you have a sense of where your time is going - you can then start optimising it. For optimisation, the rule is very simple, you are looking to remove the distractions as much as possible, and then reduce things which are not important by either delegating them or automating them.

Sleep is more important than you think

\"The moment the alarm goes off is the first test; it sets the tone for the rest of the day. The test is not a complex one: when the alarm goes off, do you get up out of bed, or do you lie there in comfort and fall back to sleep? If you have the discipline to get out of bed, you win—you pass the test. If you are mentally weak for that moment and you let that weakness keep you in bed, you fail. Though it seems small, that weakness translates to more significant decisions. But if you exercise discipline, that too translates to more substantial elements of your life.\" - Extreme Ownership by Jocko

Sleep takes about 30% of the time in our life, and has the largest impact on productivity during the day. This is the single best optimization you can do to your life. Everyone is different and some people are better at getting away with sleep than others, but everyone does eventually need to rest to ensure best output.

I have already talked about measuring sleep. I would also recommend understanding it more. Get a feel for what works for you, helps you start fresh in the morning and helps you stay focused during the day. For _most_ people having a regular pattern (i.e. fixed time for going to sleep and waking up) has a an overall positive effect on your sleep cycles.

One common “issue” with waking up I have seen is an un-optimised sleep cycle (i.e. waking up during deep sleep cycle). Study them to get a better understanding of how this can work better for you.

Multi-tasking does work for specific cases.

While this is not something you should be looking to do all the time, there are specific combinations where this is useful. Things where you are doing some repetitive work, which doesn’t require your full focus - like some low intensity exercise, commuting etc are ideal times to spend listening to audio books, podcasts or even spend some time in deep thought. Once you actively start looking for opportunities you will find such options within your daily activities.

#goldenrule
Don't try to make everything time efficient - some things like spending time on your family and religion are not designed to be optimised.

This is an evolving article and I will keep adding more thoughts to this over time.

Please consider subscribing.

","enclosures":[{"url":"https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F92ff961b-9711-4c98-90d5-c4ede8531707_2048x1152.jpeg","length":"0","type":"image/jpeg"}]},{"title":"How many engineers do I need for my tech team?","id":"https://mashhoodr.substack.com/p/how-many-engineers-do-i-need-for","description":"Large software teams are very common, but something to take a caution about. Most managers or leaders feel that a bigger team will mean a greater or faster output, but that's not necessary.","url":"https://mashhoodr.substack.com/p/how-many-engineers-do-i-need-for","link":"https://mashhoodr.substack.com/p/how-many-engineers-do-i-need-for","author":"Mashhood Rastgar","created":1660477098000,"category":[],"content":"

With all the companies around me downsizing and / or freezing hiring now a days - one does start wondering about team sizing and the optimal team size. A sample from the posts:

https://www.theverge.com/2022/7/12/23206113/google-ceo-sundar-pichai-memo-hiring-slowdown-2022

Now Google and Facebook are large organisations and one can forgive them if they hired a dozen more engineers (to better manage turnover may be) - but there looks to be a concern where it is felt that the teams are generally not fully optimised, and are being pushed to more efficient and “do more with less”. Zuckerberg is heard saying out right that some folks are not working at all. Now this is a pretty expected response to a global economic slow down - but it does make one think if their teams are at an optimal limit or not.

Hiring fast and building big teams is a pretty standard culture thing in the startup world. It’s actually very hard to know how “big” a team is needed initially, since there is so much to do and everything is high priority. But its not just about hiring software engineers, in order to solve _a_ problem you also need to need to hire product managers, designers and other roles to get the ball rolling - even the best engineering team is pretty useless without equally good product/design folks.

Another problem with building teams quickly is productivity. It is virtually impossible to hire fast and also keep the whole team productive the same time. Since hiring itself is a pretty intense activity you would expect several folks to be engaged in reviewing profiles, interviewing, onboarding etc. And with the introduction of each team member, the “gelling” process starts. You need to bring them up to speed, show them the ropes and adjust to their communication and personality quirks. Team compatibility is a related problem, some people don’t work well together and need to be moved around. Some are not the best fit and need to let go.

So most startups (and companies) will size their teams according to their planned budget. This is mostly an estimated budget based on a percentage of current / future revenue for startups, or money raised from VCs. Once the budget is established we can break it down into the requirements for the headcount depending on the number of teams we have, seniority we require (and can realistically hire for) and specialisations.

The advantage of the above is that you can get all the folks you need in one swoop, and then reduce the overhead of the continuous hiring in the coming months. But in the real world, it never happens this way - hiring is a continuous process - simply because its usually impossible to hire all the folks in one go unless you are acqui-hiring a team.

So the best way to manage this is to focus on team productivity using different tools, focus on completing a specific team first and then let them gel, while focus moves onto other teams. It’s important not to create one person teams - only split larger teams into 2 smaller ones when there are enough people. And the hiring usually slows down when the budget limit reaches.

There is a solid chapter on this in Will Larson’s book - An Elegant Puzzle.

https://www.amazon.com/Elegant-Puzzle-Systems-Engineering-Management/dp/1732265186

Please consider subscribing.

","content_encoded":"

With all the companies around me downsizing and / or freezing hiring now a days - one does start wondering about team sizing and the optimal team size. A sample from the posts:

https://www.theverge.com/2022/7/12/23206113/google-ceo-sundar-pichai-memo-hiring-slowdown-2022

Now Google and Facebook are large organisations and one can forgive them if they hired a dozen more engineers (to better manage turnover may be) - but there looks to be a concern where it is felt that the teams are generally not fully optimised, and are being pushed to more efficient and “do more with less”. Zuckerberg is heard saying out right that some folks are not working at all. Now this is a pretty expected response to a global economic slow down - but it does make one think if their teams are at an optimal limit or not.

Hiring fast and building big teams is a pretty standard culture thing in the startup world. It’s actually very hard to know how “big” a team is needed initially, since there is so much to do and everything is high priority. But its not just about hiring software engineers, in order to solve _a_ problem you also need to need to hire product managers, designers and other roles to get the ball rolling - even the best engineering team is pretty useless without equally good product/design folks.

Another problem with building teams quickly is productivity. It is virtually impossible to hire fast and also keep the whole team productive the same time. Since hiring itself is a pretty intense activity you would expect several folks to be engaged in reviewing profiles, interviewing, onboarding etc. And with the introduction of each team member, the “gelling” process starts. You need to bring them up to speed, show them the ropes and adjust to their communication and personality quirks. Team compatibility is a related problem, some people don’t work well together and need to be moved around. Some are not the best fit and need to let go.

So most startups (and companies) will size their teams according to their planned budget. This is mostly an estimated budget based on a percentage of current / future revenue for startups, or money raised from VCs. Once the budget is established we can break it down into the requirements for the headcount depending on the number of teams we have, seniority we require (and can realistically hire for) and specialisations.

The advantage of the above is that you can get all the folks you need in one swoop, and then reduce the overhead of the continuous hiring in the coming months. But in the real world, it never happens this way - hiring is a continuous process - simply because its usually impossible to hire all the folks in one go unless you are acqui-hiring a team.

So the best way to manage this is to focus on team productivity using different tools, focus on completing a specific team first and then let them gel, while focus moves onto other teams. It’s important not to create one person teams - only split larger teams into 2 smaller ones when there are enough people. And the hiring usually slows down when the budget limit reaches.

There is a solid chapter on this in Will Larson’s book - An Elegant Puzzle.

https://www.amazon.com/Elegant-Puzzle-Systems-Engineering-Management/dp/1732265186

Please consider subscribing.

","enclosures":[{"url":"https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/e07cd8db-050c-4292-8e75-fa1112bb221b_400x400.png","length":"0","type":"image/jpeg"}]},{"title":"A problem with using software consultancies in startups","id":"https://mashhoodr.substack.com/p/a-problem-with-using-software-consultancies","description":"Outsourcing your tech work might not be the best solution?","url":"https://mashhoodr.substack.com/p/a-problem-with-using-software-consultancies","link":"https://mashhoodr.substack.com/p/a-problem-with-using-software-consultancies","author":"Mashhood Rastgar","created":1659769548000,"category":[],"content":"
\"\"

An interesting discussion (and a good article to read as well) on how big consultancies can fail some times.

https://news.ycombinator.com/item?id=32184183

One of the biggest challenges with any consultancy is domain knowledge - thats the one thing I have learnt after joining Sastaticket. Domain knowledge is so critical (along with its documentation and communication) that a simple feature can become a nightmare due to mis-communication. Bringing all stakeholders to use the same language and the same perspective is a very hard problem to solve.

A great example of this was the implementation of a specific check on our Sastaticket.pk website - restricting the user to make duplicate bookings. This is important for us since we get penalties from airlines (called ADMs), and even though this is a simple check - understanding its edge cases, impact on customer support and overall user experience is essential. And this understanding comes with close collaboration of our customer support team, product team, design team and engineering. The back and forth discussions and understanding takes time to build. It’s not just a task on someones board they need to complete and move on.

This is specially critical for startups. As we work towards finding the product market fit, and giving the user the best experience possible - things are precariously balanced with every decision we take. And if those executing do not have a part of the stake - then the results are best varied.

\"\"
https://www.linkedin.com/feed/update/urn:li:activity:6835880649908453376/

Im not saying you cant have good work delivered this way - but its how we normally execute this. For example take this from a team alignment perspective. Consultancy has a different goal, and your team members have a different goal. This usually ends poorly for both teams.

Another area which sticks out sorely is the engineering mindset, an excellent article here on why India is struggling with finding the right engineers.

https://edition.cnn.com/2021/09/09/tech/india-software-saas-intl-hnk/index.html

\"Indian engineers trained in the IT services industry may find it hard to develop the discipline required to build a product-focused company.

In IT services, \"you are selling bodies and you say yes to everything the customer says,\" said Krishnamoorthy. SaaS companies, on the other hand, have to say no to 99% of [potential] customers, he added.\"

The shift from consultancy to product requires you to question your requirements, understand their business use-case and even speak with the customers or stakeholders. This is in stark contrast to how normally engineers work in a consultancy, usually “behind” a project manager, and are not allowed to question the requirements of the client or understand why they are needed. The resulting output is very different - which is the focus - consultancy would end up focusing more on the task, the product engineer would focus on the users problem and if he’s actually solving that.

Working with a consultancy is an art - and my recommendation is to try to make it into a long term partnership rather than shipping a “project” - it will cost a lot more - but at least there will be some thought put into it. Otherwise I would recommend building a team, with likeminded passionate devs who want to solve the problem you are working on.

Please consider subscribing.

","content_encoded":"
\"\"

An interesting discussion (and a good article to read as well) on how big consultancies can fail some times.

https://news.ycombinator.com/item?id=32184183

One of the biggest challenges with any consultancy is domain knowledge - thats the one thing I have learnt after joining Sastaticket. Domain knowledge is so critical (along with its documentation and communication) that a simple feature can become a nightmare due to mis-communication. Bringing all stakeholders to use the same language and the same perspective is a very hard problem to solve.

A great example of this was the implementation of a specific check on our Sastaticket.pk website - restricting the user to make duplicate bookings. This is important for us since we get penalties from airlines (called ADMs), and even though this is a simple check - understanding its edge cases, impact on customer support and overall user experience is essential. And this understanding comes with close collaboration of our customer support team, product team, design team and engineering. The back and forth discussions and understanding takes time to build. It’s not just a task on someones board they need to complete and move on.

This is specially critical for startups. As we work towards finding the product market fit, and giving the user the best experience possible - things are precariously balanced with every decision we take. And if those executing do not have a part of the stake - then the results are best varied.

\"\"
https://www.linkedin.com/feed/update/urn:li:activity:6835880649908453376/

Im not saying you cant have good work delivered this way - but its how we normally execute this. For example take this from a team alignment perspective. Consultancy has a different goal, and your team members have a different goal. This usually ends poorly for both teams.

Another area which sticks out sorely is the engineering mindset, an excellent article here on why India is struggling with finding the right engineers.

https://edition.cnn.com/2021/09/09/tech/india-software-saas-intl-hnk/index.html

\"Indian engineers trained in the IT services industry may find it hard to develop the discipline required to build a product-focused company.

In IT services, \"you are selling bodies and you say yes to everything the customer says,\" said Krishnamoorthy. SaaS companies, on the other hand, have to say no to 99% of [potential] customers, he added.\"

The shift from consultancy to product requires you to question your requirements, understand their business use-case and even speak with the customers or stakeholders. This is in stark contrast to how normally engineers work in a consultancy, usually “behind” a project manager, and are not allowed to question the requirements of the client or understand why they are needed. The resulting output is very different - which is the focus - consultancy would end up focusing more on the task, the product engineer would focus on the users problem and if he’s actually solving that.

Working with a consultancy is an art - and my recommendation is to try to make it into a long term partnership rather than shipping a “project” - it will cost a lot more - but at least there will be some thought put into it. Otherwise I would recommend building a team, with likeminded passionate devs who want to solve the problem you are working on.

Please consider subscribing.

","enclosures":[{"url":"https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/e07cd8db-050c-4292-8e75-fa1112bb221b_400x400.png","length":"0","type":"image/jpeg"}]},{"title":"A Core Part of Continuous Delivery","id":"https://mashhoodr.substack.com/p/a-core-part-of-continuous-delivery","description":"Even the best teams can make mistakes, so what should we do?","url":"https://mashhoodr.substack.com/p/a-core-part-of-continuous-delivery","link":"https://mashhoodr.substack.com/p/a-core-part-of-continuous-delivery","author":"Mashhood Rastgar","created":1658743599000,"category":[],"content":"

Yesterday Cloudflare (worlds largest CDN) suffered an outage while deploying some enhancements to their network. We at Sastaticket.pk were also impacted in this outage.

Now I am pretty sure Cloudflare has the best engineers, and a solid test suite and a rigorous engineering process. However at the end of the day, it is people who build the product - and people sometimes make mistakes, some times miss out specific things.

So even in the best companies in the world we can have an outage - and sometimes it takes out a large portion of the internet. But the thing to focus on here is not that the outage happened, but how fast they were able to detect it (5 mins), find and fix the issue (30 mins) and recover from it (40 mins) [at global scale].

This is a core part of Continuous Delivery - having the correct observability tooling to detect changes and help diagnose the issues, and then a fast automated pipeline to help deploy (or revert) the changes as needed. And once all is said and done, a good post mortem (like the link below) to help understand the cause and setting up actions to avoid it in the future.

Strongly recommend reading the post mortem for better understanding of how things are done at Cloudflare.

https://blog.cloudflare.com/cloudflare-outage-on-june-21-2022/

Share

Thanks for reading KarachiWalaDeveloper! Subscribe for free to receive new posts and support my work.

","content_encoded":"

Yesterday Cloudflare (worlds largest CDN) suffered an outage while deploying some enhancements to their network. We at Sastaticket.pk were also impacted in this outage.

Now I am pretty sure Cloudflare has the best engineers, and a solid test suite and a rigorous engineering process. However at the end of the day, it is people who build the product - and people sometimes make mistakes, some times miss out specific things.

So even in the best companies in the world we can have an outage - and sometimes it takes out a large portion of the internet. But the thing to focus on here is not that the outage happened, but how fast they were able to detect it (5 mins), find and fix the issue (30 mins) and recover from it (40 mins) [at global scale].

This is a core part of Continuous Delivery - having the correct observability tooling to detect changes and help diagnose the issues, and then a fast automated pipeline to help deploy (or revert) the changes as needed. And once all is said and done, a good post mortem (like the link below) to help understand the cause and setting up actions to avoid it in the future.

Strongly recommend reading the post mortem for better understanding of how things are done at Cloudflare.

https://blog.cloudflare.com/cloudflare-outage-on-june-21-2022/

Share

Thanks for reading KarachiWalaDeveloper! Subscribe for free to receive new posts and support my work.

","enclosures":[{"url":"https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/e07cd8db-050c-4292-8e75-fa1112bb221b_400x400.png","length":"0","type":"image/jpeg"}]},{"title":"Managing Innovation and Maintenance Development","id":"https://mashhoodr.substack.com/p/managing-innovation-and-maintenance","description":"Both are important, but having the right balance is important is the teams involved.","url":"https://mashhoodr.substack.com/p/managing-innovation-and-maintenance","link":"https://mashhoodr.substack.com/p/managing-innovation-and-maintenance","author":"Mashhood Rastgar","created":1658742491000,"category":[],"content":"

When managing #engineering teams - one challenge is often to balance the work between new features (innovation) and fixing bugs or adjusting older features (maintenance). This excerpt from \"An Elegant Puzzle\" by Will Larson is spot on about managing both aspecting from the same team rather than splitting the work between two teams.

\"\"


This helps the team cycle through old and new stuff at the same time, so they have good knowledge about the old systems, and are happy to learn new things when creating the next generation stuff.

One additional tricky aspect of this is issues rolling in which need to be tackled during a sprint or feature development. Having a dedicated \"hot-fix\" crew (within your team) helps the team focus on their work and not get distracted by the new issues.

Thank you for reading KarachiWalaDeveloper. This post is public so feel free to share it.

Share

Thanks for reading KarachiWalaDeveloper! Subscribe for free to receive new posts and support my work.

","content_encoded":"

When managing #engineering teams - one challenge is often to balance the work between new features (innovation) and fixing bugs or adjusting older features (maintenance). This excerpt from \"An Elegant Puzzle\" by Will Larson is spot on about managing both aspecting from the same team rather than splitting the work between two teams.

\"\"


This helps the team cycle through old and new stuff at the same time, so they have good knowledge about the old systems, and are happy to learn new things when creating the next generation stuff.

One additional tricky aspect of this is issues rolling in which need to be tackled during a sprint or feature development. Having a dedicated \"hot-fix\" crew (within your team) helps the team focus on their work and not get distracted by the new issues.

Thank you for reading KarachiWalaDeveloper. This post is public so feel free to share it.

Share

Thanks for reading KarachiWalaDeveloper! Subscribe for free to receive new posts and support my work.

","enclosures":[{"url":"https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F62f254a9-5c97-44a8-81ad-6cd12c50d2d4_562x467.jpeg","length":"0","type":"image/jpeg"}]},{"title":"Multiple Layers of Quality Control","id":"https://mashhoodr.substack.com/p/multiple-layers-of-quality-control","description":"Its not possible to have a perfect system, but we can definitely come close!","url":"https://mashhoodr.substack.com/p/multiple-layers-of-quality-control","link":"https://mashhoodr.substack.com/p/multiple-layers-of-quality-control","author":"Mashhood Rastgar","created":1658742084000,"category":[],"content":"

So a bug in DoorDash payment system lead to hundreds of free food orders last week. Millions of dollars lost in compensation and many customers ended up getting a poor experience as well. You can read more about it here:

https://mashable.com/article/doordash-glitch-free-food

What can we learn from this event?

Things to think about:
- What sort of validation do we have in place to stop such an event from happening?
- Do we have automated tests testing for this specific scenario?
- Does our QA check for such issues with our out going builds?
- What metrics are being tracked in our monitoring and observability apps, which could trigger an alert for such an issue?
- How would we debug such an issue quickly so keep the losses at a minimum?
- Are our deployment pipeline fast enough to quickly patch this issue?

Adding each layer, reduces the probability of this happening, and even if this does happen it ensures its caught quickly and turned around before it comes a bit issue for the company.

Share

Thanks for reading KarachiWalaDeveloper! Subscribe for free to receive new posts and support my work.

","content_encoded":"

So a bug in DoorDash payment system lead to hundreds of free food orders last week. Millions of dollars lost in compensation and many customers ended up getting a poor experience as well. You can read more about it here:

https://mashable.com/article/doordash-glitch-free-food

What can we learn from this event?

Things to think about:
- What sort of validation do we have in place to stop such an event from happening?
- Do we have automated tests testing for this specific scenario?
- Does our QA check for such issues with our out going builds?
- What metrics are being tracked in our monitoring and observability apps, which could trigger an alert for such an issue?
- How would we debug such an issue quickly so keep the losses at a minimum?
- Are our deployment pipeline fast enough to quickly patch this issue?

Adding each layer, reduces the probability of this happening, and even if this does happen it ensures its caught quickly and turned around before it comes a bit issue for the company.

Share

Thanks for reading KarachiWalaDeveloper! Subscribe for free to receive new posts and support my work.

","enclosures":[{"url":"https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/e07cd8db-050c-4292-8e75-fa1112bb221b_400x400.png","length":"0","type":"image/jpeg"}]},{"title":"Balancing Product / Engineering Responsibilities","id":"https://mashhoodr.substack.com/p/balancing-product-engineering-responsibilities","description":"For without this balance, there will only be chaos. :)","url":"https://mashhoodr.substack.com/p/balancing-product-engineering-responsibilities","link":"https://mashhoodr.substack.com/p/balancing-product-engineering-responsibilities","author":"Mashhood Rastgar","created":1658741509000,"category":[],"content":"

An excellent post by an x-spotify engineer sharing several important lessons from his time there. Strongly recommend reading the whole thing..

https://www.jeremiahlee.com/posts/failed-squad-goals/

My favourite one from all of them is one below - something I have also personally learnt while building the best travel platform at Sastaticket.pk - product and engineering alignment is one of the hardest things to get right in any product startup.

\"Product managers should have an equivalent peer for engineering. Product managers should be accountable for the prioritization of work. Engineering managers should be accountable for the engineers’ execution, which includes being able to negotiate speed and quality tradeoffs with the product manager.\"

Share

Thanks for reading KarachiWalaDeveloper! Subscribe for free to receive new posts and support my work.

","content_encoded":"

An excellent post by an x-spotify engineer sharing several important lessons from his time there. Strongly recommend reading the whole thing..

https://www.jeremiahlee.com/posts/failed-squad-goals/

My favourite one from all of them is one below - something I have also personally learnt while building the best travel platform at Sastaticket.pk - product and engineering alignment is one of the hardest things to get right in any product startup.

\"Product managers should have an equivalent peer for engineering. Product managers should be accountable for the prioritization of work. Engineering managers should be accountable for the engineers’ execution, which includes being able to negotiate speed and quality tradeoffs with the product manager.\"

Share

Thanks for reading KarachiWalaDeveloper! Subscribe for free to receive new posts and support my work.

","enclosures":[{"url":"https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/e07cd8db-050c-4292-8e75-fa1112bb221b_400x400.png","length":"0","type":"image/jpeg"}]},{"title":"Giving a shit.","id":"https://mashhoodr.substack.com/p/giving-a-shit","description":"Why 2 different teams working on the same thing might give a very different result.","url":"https://mashhoodr.substack.com/p/giving-a-shit","link":"https://mashhoodr.substack.com/p/giving-a-shit","author":"Mashhood Rastgar","created":1658740572000,"category":[],"content":"

Been thinking about what makes different teams stand out - the same work done by 2 different teams or companies can be very different. The article below shares a very nice perspective on how people or teams tend to think - and why certain startups are so good with their products.

https://allenpike.com/2022/giving-a-shit

If we align the whole company to focus on the customer, and remove all distractions around them (like number of hours worked or meeting that specific deadline) then with the right training, the team can actually start looking at customer problems and focus on solving them. So everything else in the company, becomes transient be it the scrum meetings, our performance reviews or even our growth targets. If the customers problem isn't solved then what is the point of even working on this product?

Creating such a culture is easier said than done.

Some things which I feel help set the right course include:
- Setting a strong purpose and vision statements.
- Regular town halls where we get to revisit this purpose and vision.
- A system of goals - top down, which drives this vision and purpose.
- Transparency which helps everyone to see the different problems, and chip in where needed.
- Empowering the teams to lead with problems, and giving them the right tools to solve them.

Subscribe now

Share

","content_encoded":"

Been thinking about what makes different teams stand out - the same work done by 2 different teams or companies can be very different. The article below shares a very nice perspective on how people or teams tend to think - and why certain startups are so good with their products.

https://allenpike.com/2022/giving-a-shit

If we align the whole company to focus on the customer, and remove all distractions around them (like number of hours worked or meeting that specific deadline) then with the right training, the team can actually start looking at customer problems and focus on solving them. So everything else in the company, becomes transient be it the scrum meetings, our performance reviews or even our growth targets. If the customers problem isn't solved then what is the point of even working on this product?

Creating such a culture is easier said than done.

Some things which I feel help set the right course include:
- Setting a strong purpose and vision statements.
- Regular town halls where we get to revisit this purpose and vision.
- A system of goals - top down, which drives this vision and purpose.
- Transparency which helps everyone to see the different problems, and chip in where needed.
- Empowering the teams to lead with problems, and giving them the right tools to solve them.

Subscribe now

Share

","enclosures":[{"url":"https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/e07cd8db-050c-4292-8e75-fa1112bb221b_400x400.png","length":"0","type":"image/jpeg"}]}]},"__N_SSG":true}