Developer Educator

I know how hard it is to build developer trust and community because I’ve done it as part of the Community Team at Respoke. I’d love the opportunity to do it again.


##Strong technical writing skills

Take a look at the documentation reorganization I lead at Respoke and a few blog posts and screencasts I produced along the way.


###Documentation

Lead the documentation and reorganization of Respoke’s developer docs along product lines - Client libraries (JavaScript, iOS, Android), Server libraries (Node, Ruby, .NET, PHP, Java) and REST API (JSON).

With a focus on quick Guides, the goal was a clear distinction between Guides, API References and Example Code.

Getting started with Respoke - Respoke Documentation

Get started with Respoke. Quickstart guides, reference documentation, and FAQs for developers. REST | Javascript


###Articles

Thought leadership technical blog post on blog.respoke.io discussing whether Google’s WebRTC adapter.js is a shim or a polyfill and creating a framework for other developers to determine whether a JavaScript library is a shim or a polyfill.

JavaScript: Shim vs Polyfill

I'm currently working on a conference talk about WebRTC. One of the foundations of any WebRTC library is some form of Google's original adapter.js, which seeks to normalize the WebRTC API across various browsers. As I was about to build this particular slide, one question started to whisper in my ear, "Is adapter.js a shim or a polyfill?"

Results?

Google search result rank number three for the topic.

“@corgrath: The best article I have read so far regarding the shim vs polyfill terminology. Thanks :-)”


Fun technical blog post written for blog.respoke.io mashing up two popular concepts: WebRTC and Instagram Filters.

WebRTC Instagram Video Filters

With more than a $1 Billion valuation and over 75 million daily users, Instagram is arguably one of the most popular social networks today. Did you know more than 55 million photos are posted daily on Instagram? Or that the platform sees over 8,500 likes per second?


Thought leadership piece discussing the story of JavaScript told through the eyes of Joseph Campbell’s “Hero’s Journey”.

JavaScript and The Monomyth

In his seminal work, "The Hero with a Thousand Faces", Joseph Campbell put forth the idea of The Monomyth. The idea is based on the observation that a common pattern exists beneath the narrative elements of most great myths, regardless of their origin or time of creation. Simply put, all of mankind's myriad myths are but variations of a single great story. This is the monomyth and is most commonly expressed as a hero's journey....


###Screencasts

Technical screencast on my favorite uses of the setInterval and setTimeout JavaScript timers.

screencast

Uploaded by Tian Davis on 2015-11-25.



##Strong engineering skills

I ship hiqh quality code. I’ve shipped critical components on both Respoke’s Community Team and Respoke’s Front-End Team. Prior to that, I shipped as a Tech Lead at Nationwide and as a consultant in various industries from banking to education to medical to military simulation and training.


###Apollo HD

Sometimes you get the chance to write the best code of your life when you least expect it. I got that chance at Respoke, a communication PaaS startup built on WebRTC.

Apollo

As a JavaScript Engineer on the Respoke team, I helped developers see how easily we can add secure video, voice and data communication to our own apps using the power of WebRTC.

We used some of the most innovative front-end technologies of the day, including HTML5, CSS3 (LESS), Jade, Gulp, Bootstrap, JavaScript, ES6, Babel, jQuery, Angular, NodeWebkit, Jasmine, Sinon, SuperTest and Phantom.

And with these, we built Apollo - A powerful Slack competitor that enables team collaboration with chat, screen sharing, live video and voice.


###Respoke Sample Project

Wrote a production-ready sample application showing developers how to use key use cases of Respoke, like Brokered Authentication, Audio Management, Video Management, Data Management, Presence, CallerId and automated tests to make sure the the code sample is always accurate.

respoke/the-interview-backbone

the-interview-backbone - Demo application of how to use Respoke


###Respoke Server Libraries

Wrote Respoke PHP and Respoke Java server-side libraries.

respoke/respoke-php

respoke-php - PHP serverside library for the Respoke REST API

respoke/respoke-java

respoke-java - Java serverside library for the Respoke REST API


###Open Source Contributions

Contributed a critical bug fix to Respoke.js which prevented screen sharing from working in Firefox and Chrome.

respoke/respoke

respoke - Respoke JavaScript Browser/Client Library

Contributed fixes to the respective browser plugins.

respoke/respoke-firefox-screen-sharing-extension

respoke-firefox-screen-sharing-extension - A base Firefox extension for enabling screen sharing from your domain using respoke


Lead the reorganization and documentation of the Respoke docs to what you see today.

respoke/docs

Contribute to docs development by creating an account on GitHub.


Extracted Caramel from a Respoke internal tool I built to facilitate cross-platform rendering of Respoke’s responsive transactional emails in the various email clients (Gmail, Outlook, Yahoo, Mobile, etc).

tiandavis/caramel

caramel - Caramel: A responsive HTML email framework


Contributed Yahoo email client fixes upstream to Salted which eventually became the baseline for Respoke’s and Caramel’s responsive email framework.

rodriguezcommaj/salted

salted - Salted: A responsive email template



##Community Leadership

I believe in servant leadership and have always served the developer community first and my interests second.


###Community Contributions

Demonstrated both patience and empathy while managing external contributors to both Respoke’s open source chan_respoke library and developer documentation.

Added Channel Variables and AMI Event for Respoke Session by gcareri · Pull Request #9 · respoke/chan_respoke

Added two new features: Set of Asterisk Channel Variables related to the Respoke Session AMI (Asterisk Manager Interface) new Event 'respoke_session' in order to show the Respoke Session informat...


###Community Advocacy

In addition to helping developers make progress with Respoke.js, I also acted as an advocate on their behalf; Relaying ease of use issues to the right development team.

Sending JSON via sendMessage method

I am trying to figure out how to send a JSON object via the client's sendMessage method so that my app can send data back and forth between two different clients. The docs only cover how to send a plain string so I have been stabbing in the dark so far.


###Developer Talks

Toured the east coast, introducing developers to WebRTC - a powerful HTML5 API for encrypted peer-to-peer Voice, Video and Data communications.

WebRTC: Unicorns, Narwhals and The Real-Time Web

You probably don't know WebRTC as much as you think. I'm not surprised. WebRTC is both amazing and terrifying. No real standards exist between browser vendors. How to integrate WebRTC the right way? WebRTC is but one ingredient to a successful real-time web recipe.

Along with the talk, distributed a small sample signaling app using Node, Socket.IO showing developers how to get started with WebRTC quickly.

tiandavis/native-webrtc-node-socket.io-signaling

native-webrtc-node-socket.io-signaling - Sample app showing how to use the HTML5 WebRTC API


Another talk focused on the story of JavaScript as seen through the eyes of the Hero’s Journey itself.

JavaScript and The Monomyth

JavaScript and The Monomyth explores the story of JavaScript as you've never seen before. Learn more about The Monomyth. Dig deeper into the story of JavaScript: https://tiandavis.com/thoughts/posts/javascript-and-the-monomyth


##What’s next exactly…?

I’d love to learn more about the position, the team and the company. Go ahead, email me and we’ll continue the conversation.