The devs never get the spotlight. The devs never get the glory. Without their countless hours of coding, programming, vetting, error-checking, brainstorming, problem-solving and just flat-out doing, nothing in crypto would ever get done. Bitcoin doesn’t exist without devs. When we say that crypto winter is the time for “BUIDLing” (building), what we’re really saying is that this is the time for developers.
Just ask Justin Florentine, a senior protocol engineer for Ethereum, or specifically at Besu, an Ethereum client. (Technically, Florentine works for ConsenSys, which cuts his paycheck.) The work is not glamorous and it is not easy but it gives Florentine a satisfaction he never quite felt in his earlier tech career, which dates back to the 1990s and includes a stint at ESPN.
This article is part of CoinDesk’s “BUIDL Week."
“It's hard. It's really, really hard,” says Florentine, a 44-year-old family man who lives in Philadelphia. But the rigor is also the reward. “It’s super-fulfilling work from an intellectual capacity,” says Florentine, “and it’s super-fulfilling from a social capacity.” Bonus? You’re “constantly being surrounded by geniuses.”
Too often the world of crypto is abstract, pie in the sky and focused on philosophy and big dreams. So to ground us in the nuts and bolts, Florentine gives a breakdown of what the job of a dev is actually like, and why when he started he was “sh**ting bricks.”
Interview has been condensed and lightly edited for clarity.
Let’s get into your workday. Walk us through it. When do you start?
Justin Florentine: I have a family. I wake up at about 7:30 a.m. and my wife’s already at work. My kid is maybe out the door, maybe not, probably not. He's probably whining about it.
I work from home. I have a dedicated space where I work; it’s a shed in the backyard. So I go out there, I do a little yoga and then check my comms, which is a huge pain in the ass because there’s email, Slack, Discord, Signal, Telegram – a million different communication sectors.
I’ll have a cup of coffee, and while my day is getting started the European team is sitting down for their lunch. I’ll touch base with them and plan the day out.
What does that look like, specifically?
I kind of have these different archetypes of days, honestly. Not every day is the same. If I'm in the zone on something, maybe I sit down and I start programming for two hours at a time, take a break, do something else, then two more hours at a time, etc. On days like that, I'll be turning off a lot of comms and then check in only once at the end of the day.
Other days are a little bit more social, and I have to have conversations with people. And there’s always new code that needs to be reviewed.
Can you elaborate on that?
So, we do everything open source, and it's all hosted on GitHub. And so when somebody has a change that they want to make to the code base, somebody else has to approve it, take a look at it and make sure that it's not doing anything crazy. And that's always good fodder for other conversations that you may have with the other developers, which usually happen over Discord.
I also do a lot of work with the Protocol Guild, and I’m also doing things for the Ethereum Foundation. So there's a lot of different modes you can be in as a developer and maybe kind of jump back and forth.
What time do you call it a day?
Unfortunately, I kind of work better at night so I may take a break mid-afternoon, take a nap and then come back and work a little more after dinner. I'm a big baseball fan. Go Phillies. So in the summer I'm basically listening to a baseball game on the radio every night. And that's actually a really good time to get some work done, because, frankly, baseball can be a little long and boring. But it's great background noise.
At the end of the day, nobody cares when I work, but I try to make myself available in the evenings so I can sync up with the Australian team.
How many hours per week do you work, on average?
I guess anywhere from 40 to 45 or 50, at the most. I’m pretty big on work-life balance, because I’ve [been] bending this for a long time.
Crypto is 24/7 and across the globe. How do you handle getting bombarded by inbound messages at all hours of the day?
I mean, that's just knowing how to operate your notifications. That's not a challenge, honestly.
What are the main upgrades and improvements you’re working on?
Our main focus, first and foremost, is keeping up with the Ethereum road map. So, for instance, right now I'm working on EIP [Ethereum Improvement Protocol] 4844, and that is a scaling improvement. That’s going to allow L2s [layer 2 blockchains] to operate a little bit cheaper. Well, a lot cheaper. So those are always at the top of the list.
How do things like assignments, deadlines and decision-making work? Who’s organizing meetings?
It really is very decentralized and organic. So there may be people that work at ConsenSys who say, “Oh, you should work on this.” And we get to say, “Yes, good to know. Thank you for your input. But really we work for Ethereum, the protocol,” and the day-to-day of what we do has a lot more to do with that.
I get this in theory but it’s tough to see it in action. How are you keeping track of things?
So, for instance, how do we organize work? Well, we say, OK, great, here's the schedule. Are we on schedule or are we behind schedule? And we have a constant feedback loop with the rest of the core devs. That's where we get our orders from, I guess, as much as they’re orders.
But, really, it's that rough consensus that we come to through our different social networks where we say, “Yes, this should be included in future upgrades,” or it should not be included in future upgrades. And then the protocol defines the workload. The protocol defines what needs to get done. It's up to us as a team to then decide, all right, who's going to do what.
So it's very flat. It’s very organic. It’s very nonhierarchical. It is virtually meeting-free.
Really, no meetings?
I have a daily meeting with my team, but then on most days I’ll have none other than that daily status meeting. My team is very spread out; I’m in the U.S. on the East Coast. I have a colleague on the West Coast. Then there are five or six in Australia and then another seven or eight in European time zones. So for the most part, everything's done asynchronously.
What’s the social component of the job like? How do you make friends with coworkers and stuff?
Oh, that's a really good question because these are the most impressive people that I've ever worked with. It’s like you’re constantly being surrounded by geniuses. And they're a lot of fun to be around. I do give them a lot of [crap] for being too crypto-focused, though.
What do you mean?
At a gathering like a devcon [developer convention], one of my favorite things to do is call people out and say, “What are you doing with your life outside of crypto?” And they're like, "What are you talking about? There's nothing outside of crypto." [Laughs.]
But they're all wonderful people. Super-warm and engaging and really comfortable with disagreeing with each other in a very gentle, professional and productive manner.
What do you like the most about being an Ethereum dev?
Well, number one, I’d say just having to step up. When I got this job I was very scared. I was sh**ting bricks. I was like, man, this is for real, dude. You're working on the second biggest protocol in crypto, with hundreds of billions of dollars secured. And The Merge was coming up, which needed to happen without any downtime. It was kind of bonkers.
But everybody was so welcoming when I got here. And it’s super-fulfilling work from an intellectual capacity, and it’s super-fulfilling from a social capacity. I’ve worked at so many places where they say, "We’re going to change the world." And by the time I left it felt like a waste of time. But in the two years I’ve been doing this, we transitioned the network to a proof-of-stake, and that’s a measure contribution to reducing climate change and power usage.
The most challenging part of being a dev?
It's hard. It's really, really hard. Like, really mentally hard. Like, there's so much of Ethereum in general that I still don't understand. I've gotten comfortable with that.
How so?
I’ve kind of settled in to being a little more focused on the [Ethereum Virtual Machine] itself and sort of picking out my battles, because it's so easy to go down a rabbit hole and then look up and see that it’s two in the morning, and now your next day is ruined.
And it’s stressful. There's no two ways about it. Like, being online for The Merge when that was happening, hoping everything would work as well as we tested it.
Any other downsides?
It sucks when people give you [crap] for being in crypto. Like, there are so many people who have completely written me off. They’re like, “Oh, you’re now a libertarian blowhard and you’re making magic internet money and destroying the planet.”
But that’s a small price to pay.
What’s it like working during crypto winter? How has the job changed now that the overall industry vibes have kind of soured?
For the people that I care about, their vibes have not soured at all. They're actually really refreshed by it. There’s less noise. The signal-to-noise ratio is much better.
So you guys never think about price?
We do think about price to the degree that we kind of have to plan. It does have impact on the mechanics, or the crypto economics of certain things. There are some things that we have to plan for.
Can you give an example?
For instance, EIP-4844, right? That's going to make [layer 2s] cheaper and more effective. And at the end of last year, gas prices were in the doldrums so we were like, OK, I’m not in a big rush to get 4844 done just to make the L2s happy when gas is cheap.
But we kind of have to be aware that this is all cyclical, and with a bull market comes higher usage and we have to get out in front of that. So we do care about the market cycles in that we try to position upgrades for maximum impact.
How about thinking about crypto prices with respect to job security? If the price of Ethereum crashes, say, are the devs' jobs at risk?
Here's the thing. We work for ConsenSys, and Joe Lubin is dedicated to client diversity. And, honestly, as far as the ConsenSys empire is concerned, we are a small part of that puzzle. We’re a 15-person team, and overall it’s a company of close to 1,000 people. If the price completely craters then I think Ethereum has bigger problems.
Advice for anyone thinking about becoming a dev?
STORY CONTINUES BELOW
Recommended for you:
Just do it. Just jump into it. And the number one thing is to expect to be intimidated and be comfortable with that.
Nobody knows what they're talking about 100% [of the time]. You'll meet some of the most terrifyingly brilliant people. Just kind of sit back, listen to them and understand that they're not judging you.
Awesome. Thanks for your time and good luck with 4844.