I find meeting other software engineers an interesting pastime. I don’t like to talk tech with other engineers as a way of figuring out if I’m smarter, I like it because I like to hear about their journey.

Tech talk often feels competitive to me. I’m not interested in competition. What I am interested in is recognizing that all of us know a lot of stuff. We also have yet to learn a lot of stuff. This is ok.

Recently a conversation ended up in the area of public tech speaking. The idea that we must all be completely knowledgeable of all things before we dare speak about them aloud sucks. In this case I was reminded of my recent forays in to Java garbage collection. I feel as though I’ve barely touched the surface of this knowledge, but I am determined to publish what I’ve learned anyway because I know that other engineers I work with could benefit from my knowledge despite it not being complete.

So be warned that I’mma write about GC soon and you can just “Well, actually…” your ass off and we’ll all learn something.

Drowning in FOMO

Consider the deluge of cool projects on GitHub and Hacker News that undermine the things we make every day with their coolness. I can’t find it now but a while back I saw a mockup of a Hacker News page that expressed how reading such things make you think your projects are terrible because people all over the world keep shipping. Our FOMO is triggered by social networks. Seeing a dozen friends each post one cool thing a week that they’ve done gives the illusion that everyone around you is doing cool shit all the time while you eat fucking ice cream with no shirt on watching Spongebob you pathetic sack of meat.

Twitter makes it easy to follow a hundred smart engineers from across the world and be overwhelmed by all their awesome ideas. Good ideas and cool code take time and being peppered by everyone else’s constantly can feel like you’re stuck in a fucking rut.

I proffer that this proximity can make engineers feel really, really dumb. Why? Because these super-smart folks have accomplished so much and when we compare our accomplishments they seem small.

Unplug now and then. I’ve taken to leaving Twitter off and reading just a few high quality tech blogs.


As if this wasn’t enough, as many as 40% of successful people consider themselves frauds. Even if this isn’t a systemic problem for you the same studies say that 70% of people feel this way “at one time or another”. Fighting the push from both inside and outside to value yourself is hard.

Be careful not to swing too far over into the Dunning-Kruger effect. That fucker cuts both ways. But since you’re reading this I assume you won’t come close to that.

Quality Is Job Zero

You can write code or words and put them on the Internet. You can tweet ‘em at folks and all that too. Nobody owes you a read or a run of your code. This is good and bad. Good because nobody is watching your every mistake and bad because they might miss something. Novelty, quality and sticktoitiveness are the only way to overcome that. Hitting a lick with your random GitHub project isn’t the common case.

Being a nice human is also a good idea.

Fuck That Noise

It’s easy to see how being surrounded by smart all the fucking time can wear us into thinking that we don’t have anything new to add or that we aren’t smart enough to make a contribution.

But it’s a matter of perspective. You don’t need to be a completionist to make a contribution. Do your research, update inaccuracies and embrace learning.

The revitalization of this blog and my desire to vomit out some bytes for your edifaction is an expression of me changing that perspective in myself. While I’m terrified to actually try and speak to the engineers I admire in most cases, I’m sure they regularly and reliably sit around eating ice cream watching cartoons too. But by being privvy to wave after wave of smart folks accomplishing cool things, the aggregate is overwhelming. Adding my drops into this ocean of neat shit is still important, even if they are just drops.