I created DEV and have other positive qualities, ask me anything!

twitter logo github logo ・1 min read

It's been a while since I did an AMA, and I'll be hanging around the site on support this weekend, so post some questions and I'll try to respond to a bunch today and over the weekend.

FYI: If you want to follow along, you may want to click the "three dots" in the actions menu and subscribe to Post Author Comments which will allow you to get notifications when I respond to comments here.

About me: I'm a coder from Canada. I live in the New York City area (no longer right in the city). I'm a semi-self-taught developer with a bit of formal CS education. I created this community and brought @jess and @peter on to help make it survive, thrive and grow as a business we could work on full-time.

Ask me anything!

twitter logo DISCUSS (119)
markdown guide
 

It's no secret that dev.to is one of the most positive and supportive developer communities.

What do you think is the most important thing when moderating a community to ensure that everyone feels welcome and included?

 

The term I use in my own mind to talk about this is "chaotic empathy".

People are wired to be empathetic but mostly in a known scenario where it's pretty clear who is being affected by what.

Since anyone could be reading anything on DEV from any context, we need to account for the "chaos" of the situation. We can't be overly consumed with any one solution for one problem, we really need to be thinking holistically about what might affect people which ways.

I draw on a lot of personal anecdotes and then try to apply those scenarios to folks who might feel the same way but are in different scenarios in terms of their personal vulnerabilities, background, insecurities, etc. And I've tried to meet and befriend folks from as many genuinely different backgrounds as possible and really try to find ways my world view needs shifting.

Software developers tend to solve for problems they most care about. I truly believe that we care about certain interpersonal and safety-oriented human needs more than the creators of Twitter and other platforms ever did—and it's hard to retrofit those values onto a project or company after the fact.

 

As promised:

Secret to these luscious locks?

 

Wow, that is an epic follow-through!

 

And, apparently, still a closely guarded secret.

 

Hey Ben,

Love the site, it's everything a tech community should be! It first caught my attention with the How I Made this Website Hella Fast Without Overcomplicating Things post on Reddit.

I saw you allow for canonical urls to reference posts on other websites, really stoked for that. I was thinking about cross posting some things I'd written in the past here, but I don't actually see many other people doing that kind of thing. Do you think the community reacts differently to cross posts, and if so, how?

Thanks!

 
 

How the heck did it come to your mind to go from posting hilarious fake O'Reilly book covers on Twitter to build a Medium-killer community of developers?

(Which I knew it was going to be a huge hit since day one... Yeah, it immediately seemed that good to me.)

 

Thanks for being such a longtime supporter!

To apply a general theme to this question, I'd say I'm good at identifying bullshit. Satire like the parody book covers was a real opportunity to flex my bullshit sniffer in terms of my everyday life as a coder. Smelling out those hidden, unsaid things about life in software.

And the bullshit there is that the whole world runs on software but we still have no idea what we're doing as a whole and just try our best.

Likewise, I thought there was a lot of clearly "unfinished work" to be done in the realms of publishing, social media, community, software development, etc. So beyond gently criticizing what was funny about the whole thing, I also want to be part of the solution. I think collaborating, communicating and generally finding community is critical for humanity and it will never be the same as before software/internet.

So they're two sides of the same coin and I've always just tried to make the most of what I can do. Lately I've been super consumed with the building side. I hope to dive back into jokes at some point, but when I do I want it to be in the form of a sitcom. I don't have the time right now to write speculatively but if anyone at Netflix is listening, I'd love to pen a tech-related satire to rival Silicon Valley on HBO if you'll commission me upfront for the work 😄

 

Hahaha I would so watch that!

But, in the meanwhile, I'm just so glad to be part of this community ✌

 
 

I used Lynda.com (I pirated the videos because I was broke af but later bought a subscription to pay it back).

"Self-teaching" isn't really the right term because I had a Lynda teacher. I just didn't have anybody grading my work or answering questions per se.

 

Thank you for confessing to the thing we've all done but would never admit to.

 

As a contributor to the codebase, I think it's awesome that you opened sourced the project. I remember the day it went from private to public. It was a pretty crazy day.

Once you flicked the switch and open sourced dev.to, was there an "oh shit, was this a good idea opening this up to the world?" moment or was it more "Yeah! YOLO!"?

 

