Introducing Developer Evangelist Corey Weathers

Is It Christmas Yet?

For many families the Christmas holiday is a festive time when loved ones gather to enjoy good company and create lasting memories. There are so many things that make Christmas special to me. One thing I always come back to is the food.

I vividly remember getting off of the small old elevator on approach to my grandmother’s door while holiday music blared from the far side of the apartment.  As the door opened the sweet smell of cinnamon and brown sugar coating the candied yams welcomed me in. A few steps into the narrow hallway unveiled the savory odor of a roasted ham covered in cloves, roasted pineapple and maraschino cherries. As I approached the kitchen, I would see a decadent display of options: baked macaroni and cheese that made any other mac ‘n’ cheese taste like something out of a box, smoky collards that could make even my two year old daughter eat vegetables, sweet corn muffins that paired so well with butter that eating anything other than that seemed like committing a sin.

My mind began racing through strategies that would allow me to taste a sizeable amount of everything before getting too full to enjoy it all. My strategic game of gluttony started with finding a plate large enough to save space for each item except I would still miss items. So I would devour the first plate and make a second pass for items I missed the first time around. After taking a couple of passes, my brain told me I had reached my limit, without even tasting the dessert which is a necessity at any holiday gathering.

Every year I iterate through this algorithm in my head, searching for a formulaic approach to eating everything. My inputs are the same every time – loads and loads of food. The objective of this function is to consume every item available. I inevitably let my eyes and nose lead the way while also realizing that I might be able to take a different approach next Christmas.

Who Knew Coding Was Like Christmas

That same excitement that I have towards food at Christmas time bubbles over into my passion for technology. Programming is all about taking a set of inputs and turning them into something magical.

In the spring of 2005 I began learning C# and ASP.NET 2.0 as a college intern. I was building an education platform to facilitate online learning driven by a community of experts and users. I dove in head first, getting bruised along the way thanks to code that wouldn’t compile because I didn’t have the right attributes on my server controls, improperly configured web.config files which took a long time to debug, and a bloated viewstate value on HTTP responses that kept expanding in size with each request to the application server.

Imagine my excitement when ASP.NET AJAX and ASP.NET MVC 1.0 were eventually introduced. They helped eliminate synchronous calls to the server which were slowing down request processing times. They made splitting up my code significantly easier to maintain. I would attempt to upgrade small parts of my simple application but with each tweak, there was always something more that I wanted to explore. My persistence had me adding in some “AJAX-ified” controls with the ScriptManager on several .aspx pages, then finally writing pure JavaScript with IFrames before finally moving into ASP.NET MVC. ASP.NET MVC took me into the deep end of learning how dependency injection in .NET could make the application more loosely coupled and easier to maintain. Over time I found myself adding less and less with each tweak until I finally decided to just call the app done.

Code + Christmas ~ Satisfaction

Over the years, I’ve observed this tension when working on a project. How can I make some code as perfect and efficient as it can be while also actually shipping something? What amazes me is how similar it is to the challenge of putting together the perfect plate of food. You can tweak and tune as much as you want, but ultimately you have to eat.

What I love about developer evangelism is that I can help developers move their projects from an idea to being “complete”. The iterative learning process is just like re-discovering your favorite dish every holiday as you finish putting together that first plate of food, only to then take the first bite and feel satisfied yet unfulfilled.

My name is Corey Weathers and I’m a Developer Evangelist at Twilio. You can also catch me out and about at tech events in the Bay Area, or maybe just enjoying some great food.

Email: Corey@Twilio.com

Twitter: @coreylweathers

Github: CLW895