As we work every day on this community, it’s hard not to be overwhelmed with feelings of thankfulness. We get to come in to work on making the software community feel a bit more like a community day in and day out. This work is a privilege gifted to us by a community of teachers, sharers, and believers.
Any growth of this project was never a given. Every week is a new chicken and egg problem and many unanswered questions. We rely tremendously on the shared belief of the community that we were on the right track. It has helped us overcome many bugs, missing features, and inconsistent experiences along the way. We were always propped up by the many fairy godmothers that make up this wonderful space.
We’re not the first company to try this sort of thing and we won’t be the last. But if we are going to keep growing and keep doing new things, it’s going be for the same reasons we’ve gotten this far
As builders and administrators of this place, there’s always a small fire that needs to be put out. The lifeblood of this community is that people are so darn willing to share and teach and be awesome, and it just keeps happening. It’s like some kind of magic.
We all have a lot of fairy godmothers watching over us
Take this thread from earlier this week for example:
Holy cow! Can you imagine what a critical moment this could be if you’re a newer dev floating in a sea of uncertainty.
Or this post from the previous week:
They don’t teach the endless nuances of web security in class. That class would be 100 years long if they tried. But with the right informative posts popping into our worlds at the right moments, we make it work.
What about this:
Post not found or has been removed.
The documentation out of context or narrative is not always useful in solving problems we’re not currently in the midst of dealing with. It’s hard to Google for “things I don’t know I don’t know”.
And for more depth and narrative context, the community consistently comes through:
And sometimes we need just a bit more guidance through the nuances:
Sometimes you need a concept explained simply:
And sometimes you just need ideas:
Sometimes we hit a bump in the road and need the community to pick us up:
And when we have a moment of success, we need to share:
And share some more:
Post not found or has been removed.
And some more:
Post not found or has been removed.
Sometimes we need to change our Twitter names to stylized unicode characters 𝖑𝖎𝖐𝖊 𝖙𝖍𝖎𝖘 for no particular reason.
Post not found or has been removed.
Sometimes we need the leaders in our space to tell us they’re human too:
I was not ready to become the maintainer of Babel
<a href="/hzoo" class="crayons-avatar crayons-avatar--l ">
<img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F40673%2F55bb7f34-73d2-4780-a3a1-0fd59eb2343a.jpg" alt="hzoo profile" class="crayons-avatar__image" loading="lazy" />
</a>
</div>
<div>
<div>
<a href="/hzoo" class="crayons-story__secondary fw-medium m:hidden">
Henry
</a>
<div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block">
<button id="story-author-preview-trigger-24705" aria-controls="story-author-preview-content-24705" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Henry profile details">
Henry
</button>
<div
id="story-author-preview-content-24705"
class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"
style="border-top-color: var(--card-color);"
data-repositioning-dropdown="true"
data-testid="profile-preview-card">
<div class="gap-4 grid">
<div class="-mt-4">
<a href="/hzoo" class="flex">
<span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0">
<img
src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F40673%2F55bb7f34-73d2-4780-a3a1-0fd59eb2343a.jpg"
class="crayons-avatar__image"
alt=""
loading="lazy" />
</span>
<span class="crayons-link crayons-subtitle-2 mt-5">Henry</span>
</a>
</div>
<div class="print-hidden">
<button
class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100"
data-info='{"style":"full","id":40673,"className":"User","name":"Henry"}'>
Follow
</button>
</div>
<div
class="author-preview-metadata-container"
data-author-id="40673"></div>
</div>
</div>
</div>
</div>
<a href="https://dev.to/hzoo/i-was-not-ready-to-become-the-maintainer-of-babel-2j6" class="crayons-story__tertiary fs-xs"><time datetime="2018-04-10T19:13:40Z">Apr 10 '18</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1523387620"></span></a>
</div>
</div>
</div>
<div class="crayons-story__indention">
<h2 class="crayons-story__title crayons-story__title-full_post">
<a href="https://dev.to/hzoo/i-was-not-ready-to-become-the-maintainer-of-babel-2j6" data-preload-image="" id="article-link-24705">
I was not ready to become the maintainer of Babel
</a>
</h2>
<div class="crayons-story__tags">
<a class="crayons-tag crayons-tag--monochrome " style="
--tag-bg: rgba(38, 190, 0, 0.10);
--tag-prefix: #26BE00;
--tag-bg-hover: rgba(38, 190, 0, 0.10);
--tag-prefix-hover: #26BE00;
" href="/t/opensource"><span class="crayons-tag__prefix">#</span>opensource</a>
<a class="crayons-tag crayons-tag--monochrome " style="
--tag-bg: rgba(247, 223, 30, 0.10);
--tag-prefix: #f7df1e;
--tag-bg-hover: rgba(247, 223, 30, 0.10);
--tag-prefix-hover: #f7df1e;
" href="/t/javascript"><span class="crayons-tag__prefix">#</span>javascript</a>
<a class="crayons-tag crayons-tag--monochrome " style="
--tag-bg: rgba(35, 36, 34, 0.10);
--tag-prefix: #232422;
--tag-bg-hover: rgba(35, 36, 34, 0.10);
--tag-prefix-hover: #232422;
" href="/t/babel"><span class="crayons-tag__prefix">#</span>babel</a>
<a class="crayons-tag crayons-tag--monochrome " style="
--tag-bg: rgba(42, 37, 102, 0.10);
--tag-prefix: #2A2566;
--tag-bg-hover: rgba(42, 37, 102, 0.10);
--tag-prefix-hover: #2A2566;
" href="/t/career"><span class="crayons-tag__prefix">#</span>career</a>
</div>
<div class="crayons-story__bottom">
<div class="crayons-story__details">
<a href="https://dev.to/hzoo/i-was-not-ready-to-become-the-maintainer-of-babel-2j6" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="24705" aria-label="Add a comment to post - I was not ready to become the maintainer of Babel">
<div class="multiple_reactions_aggregate">
<span class="multiple_reactions_icons_container" dir="rtl">
<span class="crayons_icon_container">
<img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" />
</span>
<span class="crayons_icon_container">
<img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" />
</span>
</span>
<span class="aggregate_reactions_counter">178<span class="hidden s:inline"> reactions</span></span>
</div>
</a>
<a href="https://dev.to/hzoo/i-was-not-ready-to-become-the-maintainer-of-babel-2j6#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - I was not ready to become the maintainer of Babel">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="acz5qedupaqdhtuzuvnbn5con8b4regq" class="crayons-icon"><title id="acz5qedupaqdhtuzuvnbn5con8b4regq">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg>
17<span class="hidden s:inline"> comments</span>
</a>
</div>
<div class="crayons-story__save">
<small class="crayons-story__tertiary fs-xs mr-2">
2 min read
</small>
<button
type="button"
id="article-save-button-24705"
class="c-btn c-btn--icon-alone bookmark-button"
data-reactable-id="24705"
data-article-author-id="40673"
aria-label="Save post I was not ready to become the maintainer of Babel to reading list"
title="Save post I was not ready to become the maintainer of Babel to reading list">
<span class="bm-initial">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg>
</span>
<span class="bm-success">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg>
</span>
</button>
</div>
</div>
</div>
And sometimes we need them to explain experimental browser APIs we didn’t know existed:
Adaptive Serving using JavaScript and the Network Information API
<a href="/addyosmani" class="crayons-avatar crayons-avatar--l ">
<img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F5259%2F2f2afc8a-b9ae-4138-9fec-2622eb06eb37.jpg" alt="addyosmani profile" class="crayons-avatar__image" loading="lazy" />
</a>
</div>
<div>
<div>
<a href="/addyosmani" class="crayons-story__secondary fw-medium m:hidden">
Addy Osmani
</a>
<div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block">
<button id="story-author-preview-trigger-53959" aria-controls="story-author-preview-content-53959" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Addy Osmani profile details">
Addy Osmani
</button>
<div
id="story-author-preview-content-53959"
class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"
style="border-top-color: var(--card-color);"
data-repositioning-dropdown="true"
data-testid="profile-preview-card">
<div class="gap-4 grid">
<div class="-mt-4">
<a href="/addyosmani" class="flex">
<span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0">
<img
src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F5259%2F2f2afc8a-b9ae-4138-9fec-2622eb06eb37.jpg"
class="crayons-avatar__image"
alt=""
loading="lazy" />
</span>
<span class="crayons-link crayons-subtitle-2 mt-5">Addy Osmani</span>
</a>
</div>
<div class="print-hidden">
<button
class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100"
data-info='{"style":"full","id":5259,"className":"User","name":"Addy Osmani"}'>
Follow
</button>
</div>
<div
class="author-preview-metadata-container"
data-author-id="5259"></div>
</div>
</div>
</div>
</div>
<a href="https://dev.to/addyosmani/adaptive-serving-using-javascript-and-the-network-information-api-331p" class="crayons-story__tertiary fs-xs"><time datetime="2018-10-08T15:46:46Z">Oct 8 '18</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1539013606"></span></a>
</div>
</div>
</div>
<div class="crayons-story__indention">
<h2 class="crayons-story__title crayons-story__title-full_post">
<a href="https://dev.to/addyosmani/adaptive-serving-using-javascript-and-the-network-information-api-331p" data-preload-image="" id="article-link-53959">
Adaptive Serving using JavaScript and the Network Information API
</a>
</h2>
<div class="crayons-story__tags">
<a class="crayons-tag crayons-tag--monochrome " style="
--tag-bg: rgba(86, 39, 101, 0.10);
--tag-prefix: #562765;
--tag-bg-hover: rgba(86, 39, 101, 0.10);
--tag-prefix-hover: #562765;
" href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a>
<a class="crayons-tag crayons-tag--monochrome " style="
--tag-bg: rgba(247, 223, 30, 0.10);
--tag-prefix: #f7df1e;
--tag-bg-hover: rgba(247, 223, 30, 0.10);
--tag-prefix-hover: #f7df1e;
" href="/t/javascript"><span class="crayons-tag__prefix">#</span>javascript</a>
<a class="crayons-tag crayons-tag--monochrome " style="
--tag-bg: rgba(255, 163, 100, 0.10);
--tag-prefix: #ffa364;
--tag-bg-hover: rgba(255, 163, 100, 0.10);
--tag-prefix-hover: #ffa364;
" href="/t/performance"><span class="crayons-tag__prefix">#</span>performance</a>
<a class="crayons-tag crayons-tag--monochrome " style="
--tag-bg: rgba(59, 73, 223, 0.10);
--tag-prefix: #3b49df;
--tag-bg-hover: rgba(59, 73, 223, 0.10);
--tag-prefix-hover: #3b49df;
" href="/t/adaptiveserving"><span class="crayons-tag__prefix">#</span>adaptiveserving</a>
</div>
<div class="crayons-story__bottom">
<div class="crayons-story__details">
<a href="https://dev.to/addyosmani/adaptive-serving-using-javascript-and-the-network-information-api-331p" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="53959" aria-label="Add a comment to post - Adaptive Serving using JavaScript and the Network Information API">
<div class="multiple_reactions_aggregate">
<span class="multiple_reactions_icons_container" dir="rtl">
<span class="crayons_icon_container">
<img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" />
</span>
<span class="crayons_icon_container">
<img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" />
</span>
</span>
<span class="aggregate_reactions_counter">183<span class="hidden s:inline"> reactions</span></span>
</div>
</a>
<a href="https://dev.to/addyosmani/adaptive-serving-using-javascript-and-the-network-information-api-331p#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Adaptive Serving using JavaScript and the Network Information API">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a43ulmn6ff2duxowjme21822mta9spf5" class="crayons-icon"><title id="a43ulmn6ff2duxowjme21822mta9spf5">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg>
12<span class="hidden s:inline"> comments</span>
</a>
</div>
<div class="crayons-story__save">
<small class="crayons-story__tertiary fs-xs mr-2">
3 min read
</small>
<button
type="button"
id="article-save-button-53959"
class="c-btn c-btn--icon-alone bookmark-button"
data-reactable-id="53959"
data-article-author-id="5259"
aria-label="Save post Adaptive Serving using JavaScript and the Network Information API to reading list"
title="Save post Adaptive Serving using JavaScript and the Network Information API to reading list">
<span class="bm-initial">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg>
</span>
<span class="bm-success">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg>
</span>
</button>
</div>
</div>
</div>
And sometimes we just need them to be open with us:
I'm Scott Hanselman, ask me anything!
<a href="/shanselman" class="crayons-avatar crayons-avatar--l ">
<img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F47393%2Fe625a54a-8d63-4585-98d6-4b406f1a7602.jpg" alt="shanselman profile" class="crayons-avatar__image" loading="lazy" />
</a>
</div>
<div>
<div>
<a href="/shanselman" class="crayons-story__secondary fw-medium m:hidden">
Scott Hanselman
</a>
<div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block">
<button id="story-author-preview-trigger-13760" aria-controls="story-author-preview-content-13760" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Scott Hanselman profile details">
Scott Hanselman
</button>
<div
id="story-author-preview-content-13760"
class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"
style="border-top-color: var(--card-color);"
data-repositioning-dropdown="true"
data-testid="profile-preview-card">
<div class="gap-4 grid">
<div class="-mt-4">
<a href="/shanselman" class="flex">
<span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0">
<img
src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F47393%2Fe625a54a-8d63-4585-98d6-4b406f1a7602.jpg"
class="crayons-avatar__image"
alt=""
loading="lazy" />
</span>
<span class="crayons-link crayons-subtitle-2 mt-5">Scott Hanselman</span>
</a>
</div>
<div class="print-hidden">
<button
class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100"
data-info='{"style":"full","id":47393,"className":"User","name":"Scott Hanselman"}'>
Follow
</button>
</div>
<div
class="author-preview-metadata-container"
data-author-id="47393"></div>
</div>
</div>
</div>
</div>
<a href="https://dev.to/shanselman/im-scott-hanselman-ask-me-anything-416" class="crayons-story__tertiary fs-xs"><time datetime="2017-12-05T18:47:32Z">Dec 5 '17</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1512499652"></span></a>
</div>
</div>
</div>
<div class="crayons-story__indention">
<h2 class="crayons-story__title crayons-story__title-full_post">
<a href="https://dev.to/shanselman/im-scott-hanselman-ask-me-anything-416" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fcbueyk43be6h2t3fpeoe.jpg" id="article-link-13760">
I'm Scott Hanselman, ask me anything!
</a>
</h2>
<div class="crayons-story__tags">
<a class="crayons-tag crayons-tag--filled " style="
--tag-bg: rgba(19, 149, 184, 0.10);
--tag-prefix: #1395B8;
--tag-bg-hover: rgba(19, 149, 184, 0.10);
--tag-prefix-hover: #1395B8;
" href="/t/ama"><span class="crayons-tag__prefix">#</span>ama</a>
</div>
<div class="crayons-story__bottom">
<div class="crayons-story__details">
<a href="https://dev.to/shanselman/im-scott-hanselman-ask-me-anything-416" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="13760" aria-label="Add a comment to post - I'm Scott Hanselman, ask me anything! ">
<div class="multiple_reactions_aggregate">
<span class="multiple_reactions_icons_container" dir="rtl">
<span class="crayons_icon_container">
<img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" />
</span>
<span class="crayons_icon_container">
<img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" />
</span>
</span>
<span class="aggregate_reactions_counter">87<span class="hidden s:inline"> reactions</span></span>
</div>
</a>
<a href="https://dev.to/shanselman/im-scott-hanselman-ask-me-anything-416#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - I'm Scott Hanselman, ask me anything! ">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aed4vd614kq265lat87qe0lllbd56bmb" class="crayons-icon"><title id="aed4vd614kq265lat87qe0lllbd56bmb">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg>
142<span class="hidden s:inline"> comments</span>
</a>
</div>
<div class="crayons-story__save">
<small class="crayons-story__tertiary fs-xs mr-2">
1 min read
</small>
<button
type="button"
id="article-save-button-13760"
class="c-btn c-btn--icon-alone bookmark-button"
data-reactable-id="13760"
data-article-author-id="47393"
aria-label="Save post I'm Scott Hanselman, ask me anything! to reading list"
title="Save post I'm Scott Hanselman, ask me anything! to reading list">
<span class="bm-initial">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg>
</span>
<span class="bm-success">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg>
</span>
</button>
</div>
</div>
</div>
Sometimes we need to be updated when a library has new goodies:
And sometimes we just need to know where to put things:
How I Structure My JavaScript File
<a href="/antjanus" class="crayons-avatar crayons-avatar--l ">
<img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2054%2Fb36a756d-a6f9-4600-9772-7daa944922c8.jpg" alt="antjanus profile" class="crayons-avatar__image" loading="lazy" />
</a>
</div>
<div>
<div>
<a href="/antjanus" class="crayons-story__secondary fw-medium m:hidden">
Ant The Developer
</a>
<div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block">
<button id="story-author-preview-trigger-25663" aria-controls="story-author-preview-content-25663" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Ant The Developer profile details">
Ant The Developer
</button>
<div
id="story-author-preview-content-25663"
class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"
style="border-top-color: var(--card-color);"
data-repositioning-dropdown="true"
data-testid="profile-preview-card">
<div class="gap-4 grid">
<div class="-mt-4">
<a href="/antjanus" class="flex">
<span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0">
<img
src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2054%2Fb36a756d-a6f9-4600-9772-7daa944922c8.jpg"
class="crayons-avatar__image"
alt=""
loading="lazy" />
</span>
<span class="crayons-link crayons-subtitle-2 mt-5">Ant The Developer</span>
</a>
</div>
<div class="print-hidden">
<button
class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100"
data-info='{"style":"full","id":2054,"className":"User","name":"Ant The Developer"}'>
Follow
</button>
</div>
<div
class="author-preview-metadata-container"
data-author-id="2054"></div>
</div>
</div>
</div>
</div>
<a href="https://dev.to/antjanus/how-i-structure-my-javascript-file-2clc" class="crayons-story__tertiary fs-xs"><time datetime="2018-04-06T20:16:34Z">Apr 6 '18</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1523045794"></span></a>
</div>
</div>
</div>
<div class="crayons-story__indention">
<h2 class="crayons-story__title crayons-story__title-full_post">
<a href="https://dev.to/antjanus/how-i-structure-my-javascript-file-2clc" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fantjanus.com%2Fwp-content%2Fuploads%2F2018%2F04%2Fskorice-screenshot-1024x555.png" id="article-link-25663">
How I Structure My JavaScript File
</a>
</h2>
<div class="crayons-story__tags">
<a class="crayons-tag crayons-tag--monochrome " style="
--tag-bg: rgba(247, 223, 30, 0.10);
--tag-prefix: #f7df1e;
--tag-bg-hover: rgba(247, 223, 30, 0.10);
--tag-prefix-hover: #f7df1e;
" href="/t/javascript"><span class="crayons-tag__prefix">#</span>javascript</a>
<a class="crayons-tag crayons-tag--monochrome " style="
--tag-bg: rgba(86, 39, 101, 0.10);
--tag-prefix: #562765;
--tag-bg-hover: rgba(86, 39, 101, 0.10);
--tag-prefix-hover: #562765;
" href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a>
<a class="crayons-tag crayons-tag--monochrome " style="
--tag-bg: rgba(175, 39, 242, 0.10);
--tag-prefix: #af27f2;
--tag-bg-hover: rgba(175, 39, 242, 0.10);
--tag-prefix-hover: #af27f2;
" href="/t/coding"><span class="crayons-tag__prefix">#</span>coding</a>
</div>
<div class="crayons-story__bottom">
<div class="crayons-story__details">
<a href="https://dev.to/antjanus/how-i-structure-my-javascript-file-2clc" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="25663" aria-label="Add a comment to post - How I Structure My JavaScript File">
<div class="multiple_reactions_aggregate">
<span class="multiple_reactions_icons_container" dir="rtl">
<span class="crayons_icon_container">
<img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" />
</span>
<span class="crayons_icon_container">
<img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" />
</span>
</span>
<span class="aggregate_reactions_counter">273<span class="hidden s:inline"> reactions</span></span>
</div>
</a>
<a href="https://dev.to/antjanus/how-i-structure-my-javascript-file-2clc#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - How I Structure My JavaScript File">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aqwtnq6g0kub7fam0sz4mlwi089jdsko" class="crayons-icon"><title id="aqwtnq6g0kub7fam0sz4mlwi089jdsko">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg>
10<span class="hidden s:inline"> comments</span>
</a>
</div>
<div class="crayons-story__save">
<small class="crayons-story__tertiary fs-xs mr-2">
7 min read
</small>
<button
type="button"
id="article-save-button-25663"
class="c-btn c-btn--icon-alone bookmark-button"
data-reactable-id="25663"
data-article-author-id="2054"
aria-label="Save post How I Structure My JavaScript File to reading list"
title="Save post How I Structure My JavaScript File to reading list">
<span class="bm-initial">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg>
</span>
<span class="bm-success">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg>
</span>
</button>
</div>
</div>
</div>
Sometimes we need to know we have options in our career:
On Staying
<a href="/annarankin" class="crayons-avatar crayons-avatar--l ">
<img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F8919%2F11503403.jpeg" alt="annarankin profile" class="crayons-avatar__image" loading="lazy" />
</a>
</div>
<div>
<div>
<a href="/annarankin" class="crayons-story__secondary fw-medium m:hidden">
Anna Rankin
</a>
<div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block">
<button id="story-author-preview-trigger-20203" aria-controls="story-author-preview-content-20203" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Anna Rankin profile details">
Anna Rankin
</button>
<div
id="story-author-preview-content-20203"
class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"
style="border-top-color: var(--card-color);"
data-repositioning-dropdown="true"
data-testid="profile-preview-card">
<div class="gap-4 grid">
<div class="-mt-4">
<a href="/annarankin" class="flex">
<span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0">
<img
src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F8919%2F11503403.jpeg"
class="crayons-avatar__image"
alt=""
loading="lazy" />
</span>
<span class="crayons-link crayons-subtitle-2 mt-5">Anna Rankin</span>
</a>
</div>
<div class="print-hidden">
<button
class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100"
data-info='{"style":"full","id":8919,"className":"User","name":"Anna Rankin"}'>
Follow
</button>
</div>
<div
class="author-preview-metadata-container"
data-author-id="8919"></div>
</div>
</div>
</div>
</div>
<a href="https://dev.to/annarankin/on-staying-4gfo" class="crayons-story__tertiary fs-xs"><time datetime="2018-04-03T14:34:24Z">Apr 3 '18</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1522766064"></span></a>
</div>
</div>
</div>
<div class="crayons-story__indention">
<h2 class="crayons-story__title crayons-story__title-full_post">
<a href="https://dev.to/annarankin/on-staying-4gfo" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/http%3A%2F%2Fannarank.in%2Fimg%2Fcode_chicken.gif" id="article-link-20203">
On Staying
</a>
</h2>
<div class="crayons-story__tags">
<a class="crayons-tag crayons-tag--monochrome " style="
--tag-bg: rgba(42, 37, 102, 0.10);
--tag-prefix: #2A2566;
--tag-bg-hover: rgba(42, 37, 102, 0.10);
--tag-prefix-hover: #2A2566;
" href="/t/career"><span class="crayons-tag__prefix">#</span>career</a>
</div>
<div class="crayons-story__bottom">
<div class="crayons-story__details">
<a href="https://dev.to/annarankin/on-staying-4gfo" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="20203" aria-label="Add a comment to post - On Staying">
<div class="multiple_reactions_aggregate">
<span class="multiple_reactions_icons_container" dir="rtl">
<span class="crayons_icon_container">
<img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" />
</span>
<span class="crayons_icon_container">
<img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" />
</span>
</span>
<span class="aggregate_reactions_counter">308<span class="hidden s:inline"> reactions</span></span>
</div>
</a>
<a href="https://dev.to/annarankin/on-staying-4gfo#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - On Staying">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="atqyur6vomyidqz6mh61254x6ao5oqs" class="crayons-icon"><title id="atqyur6vomyidqz6mh61254x6ao5oqs">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg>
40<span class="hidden s:inline"> comments</span>
</a>
</div>
<div class="crayons-story__save">
<small class="crayons-story__tertiary fs-xs mr-2">
3 min read
</small>
<button
type="button"
id="article-save-button-20203"
class="c-btn c-btn--icon-alone bookmark-button"
data-reactable-id="20203"
data-article-author-id="8919"
aria-label="Save post On Staying to reading list"
title="Save post On Staying to reading list">
<span class="bm-initial">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg>
</span>
<span class="bm-success">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg>
</span>
</button>
</div>
</div>
</div>
And sometimes we need to discover the mistakes we need to avoid:
Sometimes we really need to discover the mistakes we need to avoid:
And then there are those who help see the community as a tool for individual progress:
Post not found or has been removed.
Sometimes we get to share in the building this place with everyone:
dev.to is now open source
<a href="/ben" class="crayons-avatar crayons-avatar--l ">
<img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1%2Fbabb96d0-9cd2-49bc-a412-2dc4caf94c2a.png" alt="ben profile" class="crayons-avatar__image" loading="lazy" />
</a>
</div>
<div>
<div>
<a href="/ben" class="crayons-story__secondary fw-medium m:hidden">
Ben Halpern
</a>
<div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block">
<button id="story-author-preview-trigger-42640" aria-controls="story-author-preview-content-42640" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Ben Halpern profile details">
Ben Halpern
<a style="display: inline;" href="/++"><img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" /></a>
</button>
<div
id="story-author-preview-content-42640"
class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"
style="border-top-color: var(--card-color);"
data-repositioning-dropdown="true"
data-testid="profile-preview-card">
<div class="gap-4 grid">
<div class="-mt-4">
<a href="/ben" class="flex">
<span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0">
<img
src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1%2Fbabb96d0-9cd2-49bc-a412-2dc4caf94c2a.png"
class="crayons-avatar__image"
alt=""
loading="lazy" />
</span>
<span class="crayons-link crayons-subtitle-2 mt-5">Ben Halpern</span>
</a>
</div>
<div class="print-hidden">
<button
class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100"
data-info='{"style":"full","id":1,"className":"User","name":"Ben Halpern"}'>
Follow
</button>
</div>
<div
class="author-preview-metadata-container"
data-author-id="1"></div>
</div>
</div>
</div>
</div>
<a href="https://dev.to/ben/devto-is-now-open-source-5n1" class="crayons-story__tertiary fs-xs"><time datetime="2018-08-08T17:01:59Z">Aug 8 '18</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1533747719"></span></a>
</div>
</div>
</div>
<div class="crayons-story__indention">
<h2 class="crayons-story__title crayons-story__title-full_post">
<a href="https://dev.to/ben/devto-is-now-open-source-5n1" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fp5514uxlvliyevlpttun.png" id="article-link-42640">
dev.to is now open source
</a>
</h2>
<div class="crayons-story__tags">
<a class="crayons-tag crayons-tag--monochrome " style="
--tag-bg: rgba(0, 0, 0, 0.10);
--tag-prefix: #000000;
--tag-bg-hover: rgba(0, 0, 0, 0.10);
--tag-prefix-hover: #000000;
" href="/t/meta"><span class="crayons-tag__prefix">#</span>meta</a>
<a class="crayons-tag crayons-tag--monochrome " style="
--tag-bg: rgba(38, 190, 0, 0.10);
--tag-prefix: #26BE00;
--tag-bg-hover: rgba(38, 190, 0, 0.10);
--tag-prefix-hover: #26BE00;
" href="/t/opensource"><span class="crayons-tag__prefix">#</span>opensource</a>
</div>
<div class="crayons-story__bottom">
<div class="crayons-story__details">
<a href="https://dev.to/ben/devto-is-now-open-source-5n1" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="42640" aria-label="Add a comment to post - dev.to is now open source">
<div class="multiple_reactions_aggregate">
<span class="multiple_reactions_icons_container" dir="rtl">
<span class="crayons_icon_container">
<img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" />
</span>
<span class="crayons_icon_container">
<img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" />
</span>
<span class="crayons_icon_container">
<img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" />
</span>
</span>
<span class="aggregate_reactions_counter">1070<span class="hidden s:inline"> reactions</span></span>
</div>
</a>
<a href="https://dev.to/ben/devto-is-now-open-source-5n1#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - dev.to is now open source">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="arlx8b6knl67q8pfxnkruedqv1h2qi0w" class="crayons-icon"><title id="arlx8b6knl67q8pfxnkruedqv1h2qi0w">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg>
143<span class="hidden s:inline"> comments</span>
</a>
</div>
<div class="crayons-story__save">
<small class="crayons-story__tertiary fs-xs mr-2">
4 min read
</small>
<button
type="button"
id="article-save-button-42640"
class="c-btn c-btn--icon-alone bookmark-button"
data-reactable-id="42640"
data-article-author-id="1"
aria-label="Save post dev.to is now open source to reading list"
title="Save post dev.to is now open source to reading list">
<span class="bm-initial">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg>
</span>
<span class="bm-success">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg>
</span>
</button>
</div>
</div>
</div>
And sometimes that results in amazing progress:
Sometimes they write the posts that the core team never got around to writing:
Sometimes it's hard not to be amazed at what the next year might bring. Thank you to everyone helping to make the software development career a bit better for everyone.
Top comments (24)
I was on a late night drive from Edmonton to Calgary last Sunday after dropping my son off at his university. I decided to listen to some podcasts to keep from getting tired while I drove. I listened to one on Indie Hackers where Ben talked about dev.to and what led to its creation. I listed to him describe the kind of community it had become and just knew that I wanted to be a part of that.
Thank you for all the countless hours and patience that you and your team have put into making dev.to what it is. I look forward to being a part of this community for years to come.
Wow, thanks! We've definitely had an influx of awesome folks since @csallen had me on. Thanks for being one of them.
Thank you for putting all together. dev.to is the community I wish I had when I started my journey over a decade ago.
I'm glad many, many devs don't gotta go thru what others (like myself) had to learn the hard way.
Thank you for being with us from early on Jose! We needed early members to help carry us to this point and your contributions along the way have been so amazing.
I can't express how much I love being a part of this community and how it has managed to be the friendliest dev website I've ever come across. I'm never afraid to post anything on here, and it allowed me to first start writing articles. Thank you!
Amazing, thanks for being part of it!
You’ve built such an incredible and supportive community. Hats off to you and the team!! 🎩
This site helps so many devs (new and old) on a daily basis.
Thanks for all your work 👏
Thank you for fostering this wonderful community into what it is today and I'm so grateful I've been able to be a part of it. This is easily one of my favorite sites on the Web and I love coming and reading what everyone has to say. Here's to years to come!
Yay, thanks so much!
The platform and the community are indeed impressive! Checking out DEV posts before starting out the workday has become a ritual, either to learn something new or get inspired.
I am yet to make my first post, but I'd like to contribute with some writing about Ruby and Rails. Maybe I can get something out before the new year. Cheers!
You're welcome 🙂
Thanks to you for making this site, community, and making it living everyday !
@dev.to team: you have made something amazing here. It has become a venue for new developer to become better and bitter vets to become more human. Your contribution to the world of development could never be over staged. I wish more people were like you. ❤️ dev.to
Seeing dev grow other the past year and a half (I think) has been a beautiful sight, with many members coming and going (and recursive), and the mountains of content that's posted it has truly become a wonderful place for developers to come chill out, learn new things, teach new things and make new friends. From the day I joined dev has grown very rapidly. Thank you all in the community, the team working at dev and the community members working on the open source version for making dev what it is today.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.