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_name
d. 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.