<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="message-content" style="font-size:16px;max-width:600px;padding:10px 20px 20px 20px">
<p style="margin-bottom:1em"><br>What's up, Andrea?<br></p>
<p style="margin-bottom:1em">I hope you're doing awesome. My first programming language was Java. When I started writing JavaScript, I was <em>thrilled</em> that I didn't have to worry about specifying types everywhere. I could just pass things around willy nilly and it just worked (even functions, which really blew my mind!).</p>
<p style="margin-bottom:1em">After a few years, I started to realize how valuable types had really been in my Java programs. Especially on teams and large/long-term projects where I can't just hold everything in my head. I was at PayPal when I started out using Flow (because I didn't want to lose ESLint and Babel), but when ESLint and Babel added TypeScript support, I moved over.</p>
<p style="margin-bottom:1em">Ever since I got a taste of typed JavaScript, I haven't looked back. And the good news is that the type inference of TypeScript is so good that most of the regular code I write has minimal "type pollution" (I just made that up, but I think you know what I mean 😅). I honestly can't imagine writing untyped JavaScript for anything I care to work on for very long.</p>
<p style="margin-bottom:1em">Unfortunately, there are some definite challenges with getting typed JavaScript in real world scenarios. I want to talk about what causes those problems and how we can help TypeScript help us with techniques and tools. Checkout the article on EpicWeb.dev: <a href="https://click.convertkit-mail.com/o8unmz7rw2swu9064wsquq4dm8rrcohdg56/58hvh8u5r6z5v3b6/aHR0cHM6Ly93d3cuZXBpY3dlYi5kZXYvZnVsbHktdHlwZWQtd2ViLWFwcHM=" url-id="1495719397"><strong>✨ Fully Typed Web Apps ✨</strong></a></p>
<p style="margin-bottom:1em"><a href="https://click.convertkit-mail.com/o8unmz7rw2swu9064wsquq4dm8rrcohdg56/58hvh8u5r6z5v3b6/aHR0cHM6Ly93d3cuZXBpY3dlYi5kZXYvZnVsbHktdHlwZWQtd2ViLWFwcHM=" url-id="1495719397"><img src="https://embed.filekitcdn.com/e/xpcVJ86QdonnRMFaJVRKG7/qtGWJSYErgc1vXY7vBfMPW?w=800&fit=max" alt="Fully Typed Web Apps" style="max-width:100%;height:auto"></a></p>And <a href="https://click.convertkit-mail.com/o8unmz7rw2swu9064wsquq4dm8rrcohdg56/25h2h9u7kme7v6u3/aHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ_dGV4dD1JbiUyMCUyMkZ1bGx5JTIwVHlwZWQlMjBXZWIlMjBBcHBzJTIyJTJDJTIwJTQwa2VudGNkb2RkcyUyMGV4cGxhaW5zJTIwd2hhdCUyMGl0JTIwbWVhbnMlMjB0byUyMGhhdmUlMjBhJTIwZnVsbHklMjB0eXBlZCUyMHdlYiUyMGFwcCUyQyUyMHdoYXQlMjBtYWtlcyUyMGl0JTIwY2hhbGxlbmdpbmclMkMlMjBhbmQlMjBzb21lJTIwdG9vbHMlMkZ0ZWNobmlxdWVzJTIweW91JTIwY2FuJTIwdXNlJTIwcG93ZXIlMjB1cCUyMHlvdXIlMjBwcm9kdWN0aXZpdHklMjAlRTIlOUElQTElMjBodHRwcyUzQSUyRiUyRnd3dy5lcGljd2ViLmRldiUyRmZ1bGx5LXR5cGVkLXdlYi1hcHBzJTIwJUYwJTlGJThDJThD" url-id="1495719398">I'm sure your friends would love to read this</a> too.<p style="margin-bottom:1em"><br>You are stellar, Andrea.<br><br></p>
<p style="margin-bottom:1em">- Kent</p>
<br>
<br>
<small>
<a href="https://click.convertkit-mail.com/o8unmz7rw2swu9064wsquq4dm8rrcohdg56/25hoxrr5s9u7kme7v9i3/aHR0cHM6Ly9rZW50Y2RvZGRzLmNvbS8_bWVzc2FnZT0lRTIlOUMlODUlMjBZb3UlMjd2ZSUyMGJlZW4lMjB1bnN1YnNjcmliZWQlMjBmcm9tJTIwRXBpYyUyMFdlYiUyMERldiUyMGVtYWlscy4=" trigger-id="3309942" url-id="1495719399">Unsubscribe from Epic Web Dev emails</a> or <a href="https://unsubscribe.convertkit-mail.com/o8unmz7rw2swu9064wsquq4dm8rrcohdg56" class="unsubscribe-link">Unsubscribe from everything</a>
<br>
<br>
P.O. Box 562, American Fork, Utah 84003
</small>
</div>
<!-- -->
<img src="https://open.convertkit-mail.com/o8unmz7rw2swu9064wsquq4dm8rrcohdg56" alt="">
</body>
</html>