PyDev of the Week: Frank Valcarcel

This week we welcome Frank Valcarcel (@fmdfrank) as our PyDev of the Week! He is the cofounder of Cuttlesoft. If you’d like to see what projects Frank is working on, head on over to Github.

Let’s take some time to learn more about Frank!

 Frank Valcarcel

Can you tell us a little about yourself (hobbies, education, etc):

I’m a Florida native but I live in Denver, CO now after relocating my company’s HQ here about 4 years ago. We came from Tallahassee, FL where I went to school at Florida State University and started our company out of community accelerator called Domi Station.

I’m a bit of a workaholic, so I don’t get to enjoy hobbies too often, but when I have time I enjoy reading, biking, fishing, hiking, and photography.

I also have a penchant for travel but the pandemic has made returning to that an uncertainty.

Why did you start using Python?

I actually started with Python in one of Udacity’s very first online courses. I’d just completed my first programming course in college (a sophomore-level elective on game development with C++) and wanted to prepare further for my upcoming classes.

The Udacity course taught some CS basics and a lot of the quizzes were in Python. One of the course’s capstone projects was implementing a simplified version of Google’s initial PageRank algorithm and a web crawler. This was probably before beautifulsoup had been created so the assignment was definitely a challenge, but also a lot of fun.

What other programming languages do you know and which is your favorite?

I started with JavaScript in the old days of the internet browser, and have been developing for the web ever since. I was taught C/C++ in college but never touched them afterward. I’ve written some trivial programs in Go and Java, but the only languages I’d claim a real proficiency for are C#, Ruby, and PHP.

Ruby is probably my second favorite language next to Python. I really like how expressive Ruby is.

I’d like to learn Elixir someday.

What projects are you working on now?

I just wrapped up a fairly complex backend project involving Django, Celery, and Google’s Firestore. I don’t get to act as an engineer too often because I’m mostly responsible for the company’s day-to-day operations, so this was a fun change of pace for me.

Which Python libraries are your favorite (core or 3rd party)?

I like Flask a lot and even wrote some packages for it, but I’ve gravitated back to Django now that the business engages with more enterprise-level projects.

I love Jupyter! It’s my go-to prototyping tool these days.

spaCy and Prodigy are two impressive tools for NLP and AI development from the team at Explosion.

Other notable favorites:

  • black
  • pytest
  • pandas
  • poetry
  • (a port of Ruby’s VCR library) record/playback HTTP requests for testing
  • arrow
  • freezegun “allows your Python tests to travel through time by mocking the datetime module”
  • vscode-python (technically not Python, but it deserves to be on this list)

How did you get into organizing Python events, like PyColorado or Boulder Python?

I got started in Florida. After my first PyCon (Montreal 2015) I returned home inspired to start a Python User Group in Tallahassee. There were already user groups for .Net and Java (predominantly in use by the developers employed in the public sector). It was fun and taught us a lot about how to foster community, but we ultimately turned it over to new leadership and stayed on as sponsors.

We were fortunate to join established groups when we relocated to Colorado. That made it easy to network, recruit, and practice conference talks in front of local audiences.

I was actually giving a talk at Boulder Python when Ian Douglas announced they were looking for new organizers, so I volunteered. That’s how I met Scott Vitale and Zoe Farmer, and they would go on to plan and co-organize PyColorado with me.

PyColorado was just an idea we all had. I went to a lot of regional conferences and couldn’t understand why Colorado didn’t have its own! It’s an incredibly beautiful state and there are A LOT of Python users here. So we gave ourselves a couple of years to pull it off, recruited some of the best organizers we knew, and went to work.

That’s still a crowning achievement for me and I hope we’ll be able to host another one someday.

Can you share the back story for how your company, Cuttlesoft, came into being?

After my first year at FSU, I’d accumulated enough experience from coursework and internships to secure my first job as a contract engineer working for a nationwide consultancy.

I stayed at that job for about a year and by the end of it learned I love consulting work but didn’t like the company I was working for. I think Gerber’s explanation from the E-Myth sums up what happened to me as I vividly remember a moment when I told a coworker “I can do this better”.

I spent the next year freelancing for startups and even helped build a team to launch a new venture in the benefits management industry. Throughout this time, I continued to dream about running a software consulting company. After a weekend hackathon at Georgia Tech, I finally succeeded in convincing Emily to go into business with me, and that’s how Cuttlesoft was founded.

Is there anything else you’d like to say?

Yes, two things.

  1. Please contribute to the PSF, if you can. Or consider becoming a sponsor. These donations support great initiatives all over the world and help support our global Python communities.
  2. Be kind, supportive, and most of all patient with maintainers. This is general advice but it feels important. Everybody has been affected by the pandemic in some way and life for most is probably full of new and unexpected challenges.

I encourage everyone to practice empathy, and if you want to learn more about the struggles that open source maintainers face, I have 2 recommendations for you:

  1. Read Nadia Eghbal’s book Working in Public: The Making and Maintenance of Open Source Software
  2. Watch Brett Cannon’s talk on Setting Expectations for Open Source Participation

This bit hits close to home for me and feels like a conversation I’m constantly having with strangers over the internet. We shouldn’t need to advocate for civil discourse in open source.

Thanks for doing the interview, Frank!