If you were not in tech and could do anything you wanted, what would it be?

For me, perhaps from watching too much Food Network, I'd want to open a burger shop. We would just do really good burgers. I really like burgers.

 

I'd want to open a burger shop.

I'm legit opening a vegetarian burger place at some point soon. I also really like burgers, but don't eat meat anymore so all the more reason to bring my meatless burgers to the world.

I'm dragging my feet on some of the steps here but I 100% intend to make this burger joint my side project. And if I can be helpful in allowing you to reach your burger dreams let me know!

Otherwise, I'd love to write a sitcom, but I know it would be a stupid amount of work and stress so not something I'd embark on unless it really was my new life's work. I used to really want to do that but thinking about it now makes me a bit queasy by picturing the work involved.

 

That's so cool if you open a veggie burger joint! I was vegetarian for a couple of years and then when I went to Barcelona for work, I found it hard to be vegetarian there, so I started eating seafood again and some chicken. When I got back to Canada, it just kind of stuck, but I still eat a lot of vegetarian meals.

Will it be called Ben's Burgers? 😉

It will be called BB’s Burgers and BB does indeed stand for Ben’s Burgers.

I’m 100% not kidding with any of this. I’m glad I get to say it out loud.

PS I’m gonna put all the recipes on GitHub and let the community make PRs it they can improve on them.

 
 
 

Question 1

Do you want to use some modern / next gen technologies to improve DEV? like WebAssembly, Brotli compression, prefetch, WebP / APNG and other cool stuff. Would be great if DEV automatically converted all images to WebP.

Question 2

Do you plan to improve the article editor? Article views are dope but editor is a bit difficult to use because you have to wait till mardown rendered. Would be cool to see split pane with preview and editing.

 

1:

Yes!

  • We already convert all DEV images to WebP where the browser permits and have done since day 1. - We will adopt Brotli as soon as it's practical to do so.
  • Prefetch definitely coming some day, didn't want to be an overly new adopter of H2 stuff which could force us to rethink our architecture.
  • I'd love to be early into WebAssembly if we can find a really good reason to do so. I've been mostly not adopting a lot of new and shiny client web stuff in JS because I'd rather jump to leveraging WA.

2:

Yes! But not rushing anything. We need to staff up and/or get organized enough to have someone full-time dedicated to this part of the site and dedicated to supporting community members who want to ship in. We currently have bigger fires to put out than the editor 😄

 

Thanks for detailed response!

  • I agree that for now there is no place where DEV can use WebAssembly
  • Brotli compresses assets better than gzip which is very cool.

ruby gem | web.dev article

  • prefetch, preconnect and other "pre" just preload content / DNS to load pages faster so it won't affect global architecture. article on CSS Tricks

  • I'm waiting for editor improvements because I have to use StackEdit. Yeah, no need to rush it, it's not the #1 task, just a small UX problem.

 

@ben I recently joined Dev, though I had been a reader for past 2 years.

I made a small chrome extension that allows me to send data from zettlr editor(github.com/Zettlr/Zettlr) included in the extension to v1 editor text box.

zettlr allows me to preview the posts while writing it and allows for formatting shortcuts.

hopefully I'll launch it next week on github as open source, but I want to working before that. I doesn't run correctly on linux or Mac, only in windows at the moment.

oh looks cool. But I'd like to use just DEV without an extension :)

 

Did you always know the DEV community was going to be such a success, and if so how did you know? We’re super curious if you know how communities are made, since you’ve built one yourself. With the help of the amazing DEV team too, of course!

 

I knew it could be a big success, and planned for this scenario as I went. But I also knew there were plenty of smaller successes I'd have been happy with.

I think I'm pretty good at holding a lot of different scenarios in my head, so I never thought there was one way communities were made successfully but I had a lot of different possible outcomes and always tried to pay a lot of attention to what happened differently than I expected and made sure to care more about what was important in terms of principles of inclusion, friendship, teaching etc. rather than being too caught up in specific details of what makes for community.

As we continue to grow, we will face new challenges all the time, but also have new resources and more reputation to build around. Eventually we may face entirely unique challenges because it's not like this whole "internet" thing has been around for 1000 years. We need to stay principled and generous. If we do that, things will turn out okay. 🙂

 

