Avsnitt

  • Yann is a principal software developer at ArcGIS. He joined the Javascript team in 2012/2013 and began a large Typescript migration soon after. Since the project was always on the back burner, it took his team a while to migrate over half a million lines of code.

    He states that one of the major benefits of using Typescript is the ease of refactoring, making the code highly scalable.

    Yann mentions that the ArcGIS data API has become much faster and more streamlined since the migration. When asked if this negatively affected the consumer in any way, he responds with a confident no.

    Yann also discusses how the process has become much simpler over time compared to the steeper learning curve in the early stages of migration. He said that now, any time a new feature needs to be released, they opt to release it in Typescript every time, bypassing further migrations.

    Show LinkLead developer on the ArcGIS API for JavaScript team https://developers.arcgis.com/javascript/latest/Yann on GitHub: https://github.com/ycabonYann on Twitter: https://twitter.com/yanncabon
  • Milecia introduces herself as a super software generalist, having experience with front and back-end engineering, machine learning, DevOps, and security, among others. She has worked with Javascript, Python, C++, and C#/.NET. When asked what she feels most comfortable working with, she states that although she is getting back into machine learning, Javascript is where her preference lies.

    She mentions that one of her earlier jobs involved migrating a React codebase to Typescript. She says that Typescript is very effective in helping prevent errors in the production phase and for onboarding new developers due to the ease of typing and methods being found.

    When asked about the learning curve, Milecia mentions that once the team was able to overcome the initial hesitation of migrating the codebase to Typescript, the learning curve was not excessively steep. Her team was able to pick things up very quickly by reading through the documentation. She mentions that the project was a relatively low priority at the time, and the migration took over six or seven months.

    She talks about how migrating the codebase allowed them to catch and fix many errors or inconsistencies that had been ignored and worked around before everything was typed.

    Milecia goes on to say that in another job later in her career, she was tasked again with migrating an existing codebase to Typescript, only much more aggressively this time, saying that the company wanted to halt all new production features while migrating as quickly as possible. She says the team would regularly get on calls to work through the details of things like type/naming conventions, which they kept track of using Google Docs.

    On another note, she mentions that when migrating a code base to Typescript, it’s beneficial to implement a migration strategy before beginning the process - outlining the necessary steps toward the goal.

    Show LinksFlipped Coding: https://www.flippedcoding.com/Milecia on LinkedIn: https://www.linkedin.com/in/mileciaMilecia on Twitter: https://twitter.com/FlippedCodingMilecia on YouTube: https://www.youtube.com/channel/UC_8hnT1ItE6PVK9ENzfdf7w
  • Saknas det avsnitt?

    Klicka här för att uppdatera flödet manuellt.

  • Nathalia is the co-founder and engineer at Custodian. She is a self-taught software developer of five years. She studied politics at university before progressing through a boot camp where she fell in love with coding. Nathalia is a huge advocate for Typescript.

    Nathalia talks about the several ways companies can choose to migrate code to Typescript, mentioning that a hybrid approach is her preferred method, where Typescript and Javascript are allowed to coexist harmoniously during the migration period, with larger companies typically opting for an “all-in” get it type style of migration.

    She talks about the value of onboarding a junior engineer and states that letting them try and work through pieces of the migration on their own with minimal assistance is very important for professional growth while maintaining the support of a more senior developer.

    Nathalia speaks about how learning Typescript (as with any new language) can help you become a better engineer on a general level, as it opens your mind to new ideas and methods that you may not have thought about. She mentions that the weakness of Javascript lies in its chaos. Nathalia believes that Typescript is an enhancement of Javascript, helping to minimize this chaos and making it easier to write higher-quality code.

    Nathalia ends the interview with advice for any teams considering migrating to Typescript - understand the areas in your code that should be prioritized. She suggests starting with the API in order to define what is being received from the back end to better see what needs to be handled on the front end.

    Show LinksAirtable: https://github.com/Airtable/typescript-migration-codemodTwitter: https://twitter.com/yeahgirlscodeInstagram: https://www.instagram.com/yeahgirlscode/TS Migrate: https://github.com/airbnb/ts-migrate
  • Josh is a software engineer who graduated from the University of Bristol with a master’s degree in computer science. Upon graduating, he began working for Bloomberg in London. After moving around and working in various roles within the company, he ended up on the infrastructure team.

    Josh mentions that working through code that you didn’t write, and converting it to Typescript, is a fantastic and effective way to learn the code base.

    He talks about the approach he uses when taking on a large-scale migration, such as the one he handled at Bloomberg, stating that building a dependency tree for the application is quite useful. He says that a good place to begin the conversion is the leaves of the tree. The reason for doing this is that any file that imports other files that are not TypeScript either needs to be converted to TypeScript or have type definition files written.

    Josh talks about type validation within TypeScript in order to eliminate runtime errors - for example - checking if a property is a particular type of DOM node.

    He also mentions the improvements in typing higher-order components within React TypeScript compared to how difficult it was in its earlier days.

    Show Noteshttps://www.bloomberg.com/Josh on Twitter: https://twitter.com/joshjhargreaveshttps://github.com/joshjhargreaves/DefinitelyTyped
  • Tyler is part of the Javascript infrastructure team at Stripe. He states that since 2016 Stripe had been heavily flow-typed Javascript and React, but as time went on, they began to notice cracks in the functionality as the applications grew. This is when they started investigating Typescript as an alternative moving forward.

    Tyler said that, as of now, the Stripe Dashboard is the biggest migration project they have taken on, but that they are in the process of migrating all of the Stripe codebases to Typescript. After deciding to take on a more “all in” approach, they began to test the waters by converting pieces of code to see what they would be able to do with the migration.

    Due to the codebase's size and the difficulties involved in migrating from one type of system to another, Tyler’s team began looking into methods of automated migration, building, adapting, and customizing different tools to help accomplish this.

    On Sunday, March 6, 2022, they migrated Stripe’s largest JavaScript codebase (powering the Stripe Dashboard) from Flow to TypeScript. They converted more than 3.7 million lines of code in a single pull request. In this episode, we'll deep-dive into the details of large-scale migration.

    Show LinksMigrating millions of lines of code to TypeScripthttps://github.com/Airtable/typescript-migration-codemodhttps://github.com/Khan/flow-to-tsts-morphTyler on Twitter: https://twitter.com/tylerkrupickaTyler of Github: https://github.com/tylerkrupicka
  • Priscila is a front-end software engineer at Sentry.

    She began her work in the open-source community shortly after returning to Vienna, Austria, from Prague. In 2019, after noticing that the number of front-end bugs being shipped to production was no longer acceptable, Priscila and her team at Sentry realized that many of these issues could be prevented by aesthetic analysis and type checking. At this time, they began investigating the possibility of a Typescript migration.

    After coming up with a migration strategy, they made a decision that the best thing they could do in the beginning would be to educate all of their developers in Typescript and offer all of the resources to achieve this as effectively as possible.

    As they were converting existing files, all new files needed to be written in Typescript to avoid what she says would have been an “endless” migration.

    In total, the migration took place over the course of about two years.

    In parting, Priscila offers two pieces of advice for anyone considering a TypeScript migration - the first is to have a plan in place, create a strategy, and know where you’re going to start. She also states that it can be very useful to utilize ESLint. Define a standard set of rules that can be adopted across the team, encouraging consistency throughout the migration.

    Show LinksSentryPriscila site: https://priscilawebdev.github.io/priscilaoliveira/Priscila's Twitter: https://twitter.com/priscilawebdevSlow and Steady: Converting Sentry’s Entire Frontend to TypeScriptSentry’s first Typescript Pull Request: https://github.com/getsentry/sentry/pull/13786
  • Tanner is one of three co-founders at Nozzle, where he leads front-end development on their SEO rank tracking and monitoring software. He’s been with the company since its creation in 2014, but before Nozzle, he got his start in open source, working on WooCommerce and WordPress sites. When he found Angular, he found his first connection to JavaScript.

    Tanner has since become a well-known figure in the open source world. He’s created many open source libraries under the umbrella of the TanStack; he and Joe talk a bit about two of them—React Query and React Table—during their conversation. It was feedback on his open source libraries that initially prompted Tanner to start learning TypeScript - his contributors and users kept requesting it.

    Once Tanner started seeing the benefits TypeScript brought to his open source libraries, he knew he needed to start using it at Nozzle too. That was about two years ago, and he has been focused on migrating Nozzle’s existing codebase from JavaScript to TypeScript since then. The process is still ongoing and has involved a lot of learning on his part. He explains some of his stumbling points and successes along the way.

    He also dives deep into generics, a piece of TypeScript that he’s been focusing on a lot recently. He walks through the use cases he’s had for generics and how he’s using them now in his current libraries.

    Show LinksNozzle.io - Tanner’s companyhttps://tanstack.com/ - main hub for all Tanner’s open source projects@tannerlinsley and @tan_stack on TwitterOfficial React Query CourseGolangPrettierProtobufSwaggertRPCTypeStatZod