home
< Back to Home

Who am I?


Summary of Contents


  1. Education
    • Triple majors - Anthropology, Spanish Lingustics, International Studies
    • Assisted in linguistic research post-graduation
  2. Entering the field
    • Minor co-founder of NLP startup Semiring
    • Joined Periodic as junior front-end developer
    • Used web fundamentals (JS, HTML, CSS) + Golang
  3. More education
    • Left Periodic for intensive self-study
    • Learned full-stack development, computer science theory, functional programming
    • Created various projects
  4. Joining Woop
    • Joined Woop as full-stack engineer
    • Use MERN stack (MongoDB, Express, React, Node)
  5. How many years of experience?

There's something inspiring about the meritocratic nature of the tech world.

While most well-paying fields today require not just a 4-year degree, but often an advanced degree beyond that, a software developer can still pursue a career through demonstrated ability and constant learning.

In fact, with the rapidity of change in this industry, constant learning is not just nice to have; it's a requirement. In that sense, we are all self-taught, and relying too heavily on a few years of intensive, directed study may stunt a developer's growth.

My educational background


For my Bachelor's degree, I completed a triple major in anthropology, Spanish linguistics, and international studies at Indiana University. During the course of my study I participated in archaeological excavations in Wyoming, spent a summer in Buenos Aires, Argentina, and read a lot of Spanish literature. I wrote a senior capstone on the genesis of the Argentine national identity, from Juan Manuel de Rosas to Juan PerĂ³n.

After graduation, I worked a eclectic mix of part-time jobs, including an archaeological laboratory, art modeling, a bookstore, a coffee shop/restaurant, and assisting in several linguistic research projects. As part of one of those research projects, I even took a solo trip to Oaxaca, Mexico, to gather data on under-resourced varieties of the Chatino language(s), especially that of Santos Reyes Nopala (more about the broader project here).

At the LINGUIST List I was immersed with a staff of computational linguistics grad students, which is what first prompted me to begin teaching myself programming. I began studying Python and the basics of web development from online resources. Still being in close proximity to the university, I sat in on a variety of classes on natural language processing, computer science, and the Yoruba language of Nigeria.

Entering the field


One of the directors of the LINGUIST List, Damir Cavar, invited me to observe his new startup venture for developing NLP tools for the legal industry. The company would eventually come to be known as Semiring, and it was there that I got my first practical experience with the tech industry.

Like learning a foreign language, I was immersed in the language of technology, gradually coming to understand the lifecycle of software products, how they are produced, marketed, and distributed. By the end I was able to contribute to the company in the form of web dev work.

Another of the cofounders of Semiring, Josh Herring, had an opening for a junior front-end developer at Periodic (recently acquired by Exclaimer), and after interviewing and completing a trial project, I began there in January 2020. My position was part-time at first, but after showing aptitude and a desire to learn, the company graciously extended a full-time offer to me at the outbreak of the pandemic. I formed a solid foundation of skills there, not just the basics of JavaScript, HTML, and CSS, but also Golang and the rudiments of functional programming with Lodash.

Reaching critical mass


There's a saying that goes something like "Going from $0 to $100 is difficult; going from $1,000,000 to $1,000,100 is inevitable". I think knowledge works the same way. After a year of working at Periodic, I was beginning to feel restless. I finally had enough knowledge to learn and explore new topics independently, but instead my attention was devoted daily to the same types of tasks and the same (admittedly out-dated) tech stack.

Around the same time, my partner received word that she was to begin a doctoral fellowship with the American Philosophical Society in Philadelphia, meaning that we would soon be moving to Pennsylvania. To prepare for the job search there, and to fulfill my restless curiosity, I resigned from Periodic and began studying full-time: 8 hour days, 5 days a week.

I learned the major front-end frameworks, React, Vue, Svelte. I built APIs with Node and Go. I studied different languages, using Scala and Elixir in particular as vehicles for learning functional programming, but also dabbling in nearly every major language. Tiring of generic practice projects, I eventually landed on a fun and interesting project that would allow me to practice every layer of the web dev tech stack: The Language Workshop.

I also used this time to give myself the theoretical computer science knowledge that I felt I lacked. I particularly enjoyed learning about data structures, and even read a few books on the mathematical theory underpinning them, namely graph theory, set theory, and information theory. I also latched onto the design and implementation of programming languages, writing a few small interpreters, guided at first by Robert Nystrom's Crafting Interpreters, before later venturing off on my own to create what would become Rye.

Joining Woop


In May 2022 my period of intensive self-study came to an end when I joined Woop, an insurance technology startup near Philadelphia that had recently won a big funding package.

I've really enjoyed working with the rest of the product dev team at Woop. Rather than reaching for emerging trends, our team prefers well-established tools and techniques, using the tried-and-true MERN stack, and recently extending that stack with Next.js and TypeScript. To ensure safe and scalable code, we use an accessible version of functional programming, avoiding mutable state and for loops in favor of map, filter, and reduce. I've also really enjoyed that I can continue learning at Woop through the company's O'Reilly subscription (see what I've been reading recently here).

I've now moved to Berlin, Germany, as my partner starts a post-doctoral fellowship with the Max Planck Institute for History of Science. After 16 months with Woop, I'm saddened to leave. I know, however, that working remotely is not ideal in the long-term, and so I'm now searching for hybrid or in-person roles in Berlin.

Years of experience


We all know years of experience (YOE) is a imperfect metric of skills, but it's the best metric that we have. Since I've taken a somewhat unconventional path in my career, I'd like to clarify some things.

Experience doesn't have to be paid. There are plenty of OSS contributors out there, after all, not to mention students and hobbyists. By the definition of "years spent coding on a near daily basis", I would assert that I have 4.5 YOE.

2018
2019
2020
2021
2022
2023
2024
2025
Coding regularly
Working for a tech company
Paid by a tech company

A stricter definition requires affiliation with some institution, like a company, bootcamp, or university. I spent over a year regularly meeting with the founders of Semiring. My role was mostly as an observer, perhaps even a student, but I did contribute my labor, including the company's first website, and for a time I held equity in the company. By the definition of "years affiliated with a tech-centric institution", I have 4 YOE.

Finally, the strictest definition omits any unpaid or non-technical labor. This definition only includes paid work in technical roles. By this definition I have 2.5 YOE.