Having such a balanced perspective has got to be so important when to comes to building anything. Being romantic about things going a particular direction blinds us to opportunities to pivot when its practical.

Your focus on those types of principles I think must be in part one of the biggest reasons for the success of the community. They’re the types of principles that not only cultivate community, but really focus on providing your target audience what it really wants - I guess focusing on just making a “big community” is more of a vanity thing - instead it’s been a side effect of the culture you’ve cultivated.

And it has exploded! Congratulations and thank you for providing us and everyone else a platform to share our wealth of knowledge. You’ve created a lot of unique opportunities for us that wouldn’t have been there without DEV and the amazing people that roam here!

When you're thinking really longterm and not accepting undue external pressures, the most obvious way to act is out of principle with the wellbeing of the users in mind.

We've made sure to only go in directions which could allow us to stay principled. When we've taken on investments, we've always made sure to do so with folks who share the principles and agree that our best path forward is to stick to them.

We've created a universe, by going open source, by making certain community promises, that nobody could talk us out of our principles even if they wanted to. We'd always be able to point to our predetermined choices as putting us on a path we can't stray from.

Your mindset and values sound scarily close to mine. I hope a circumstantial partnership comes about in the future.

Thanks again for building the best darn developer blogging ecosystem in existence!

 

Hey! Love your work. Two questions:

  1. How do you think software developers can contribute to solving the "big problems" of the world - I'm thinking environmental collapse in particular? In other words, as I asked previously, can code save the planet?

  2. It's obvious one of your values is giving/contribution - why is that so strong in you? What is its origin and how do had to cultivate it?

 

1.

I think we spend way too much time contributing to new ways to do low-level things (new frameworks, libraries, etc. etc. etc.) and not enough time contributing and collaborating on things that are closer to the humans on the end. There are a lot of cool open source projects where folks come together to build things that impact for an obvious good.

I'm not sure what it is but I think there's more skepticism around things "meant for good" in terms of whether they'll end up succeeding in any way. It might be easier to picture the benefit of a new npm package?

2.

That's a tough one, let me try and introspect on it...

I have always been "ambitious" for one reason or another with some rebellion mixed in there. That's probably a bit nature, a bit nurture. It's pretty visible throughout my whole family in our personalities.

And then I think there's a combination of growing up poor/single mom alongside a heightened awareness of my own privilege as a smart healthy white male from Canada. Even if I felt like I got the short end of the stick in terms of always having to worry about money, it's pretty clear I'm in about the 99th percentile in my actual fortune. I think I try to see things from both sides of that lens and in the end I just want to do stuff in that regard.

I also prefer actions to words where I can help it. I'm 100% willing to get involved in vocal activism where I'm needed, but I prefer to spend my time working on solutions. But I'd never think anyone lesser for being more activist than inventor. There's a tremendously useful place for both things.

2b.

It's hard to know what the perfect thing to contribute to society is, but I think it's possible to identify things that are pretty clearly "net good". I try to find situations where the outcome is better than the alternative. In web dev I like to focus on performance as one of the most measurable UX feature. You can change the colors or button position or anything on and on and on, and there are so many variables that you may never know whether you are truly improving things. But page speed and time-to-usability are super measurable and it's very clear that going in one direction is better than the other.

