Ask HN: Does anybody else feel overwhelmed while reading HN?
I've been programming for about 4 years now. During that time I've become an integral part of my team and have constantly been learning. Despite this I always read comments on HN and feel like there is SO much to learn that I'll never have the time for. I work at a big company and desperately want to leave so I have been dedicating time to prepare for interviews (pretty much just CTCI at this point). Even if I do get better at my interviews and land a job elsewhere, I'm worried that either I'll 1) not be as good as the other engineers there and they will quickly notice or 2) will basically feel the same as I do now. Hopefully the latter doesn't happen. My work environment is pretty negative right now so maybe a change of scenery will help.
Anyway, back to the original question. Does anybody else come on here and feel overwhelmed? Too much to learn, a lot of other people out there who are so much better than you etc. Could be just me, the Bay Area, or tech in general.
156 comments
[ 4.2 ms ] story [ 191 ms ] threadDon't try to master everything all at once. Just learn what you need, or what interests you and then on to the next thing. There is no "done".
You'll never master everything. No one does. Take it easy. You say you've become an integral part of your team and that you're constantly learning. You seem to be on the right path.
Of course, you, by comparison will seem lackluster. Realizing that a single person on here may be lacking in specific expertise may give you solace.
- There will always be people who are better than you, in any field. I see it as a positive and a great learning opportunity.
- There will never be time to learn everything you want to learn.
The question I try to answer is: Am I doing the best I can at the moment? Of course, this can also lead to complacency.
If complacency does that for you, then it's good. If not, it's not.
The issue is for many people these two seem to be opposites
The hardest part, I find, is starting. But once I do, boy is it a lot of fun to keep that ball rolling! There's nothing so enjoyable as hacking away at something and seeing those incremental changes fall into place.
To me the hardest part is finishing. To start stuff is very easy for me but to actually grind away at something day after day until it is finally done is very hard.
I find that one of the biggest contributions towards my feelings of burnout is the fact that, when it comes to software engineering, not much is ever truly finished. A lot of us work for places where the product is never actually finished.
When we work in environments where there is always another ticket to complete, it can be hard to feel as if there is actually an end in sight to much of anything. My father is an accomplished woodworker/graphic designer/renaissance man, he's built things such as book cases, stained glass windows, picture frames for his gorgeous nature shots taken across the United States, and even (when I was younger) a cedar stripper canoe.
Sometimes I very much long for the feeling that he has when he has completed a project. One he can run his hands along. We're not afforded that luxury as software engineers. We work on some of the most complex projects ever to be known to man. Projects with millions of lines of code that are never truly secure, complete, or tangible. When we step away from the keyboards, there is nothing in meat space which exists as proof of our work.
That being said, when I have the pleasure of working on my own terms, in my own office, I find nothing more satisfying than hacking away at my own projects. I am not sure if that is true for every engineer but when I have the luxury of being able to spend a couple of hours researching Git branching strategies because that is something I think will not only make my project more maintainable but me a better engineer, I just love it.
I am consistently humbled by our profession. Every single thing I'm assigned to seems to me to be easy in my mind, and it absolutely never is. (Of course I refuse to stay comfortable and take on everything I can).
I guess at the end of the day, if you don't enjoy the journey which may never end (and is more likely than not to be endless), it may not be the field to devote your time to. But if you can enjoy being constantly overwhelmed by the myriad of options for your development environment, databases, servers, and front end frameworks, then there really is nothing so sweet as hacking away at a project you can call all your own.
Personally, I forward everything from HN's front page, every tech-relevant subreddit, major tech companies and software projects, roughly 30 blogs, Twitter, and blogs/changelogs for every project/service I depend on (for work or side projects)... all straight into my email.
Rules automatically curate emails into prioritized / categorized folders. Setting up those rules was my solution to information overload - reviewing rule relevance is the same as measuring how my attention investment tracks against long-term learning goals.
One process for managing my work, personal life, and interests :)
10 minutes a day is enough to follow every personally relevant development. I do a deeper hour-long review of lower priority content at least once a week, but my email is an effectively infinite backlog of interesting-possibly-relevant information.
As a zero-inbox kind of person this is terrifying. It's already enough effort to keep up with the new journal articles every day. I use my morning commute to do that and my evening commute to unwind and read the more interesting stuff.
This folders and rules was my strategy for balancing the need to be hyper-informed, well-organized, and not-overwhelmed... only uncategorized content shows up in my inbox.
My "High Priority" folder has subfolders for friends, family, bills, and other things that have to be kept at 0. The "Low Low Priority" folder has folders for online store emails that useful a couple times a year for discounts when I need a new shirt or something, auto-deleted after 14 days. In between is everything, nicely triaged and categorized.
It's really more of a personalized private ad/tracker-free mobile and cli-compatible individual media aggregation service - perfectly managing the flow of the internet into my brain :)
After 200-400 suspended tabs open and a browser chewing molasses, I tend to export all URLs to a list for One Day In The Magical Future™, kill my session and restart.
So yeah, I'm very interested to find out what rule system you use - is this bespoke, or using standard email client features?
Also, what email client do you use? I've been trying to find a medium between "old computer becomes unusable after >10 tabs are open" and "fast, native information-presentation applications (like terminals) are text-only and don't support images" for 15+ years.
I use Gmail's basic HTML mode 99% of the time. It... I can't say I like it. I want something that doesn't use Qt and GTK+, because I perceive more lag with applications that use these toolkits than I did with lightweight WinAPI apps I ran on Win98/Win2K machines with half the hardware capability.
* My email pulls new information into my digital sphere of awareness. * Browser tabs/history manage active context and mid-term working memory. * Bookmarks (poorly) curate resources for long-term information retrieval. * My git-backed repository of notes tracked my own thoughts and plans.
Fastmail, gmail, and my old university Outlook account all support creating rules, however I am not aware of any RFC standards around rules. My adhoc suite of scripts for pushing content to email is entirely custom.
I like Thunderbird, but it's a pig at 300MB memory consumption... however it's open source and does what I expect.
Strive to be a helpful, open, honest team member, with a thorough understanding of core patterns and practices. (e.g. SOLID principles)
To reiterate though, pick your battles, follow your interests/employment possibilities, and make peace with the fact that you can't know everything.
Just search around, you'll see that feeling overwhelmed puts you in great company. :)
https://www.hanselman.com/blog/ImAPhonyAreYou.aspx (also talks about Dunning-Kruger effect, which is related)
https://www.nytimes.com/2015/10/26/your-money/learning-to-de...
http://www.thebookoflife.org/the-impostor-syndrome/
I'd say the OP is describing humility, a quality which is essential imho
Humility vs Hubris do seem to be opposites.
I think this is one of the (probably many) reasons feed readers failed and chat came to beat email: the feeling of something incomplete. I had to force myself to ignore unread counts to stop myself from going crazy, but Twitter, HN, Reddit, etc. did away with outward signs that there were things unread, and that's a good start.
Try cutting the cord for a few days. It's refreshing.
I need to burn it into my brain that it's acceptable to be adequate.
I don't worry too much about it, as long as what I'm building works and can be maintained I'm happy.
The good news about tech changing all the time is if you wait there will be some new language or framework so you didn't waste your time learning something obsolete !
"An expert is someone who knows more and more about less and less till they know everything about nothing" - from a Murphy's laws on technology poster..
I appreciate more the insightful conversations than view a link to the latest JavaScript framework.
Some of it is wrong, some of it will never be relevant to you, some of it could relevant to you but not knowing it will never hurt you. Some of it could possibly be relevant but will be obsolete or out of date by the time you get around to using it. Some of it is nonsubstantive self-promotion. Just focus on some area you want to improve on at a given time and do it. Read what you want to read and have time to read and ignore the rest.
Just because someone puts up a nice-looking blog post with some information doesn't mean they're right, or better than you. Not that it matters if they're better than you. You could be in the top 10% and that still leaves hundreds of thousands who are better than you.
That's assuming there's some pure linear scale of developer quality anyway, which there isn't. People are fingerprints, not points on a linear scale.
I'm in this for 30+ years now. (Yikes!). My resume is somewhat nice. I've got a deep store of knowledge and experiences. A large group of people considers me somebody you ask for advice.
And yet, every day, I still learn something new.
Sometimes because it's a new paper cycling about. Sometimes an HN article. Sometimes because some other senior person shares from their wealth of experience. And quite often because a junior does something in an unexpected way - knowledge comes from every corner.
I still feel like I have no idea what I'm doing. I'll probably feel that way for the rest of my life. All my colleagues do.
So, don't worry. There's always somebody who's better than you, and that's great, because you can learn from them.
You'd be very interested in knowing whether it's 'I just graduated from med school, I'm barely competent', or 'I've been doing this 30 years, the more you know, the more you realize how much you don't know'.
Those are not the same.
Insecurity is there for a reason - to let you know you should tread carefully and learn more.
The feeling of insecurity will go away when you're competent. The feeling of wonder and curiosity hopefully remains until you die - the author's problem is not the feeling of wonder that the parent is referring to :)
What may sound super bad-ass might just be a 20 year old intern riffing like a BOSS!
(1) HN covers a lot of areas of software development; more than any one person can really be expected to know. But each reader is ignorant regarding how big a fraction of the covered technologies are well-understood by the other readers.
(2) HN stories often involve technologies related to web-development, containers, or virtualization. Those technology areas spawn inordinate numbers of tools, frameworks, etc. This exacerbates issue (1).
I often dream about building some project that would provide me passive income to no longer have to work a 9-to-5. It's not that I lack the skills to execute on it, but as a father and a husband, I struggle to find time to commit to such ideas while balancing time with my family. The only time I attempted to build my own product, I ended up getting fired from my daytime job because of performance reasons. It only discouraged me from attempting to pursue anything further.
I've learned that I just can't compare myself to others here, because it just makes me horribly depressed.
Pretend you were working at a company with a hundred engineers. Do you understand how easy it is for every single one of them to simultaneously feel like you do? The React mavens feel like they're just knocking together JS and wonder when they'll be allowed to do real engineering. The backend specialists wonder why they don't understand networking or servers better. The DevOps folks envy folks who build things. The American office wonders why they can't speak foreign languages; the German office marvels that anyone can learn Japanese; the Japanese office worries their English isn't up to the global standard.
There's nothing wrong in specialization -- it's how we stay sane. A very workable and easy to understand formula early in your career is specialize in two things; you don't have to be better at X and better at Y than everyone you meet, you have to be "better at X than anyone who is better at Y" and "better at Y than anyone who is better at X." This is very, very achievable, regardless of how highly competent your local set of peers is.
Also, unsolicted advice as a sidenote, but life is too short to spend overly much time in negative work environments. Assuming the negativity isn't coming from you, changing environments to one of the (numerous!) places where happy people do good work might be an improvement.
[1]https://en.wikipedia.org/wiki/Impostor_syndrome
- https://en.wikipedia.org/wiki/Dunning–Kruger_effect
- https://en.wikipedia.org/wiki/Grandiose_delusions
Also, do realize that not everybody is right on here all of the time either, despite some of their egos.
Despite occasionally butting heads with some of the people on here, I really do appreciate the community here for what it is; you really can't find a smarter group of people on the Internet.
(Not implying there aren't a ton of genuinely exceptional people here)
At the top of the bell curve, you have people like Alan Kay, NASA engineers, cryptographers, founders of Reddit and 4chan and the like - obvious brilliant thinkers and innovators who'll pop in to a thread about something and mention how they invented or were involved in the thing being talked about.
At the edges, it's not much smarter than a tech subreddit or /g/.
"Data Scientist (n.): Person who is better at statistics than any software engineer and better at software engineering than any statistician."
https://twitter.com/josh_wills/status/198093512149958656
Impostor Syndrome. Have you written more about it elsewhere?
It's been crippling at times. That said, I was recently very surprised to learn of a couple folks who I consider way better than me at $FOO to also regularly deal with impostor syndrome as well. I was floored.
Scott Adams says something similar:
If you want an average successful life, it doesn’t take much planning. Just stay out of trouble, go to school, and apply for jobs you might like. But if you want something extraordinary, you have two paths:
1. Become the best at one specific thing. 2. Become very good (top 25%) at two or more things.
The first strategy is difficult to the point of near impossibility. Few people will ever play in the NBA or make a platinum album. I don’t recommend anyone even try.
The second strategy is fairly easy. Everyone has at least a few areas in which they could be in the top 25% with some effort. In my case, I can draw better than most people, but I’m hardly an artist. And I’m not any funnier than the average standup comedian who never makes it big, but I’m funnier than most people. The magic is that few people can draw well and write jokes. It’s the combination of the two that makes what I do so rare.
http://dilbertblog.typepad.com/the_dilbert_blog/2007/07/care...
^This^
This is awesome advice. So true that I never realized it till I read this.
I think a sense of resignation is actually useful here. Just resign yourself to the fact that you'll never be as good as them and that it will take you 10 years to be able to just follow instructions under a Google or Facebook AI scientist (, say). And continue to trod on like the tortoise in the tortoise vs. hare story :-)
Usernames are de-emphasized and there is no indication of karma/reputation. A trick of perception can lead one to read this forum as if the same handful of broadly knowledgeable people are participating in every discussion.
The reality is, I believe, quite the opposite. There are hundreds of us here, and we all have depth of knowledge in vastly different areas. There are developers, DBAs, sysadmins, doctors, lawyers, writers... I think once I saw someone mention that they were a welder.
Keep that in mind when reading the comments here.
Regarding the numbers here, I'd say there are multiple thousands, possibly 5 figures. The top article about Apple refusing to publicly backdoor the iPhone (https://news.ycombinator.com/item?id=11116274) got 5667 points. And sometimes my comments will attract a reply chain but not get upvoted, which shows that some proportion of people doesn't upvote here.
Up to a short time ago, most humans never ventured farther then 5 miles from their birthplaces in their entire lives. Before printing presses, books, and finally newspapers, all news was word of mouth...a very limited bandwidth indeed.
Even newspapers really were nothing but mostly gossip and had very limited work-related information for almost everyone, so feeling totally overwhelmed by the avalanche of targeted career knowledge is not only ok but actually totally appropriate.