Language Experiences

While there is often the right tool for the job, there's definitely no such thing as the perfect tool. As we all know, there are tradeoffs to everything. The only way that you can go wrong in my book, is being entrenched in one particular stack. Sometimes you just need to scrap your stack and get uncomfortable.

Current Favorites

Languages: Python, Ruby, JavaScript
Frameworks: Flask/Django, Rails, Node.js
Frontend: React, Angular
Datastores: Postgres, MySQL, Redis, Neo4j
Deployment: GCP, AWS, Heroku
Other: NLP, Pandas, Chatbots, ElasticSearch, Data mining, Twilio, Stripe, Plaid

Python

My most recent love affair is the modern python stack. While I had prior exposure to python and simple ML techniques like KNN at my last company, I've always needed a greenfield project for a new stack to really sync in. And that side project for learning python is a microframework for analyzing my personal finances. I'm using flask, the Plaid API for bank data, pandas for analysis, and a Twilio bot "front-end" for interaction. The project uses a NaiveBayes Classifier and the NLTK NLP framework to analyze bank transaction descriptions and learn my preferred categories like Utilities, Food, Rent, etc.

Additionally, I'm just starting to wrap my head around neural nets with this Neural Nets and Deep Learning Coursera course, as well as playing keras and tensorflow to detect cats (aka the hello world of deep learning). If you're learning as well I'd recommend perusing the Jupyter Notebooks on Kaggle.

Current sentiment:😍😍😍

Javascript

My last company was a fullstack Javascript shop (other than python for analysis). We built our workflow automation platform with Postgres -> Node -> GraphQL -> React.

For external interactions, we built an omnichannel bot framework that extended DialogueFlow and communicated with our customers
on top of Twilio,Gmail, and Aircall APIs.

We used Postgres, Redis, ElasticSearch datastores hosted with GCP,
and deployed with tools and tech including CircleCI, Docker, and Heroku.

Full disclosure, I was the CEO at CoLane, so while I stayed involved with the engineering team, after the first two years I was not writing any production code at all.

Other JS frameworks that I've enjoyed include Angular and NextJS. O and this site is a Ghost CMS backend with handlebars on the front.

Current sentiment: Love/hate relationship with JS, but it is the native language of the internet, and it's arguably the obvious choice for web application development.

Ruby on Rails

One of my favorite things about Ruby is that is holds a guiding principle of "the happiness of the developer". Ahhhhh. What a beautiful goal. I like to be happy! Also, can we all agree that ActiveRecord is the GOAT of ORMs?

While Ruby is still my sharpest tool — with thousands of hours building, studying, and teaching under my belt — it's been a while since I've rails new app_named. The transition started in 2015 when I was implementing an Angular front-end with a JSON API in Rails, and the constant context switching from Ruby to js became a drag.

Rails was also the platform for my favorite project of my career — my All College Storage platform. Over 5 year period, I built a two-sided platform that automated a huge chunk of my business. One of my favorite features wa a rake task that initiated a Twilio SMS to prompt customers to update payment information through a tokenized link, that would process through Stripe. It was a simple bot that used state-machines and and simple string matching on responses, but it saved me and my customer service team weeks of their lives trying to chase down customers.

I also got really into web scraping with Typheous and Nokogiri and did some questionable mining of campus directories with an ML enabled bot. We then then used Mailchimp for email campaigns, and the Lob API to send physical postcards to campus mailrooms, to get people into our funnel. It was fun, and ridiculously effective, but yea - probably shouldn't have done that.

Current sentiment: Rails - I miss you. You were great. Do you ever think about me? I think about you.

Archive:

eHighlighter: .NET, objective-c
AllCollege v1: LAMP stack, Drupal
College/HS: java, VBA, BASIC

Quick Tangent - Design Tools

I love Sketch! Do you love Sketch? You should use Sketch.

Wrapping Up

Want to talk or nerd out about any of this? Need engineering consulting at your company? Please get in touch, and we'll start the conversation.