So when faced with the many tradeoffs of good and bad things, I try to find areas where it's pretty clear my work offers net good in simple terms that don't have to be overly justified. (Because anything is justifiable if you're good at debate). 95% of our choices live in some kind of murky middle where you don't want to "overcorrect" in any direction. But like web performance, there are a handful of times where you're allowed to "go full steam ahead" because the parameters and outcomes are pretty clear. So I try to look for those scenarios.

 

Thanks for your insights! Do any of those "net good" open source projects come to mind immediately?

Net good is subjective, of course, but folks like Progressive Coders Network do pretty great stuff.

progcode.org/

I really appreciate good execution. I think a lot of the most well-meaning orgs are not necessarily great at getting stuff done. IMO ProgCode got stuff done.

I haven’t followed or been involved lately but I know they had meaningful successes in the past.

I think if we could collectively figure out how to do more human-facing stuff in open source it would go a long way no matter what.

 

I really admire what you and the DEV team achieved so far in so little time.

What would you say the reason for DEV's fast growth? is it leveraging twitter power? or using dev rels in a smart way? or sharing it through conferences? or the tasteful sponsorship? or a mixture of all? or just a secret sauce totally different than all that?

 

Leveraging Twitter as a start, but also knowing that it's not the be-all-end-all of organizing on the Internet.

I think the big thing is always looking to the next step, rather than being too consumed with what's currently working.

I had an online business in college which allowed me to make a lot of mistakes in terms of being overly reliant on gimmicky traffic stuff and short term thinking. With DEV I've always tried to predict scenarios years out and not let anyone argue me out of principled thinking about how to treat the community with respect and fairness as we grow.

 
 

As a fellow Canadian, I was wondering why you decided to move down south and if it was hard to leave your home country?

 

I love Canada and would love to move back some day. I'll be home to Halifax in a few weeks for a friend's wedding. I am a dual citizen so moving to the US was fairly easy. I wanted a change of scenery and New York was an appealing adventure!

I've created adult roots and ties here in the states or else I may have moved back already. The Toronto Raptors championship also reinvigorated some of my national pride! 🏀🦖

 

Where do you see dev.to by the end of this year, this time next year, and in 5 years?

 

By the end of this year we'll serve around 7m "unique visitors" per month and have ~450k registered users—meaning we'll be serving a bigger and bigger chunk of the whole software world.

And in general we expect that progress to continue until we reach "full saturation" the way some other platforms have in our industry.

But growth wouldn't be very useful if we didn't evolve to meet the needs of a bigger and bigger community. By the end of the year I hope we have really sewn together a lot of UX concerns which have been around on the site for a long time. We have a few small launches coming up but mostly want to simplify and stabilize the experience.

We went open source last August and one thing we want to have kicked off by the end of this year is delivering on the promise of making it possible to stand up "separate, but compatible communities" using our software. We'll have a lot more info on that coming up, but we really don't want to grow and grow and grow until we are a monolithic community which owns everyone's data. We want to purposefully reduce our role as central data owner and become a bit more decentralized.

Besides tastefully evolving our current business models with sponsors, and listings etc. we want to make our business model ultimately center around hosting communities on our software where we can provide a benefit without owning everybody's data. Within five years hopefully we've accomplished our goal of serving many communities we don't "own" instead of "owning" everything. dev.to itself is likely fairly big in this scenario but we don't want to grow and grow and grow until we consume everything.

 

The other day, I saw someone posted a link of site devtomanager.com. My initial reaction seeing it - wow, someone has created an instance of dev.to website ...? I wonder if this already happening and we have list of sites running dev.to code?

 

If the entire web (but NOT computers) were to suddenly go "blip" and cease to exist, what would you like to code instead? (Assume you can get any documentation and programs/packages you need through other clever means.)

 

I feel like I may have taken this answer in the wrong direction because I first interpreted it as a scenario where the web were to be sort of "reinvented", but below I'll say just what I might be coding on without "the web", as my current career/interests is so rooted in web.

That's a pretty scary scenario because for as much as we are threatened by corporate misdeeds and government overreach with today's web, you can bet that if things started from scratch today with the undeniable knowledge that the whole world runs over the Internet, you can bet that there would be power grabs the likes we never saw as connective technology was first coming up.

That being said, if we got the chance to start over, it would be pretty great to re-invent some obvious winning technologies in a way that wasn't so unilaterally driven by corporate profits, and I think Google and Facebook are the big ones.

Free market capitalism helped those companies become a thing because it's hard to motivate the thousands of engineers required to help out without the monetary incentive, but if we got to start over from scratch knowing we could beat these folks to the punch I think we could more effectively do it grassroots.

My current work, more practical in nature, tries to touch on these ideas while leveraging the interplay between grassroots development, software that is not built for egregious data mining, and free inspection and distribution of the source code alongside the capitalistic mechanics that help these things actually happen. I think my efforts are pulling the right levers in terms of overall contributions to the greater good, but with the opportunity to start over from a blip, I might get to take a more "radical" approach.

If I were to just code on non-web stuff (lighter answer)

I mean, if I had to apply my coding knowledge to a whole new domain I'd have a hard time passing up alternative energy as the place to be developing software. It's the one threat we face and I can't help but be motivated to code to solve big problems.

A lot of the science with alt energy is non-software but you can bet that in every challenge is a lot of software in terms of making processes more efficient, creating simulations, etc.

These days I support and follow projects committed to alternative energy, but if I had to go non-web I'd probably find out how I can make the max impact.

 

Yeah, the "just code on non-web stuff" was the answer I was aiming for. :)

 

