Unsurprisingly.
> how do we get our coworkers to buy in to this new paradigm?
By forcing them?
> and we’re all happy to spend hours figuring out exactly how we’ll set up our TypeScript config.
Oh yes what a joy!
> our data access layer (“ORM”) is ubiquitous, and most files use it in some way.
Use SQL instead, it's better.
> We also made tooling and configuration a priority.
Of course, there's no way to go down the TS rabbit hole without it!
> Finally, we converged on a set of agreed upon linting rules
The code soup that's generated with the 'airbnb' setting, I know it's a terrible read.
> When we began analyzing TypeScript adoption patterns, it became clear that using TypeScript wasn’t a seamless process for our engineers, who would often need to import special utilities (ts-node/register) or create intermediate CoffeeScript files that did nothing but import their TypeScript equivalents.
How productive!
> We avoided using any in this phase, instead opting for the stricter unknown.
Yes, the dream of type safety ends with using 'any' or 'unknown'. But are you sure only in this phase? I've never seen a TS codebase without it!
> Tackling a migration like this means asking your teammates to give up a way of doing their jobs that they’re comfortable and effective with
So tell me, no one left because they didn't like to have the joy sucked out of their lives?
> To do this we created a #typescript channel in Slack, and made sure developers getting stuck could get unblocked.
Another great addition to the workflow. But you mean 'stuck' like you cannot continue building because of TS? I only hear from TS proponents that it improves productivity?
> From the beginning, we knew that bulk, overnight migration was not a possibility, and that it would likely take a year or more to complete the process.
Ok, so more than a year with the entire team to kill a few type related bugs? How did you have to lie to get this agreed upon by the CEO?
> As we continue with this migration, we hope to keep learning, and to use this knowledge to make the next big project even easier.
Yes, keep learning because soon TS will be exit with the upcoming WebAssembly and you can start all over again in another hyped language or framework.
But for the record, instead of fixing a few type errors a once in a while and create proper tests for it, you went rewriting the entire app and fucking up your entire dev team that were happy with Coffeescript? I'm also really curious how much this entire operation has cost the company, and what the actual benefits are? Is it that the dev now can hover with his mouse over a variable see the related type? Or is the app really looking and working much better now? Always when I worked on a TS project the benefits were mostly imaginary and the pain real. Unfortunately there are way too many inexperienced web developers that think they look incredibly smart doing TS.. Vanity is a thing. Doing a dynamically typed language is for the poor minds that don't understand type safety, not? You are all way smarter than Brendan Eich I guess.