I started learning how to code some months ago and felt like it was super hard to decide how to get started, because of the endless possibilities available online.

What's your advice for new and aspiring developers today? How should they start?

 

That's a good question.

What comes to mind right away: If you can establish a project you can commit to, your choices on what to learn can be guided by context. Don't learn just to learn (unless you think that way, but it doesn't sound like it).

If you can come up with an interesting project you want to see in the world, you can learn at just the right pace to create the thing. And then once it's "done" you don't need to jump on to something new. You could refine that initial thing if you're still excited by it. You'll learn a lot in this process too.

 

I really like this answer. I got stuck in well if I want to do this I should learn this but if I want to learn that I should learn this first and on and on only to get all twisted up. Love the site!

 

You wrote the first version of DEV all alone?

Did you had any overall ideia in terms of development about what to do, how to start, any previous experience in build similar platforms or was a freestyle beggining?

 

I tried to stick within the things I knew Ruby on Rails could do well, and put off the things that might be harder.

I also settled in on one core feature above all else: performance.

I figured if the pages would load quickly, people would want to come back. And when you make this the #1 priority it helps you simplify and ship what matters.

 

Tks for the quick tip. You've done a great job.

Sometimes im on cellphone with a poor signal, then a poor connection, and i still can read the dev.to posts ;P

 

How did you get codepen to integrate with dev.to from thier side?

 

This was my email:

link to full res

I tried to make saying yes pretty easy and to let them know they wouldn't be the only ones doing it. But I also never would have bothered to make this ask in the early days of DEV. I knew we had gotten big enough to be trustworthy as an integration partner by then.

I made sure to reach out to form a good relationship and wouldn't have made this kind of ask if I didn't think it made a lot of sense for both parties involved.

 

I'm a big fan of Dev I'm wearing my shirt today 😁

 

That's really cool! And lovely to see this was a success.

 

Do you wish you would have done anything from the beginning with DEV that you didn't get around to until recently?

On the flip-side did you do anything in the beginning that looking back you realize you didn't really need to do?

 

The process of going open source was way more difficult because it wasn't a day one thing, but now that it's been almost a year it's hard to imagine a time where we weren't open source.

You can look back into our commits migrations to find about a million things we added and didn't use and later removed. But I wouldn't want that to force us to get too narrow with our ideas around product.

Besides the many little things, I can't point to anything that we did that didn't serve our longterm learnings.

 

Today we, the tech community, use Twitter primarily as social media. Do you think Dev can become the social media for the tech community? Do you already have plans to go into that direction? If so what features would you build to make that happen?

 

Do you plan to move DEV away from open source in the near future?
Or any plans to put DEV behind a paywall?

 

No and no.

DEV will always be open source and we'll never have a paywall.

We have several monetization paths, some already happening through site features and tasteful partnerships and the rest center around our future as a commercial open source company.

We can't wait to make progress in pushing open source social software together and building a sustainable business around servicing and hosting our more decentralized open source initiatives.

 

If you were to build dev.to again, would you use the same tech stack or would you change something?

 

On the one hand, I'd probably use the same tech stack because I haven't necessarily gained an expertise in any different stack.

On the other hand, the tech stack we used is especially great for poking around on ideas and changing things as we go. If we started over, we might be able to go with something more optimizing for where we knew we ended up.

That could either be optimizing for ease of contribution, or simply optimizing for performance due to knowing the general shape of the app better.

 

Great! Got a few though?
What was thought pattern like when you decided to build this system; in terms of language choice and framework choice if any?

Your development style, how did you go about it. Did you have any methodology you followed?

How long did it take to get into production? And why?

More will come later :) sorry for the many questions though. Just love your site!!!!

 

What were your expectations at the very beginning of this project and what was the moment that made you come with this idea?

Also, how did you promoted this project at first and why you think it's one of the best around? What makes it special?

Cheers!

 

I expected this to stay a side project for way way longer, basically be this little thing I did.

Things have gone to plan in a way, but most things were more successful than I expected—not that it wasn't due to hard work.

I started @thepracticaldev on Twitter and kept that up as the only thing for about 1.5 years before even building dev.to, I was very slow and steady building up the audience. I wasn't sure how long it would take and I budgeted for ten years before I'd give up.

It wound up going faster.

 
 

If money was not the issue, what would you rather do for a living...

What you're doing now, a horseless show jumper, or something else ? :D

ps. I saw the photo of the jumping, super impressed!

 

If life were simpler and I could reset entirely, I'd love to do something for a living where less could go wrong and there are fewer consequences. I'm glad I'm doing impactful work and I love to code but the stressful thing is that I am responsible for a lot of things at once and have a hard time disengaging.

Since I don't plan to change things up any time soon, it would be awesome if I could maneuver my current work to the point where I can more easily disengage for periods of time without too many concerns of things going wrong.

And now that you bring it up, actual show jumping would be one hell of a fun thing to get into full-on. I don't have the patience to work my way up in that craft. I don't like mucking stalls or picking hooves or pretty much any of the dirty jobs I've had around horses, but if they just let me be the rider and I didn't have to do any of the other jobs or even training with young horses, that would be pretty sweet 😄

 

Lot's of people struggle with disengaging, that's a side effect of caring about what you do. I honestly haven't figured this one out.

I guess everyone would like to have a few clones of themselves to do the work while our original selves go out to play like we are kids again. Riding, running, dancing etc. without a care in the world.

Have you started shopping for a clone? (business partners, team members etc.)

BTW. a friend of mine decided to become a doctor a while ago, so she moved to a different country to study medicine. She didn't even speak the language there. She was 56 when she started University a few years ago, yes 56.

Just the other day she casually mentions that she was a professional jockey in her younger days and that riding is her "first love" and she wants to get back on the horse!!!

 

Any plans on expanding DEV.to to, for example, a podcast or something like that?

 

Yeah, we'd love to expand to podcasts but don't want to do it until we clearly have the resources to do it without being a distraction. DEV team member @aspittel is part of one of the best new podcasts Lady Bugs. You should check that out.

 
 

Hi Ben, You are doing a wonderful job with dev.to.
Lately I m in to learning css, and looked into dev.to css by inspecting in the browser and learned few things.
I have question why you have not used flexbox/grid for layout and followed the approach of floats and absolute positioning for layout?
Is there any reason other then browser compatibility?

 

Of your positive qualities, which would you say is your bestest most favoritest most positivest qualitiest quality that you have?

 

I am the very model of a modern Major-General
I've information vegetable, animal, and mineral
I know the kings of England, and I quote the fights
historical
From Marathon to Waterloo, in order categorical
I'm very well acquainted, too, with matters
mathematical
I understand equations, both the simple and quadratical
About binomial theorem I'm teeming with a lot o' news
With many cheerful facts about the square of the
hypotenuse
With many cheerful facts about the square of the
hypotenuse
With many cheerful facts about the square of the
hypotenuse
With many cheerful facts about the square of the
hypotepotenuse
I'm very good at integral and differential calculus
I know the scientific names of beings animalculous
In short, in matters vegetable, animal, and mineral
I am the very model of a modern Major-General

 

When people ask me how I am at work I sometimes say

I am in reasonable health, and happy to meet you all once more.

Which nobody as yet has understood

 

Bonjour Ben,

Simple question : parles-tu le français ?

;)

 

Ben oui, mais mon aptitude et confiance eté meilleur quand je suis jeune.

 

Hello fellow Hustler,

I have two Questions.

Question 1

All entrepreneurs have hard times, can you share one such story while making Dev.to when you thought that this could be the last day of your company and how did you cope up with it.

Question 2

What will be the top 3 books you will gift someone you are mentoring?

Hope I’m not too late and will get a response. 😅

Classic DEV Post from Jan 29

I'm a frontend developer. Or am I?

As a frontend developer, I've always found it difficult to draw the line betwee...

Ben Halpern profile image
A Canadian software developer who thinks he’s funny.

dev.to now has dark mode.

Go to the "misc" section of your settings and select night theme ❤️