And you realize that person spends their life handing out wisdom which consistently just falls on deaf ears.
It's an empty journey with an unsatisfying end even if you make it to the top.
The money's great, but if you are smart enough to be constantly walking into bigger and better rooms, you should also be smart enough to realize there's diminishing returns on personal wealth but diminishing supply on personal time.
Sometimes the best strategy in winning a game is not to play.
As an aside, you can be smartest in programming and even managing teams but you might still not be most sociable, strongest, most musical, richest, most charismatic, funniest, most attractive, <insert adjective here> person.
If the only measure you go by is IQ, you're childishly defining the game all other kids are supposed to play and then wonder why no one plays with you. That would definitely not be smart.
On the loneliness front, I meant in the scope of working. I have four kids, I am everything BUT lonely with them.
However, I do agree that aside from work and one of my hobbies I have neglected my health, specifically I need to eat healthier, exercise more and lose some weight. I've debated working one hour less than I'm supposed to just so that I can exercise daily, but I find myself worrying that without me things will fall apart.
Logically, I know that's not true. If I died today, the company or my team would not collapse. Nevertheless I feel that if I'm supposed to be working from 8-5 (which 1 hour lunch), I need to actually be working.
Work isn't everything. If you start working on your health, it will improve your mood and outlook. My guess is, you have an introverted personality and occasional feelings of isolation are just part of it. Try to accept it rather than fix it, because you might find that if you did have peers, that would have its challenges too.
Re eating/getting healthier,
1) food: this guy Rip is truly a lifechanger (esp if since you're in the zone when it would be smart to look after your heart: https://mealplanner.plantstrong.com/
2) Lose weight (this approach might be appealing to your engineer'y instinct): https://www.fourmilab.ch/hackdiet/
3) Exercise:
- Warm up (DO THESE): https://www.youtube.com/watch?v=-QWyyHfARNI
- Try to get through a round of this w/ good form + then try to do 2, 3, etc: https://www.youtube.com/watch?v=XTSIqbuZC0Y&t=369s
I don't have any career advice for you, leaving is one option but consider that it would great for you to "skill-up" the people around you so when you leave it isn't like they lost their Golden-Boii, but rather bow out like a Bob Iger at Disney & leave them with a glorious future blah blah
I had the exact same experience in my first job, where I was one of the least experienced developers and I wasn't even remotely the smartest one there.
However, I was working smarter than everyone else. For example, I was the only one that had adopted a "proper" IDE (IntelliJ IDEA). I was the only one using the source control the way it was supposed to be used. I was the only one using scripts to automate the gruntwork. Etc...
I could be told about a bug and the function name it was in and be done fixing it in under a minute. Literally just the "global semantic search" feature of the the IDE saved me hours of time compared to everyone else. Incremental builds saved me another hour. Automated tests running in the background eliminated an hour of manual testing.
Hilariously, the reason I leaned on the tools so heavily was that I felt like I wasn't good enough to navigate the codebase without the assistance of an IDE.
The end result was that I could run circles around everyone else. Like you, I compared the checkins per week and I was #1 by far. Literally more fixes per unit time than everyone else combined.
This should be a lesson for everyone here who thinks that they are smart, or experienced, or "senior":
- Your typing speed is not your velocity. It doesn't matter how good you are with VI or Emacs if you take hours to complete a task that a purpose-built IDE lets a junior developer finish in a minute.
- Tooling outside of the editor matters. Incremental builds matter. Automated tests matter. Telemetry from production matters.
- Focusing on features while there are open bugs is a guaranteed catastrophe. You will have to fix the bugs sooner or later anyway. You can fix them right now, or you'll have to compensate for them while adding features... and then fix them later, after having wasted your own time.
Etc...
The codebase I was working on was Java, server and client.
I actually learned a lot from that job! I stayed just long enough to see how they do everything so I can then do the opposite in my career. I purposefully quit before I ran the risk of being infected by their attitude.
Random examples of the madness that went on in that place:
- They created a custom database engine in Java that used millions of tiny flat files to store the data. The reasoning was that Oracle was too expensive. They then had to license Oracle anyway because they couldn't generate the ad-hoc reports their customers wanted out of their own DB engine.
Lesson learned: Always use common, popular CoTS OLTP DBMS products. Don't make a DB engine unless the DB engine is your only product.
- No transaction capability in the custom DB. The logic for writing data to the DB was... hilarious.
Lesson learned: never try to "emulate" transactions. Always use the built-in transaction idioms of the underlying system.
- Deadlocks, live-locks, data corruption, and even thread leaks were the norm, not the exception. The server would only start up successfully 2 out of 3 times at best.
Lesson learned #1: Multi-threaded code is either proved to be correct mathematically, or it is Wrong with a capital W. There is zero wiggle room on this.
Lesson learned #2: Use the best quality[1] multi-threading libraries for their "primitives" such as bounded producer-consumer queues. Never try to hand roll these yourself for any reason, ever. Just don't.
Lesson learned #3: If you code is riddled with critical crash and correctness bugs, you'll never know if the change you just made has introduced a new bug.
- Only full compiles would work (by default).
Lesson learned: a 30 minute delay in the type-build-run-debug cycle is productivity-killing madness. This is the most important metric to optimise for anyone in charge of a dev team. Pretty much nothing matters more than this, because it multiplies out everything else. Buggy code? Now it's minimum 30 minutes to fix a bug. Slow code? Any optimisation had better be worth the 30 minute wait! Behind on features? 30 minutes minimum for the smallest change. Etc...
- Ignoring naming errors, such as functions being named as if it does one thing but it actually does something unrelated. Similarly, there were tons of typos in identifiers.
Lesson learned: IDEs with refactoring capability were invented for this. If you don't fix it, every newbie is going to trip up. Every time. Every. Single. Time. It will cost you more time eventually if you don't fix it, not less. Just. Fix. It.
- Not using debuggers. This one was the most hilarious for me. Developers would spend hours adding debug print statements to the code, while I would just create a breakpoint, run the code, and solve the problem immediately.
Lesson learned: programming is 10% typing, 90% debugging. If you use an editor like VI or Emacs to optimise your typing speed, you are optimising the 10%, not the 90%. You've failed fantastically badly at your job. You're not a typist. You're a correctness ensurer. Act like it.
- Testing is optional in the same way that tasting the food you cook is optional. I mean, sure... if you're really good you can make tasty food reliably. If.
Lesson learned: IDE-integrated test frameworks can save more time than they take to set up. At a minimum, test any "clever" code with every corner-case. Null and empty inputs. One input. Multiple inputs. Max/min inputs. Inputs expected to trigger errors. Etc...
- Reams of dead code left in the source. That dead code had changes made to it after it had become dead. Bug fixes. Renames. Cleanup. Consistency changes. On and on, and on. The staff were easily spending 30% of their time editing code that wasn't used.
Lesson learned: dead code is pure, unadulterated overhead at every step. Checkout? Wasted time. Build? More wasted time. Running tests? Time wasted. Refactoring? Extra work. Etc...
[1] At the time I used EDU.oswego.cs.dl.util.concurrent by Doug Lea, which was amazing. Several modern standard libraries are modelled on it, including Java's java.util.concurrent.
If your exhausting yourself at a desk for 8 hours x5 until complete burn out...well...then you go from writing 80% to 0%. How does that help the company? It really doesn't, and your overall average drops real fast (even though your not there).
Others maybe already get this (or live like it anyway) and spend less time typing code. Taking care of yourself so you can continue to contribute 4-5x of others is far more beneficial for the company in the long run.
Think about the "10x" companies - FANNG if you will - they have bicycles for people to go between campusus's, entire gyms, foosball, etc, etc. They seem like insane perks to the outside world, but it's what give balance to the 10x'ers whom work there - and they do it on company time.
Good luck!
So be it. This may be harmful to your team/company in the short term but it will make it clear that there is a gap in output and productivity within the team that must be addressed. Go lift heavy weights (im talking about iron).
If I died, I don't care.
If I left the project entirely, I don't care. I've moved on many times over my career. I can live with that.
But... if you leave early for a bit, then things "fall apart" and you have to then fix things.... that is the bigger concern. It's the 'fix it' part that bothers me.
How often are you actively learning from and engaging with them on exciting new tech (or the systems you've designed and how they can be further improved, etc.), compared to water-cooler talk?
From a point of self-evaluation I think it would help if I tried to listen more than talk.
You're hitting all of the points many people are still striving for.
Perhaps it may be worthwhile seeking a professional's opinion, as the problem may be deeper-rooted than can be explored via forum.
I truly appreciate it.
> Logically, I know that's not true. If I died today, the company or my team would not collapse.
Even before I got to the next sentence I recognized this from my own experience. You’re experiencing acute burnout.
It’s hard to disconnect from that, but I can tell you (again from experience) that you need to find a way to do that.
My advice is to set yourself a goal, to become a .1x developer for a clearly defined amount of time. A month is a great minimum. Go travel or even just find a fishing hole or something that feels relaxing and detached from work and just… don’t be at work.
Either you come back recharged and reassured that your team is as capable as your rational-voice mind is telling you, or you come back to flames and realize you deserve a better role that supports you.
Regardless, you come back with some time away to rest and think about what you want for your life, including whatever is next in your career.
If you are working salaried job and not earning 3x as your peer, yet you worry things will fall apart? Something is not right. Most likely you need to ease a bit on work, see nothing will fall apart or if it does ask for huge raise.
I assume you are referring to some sort of productivity methodology like GTD.
This is inadequate. Adults need "love" and companionship from adults in our lives. The love of children is inadequate; we must also have strong ties with buddies, pals, compatriots, and colleagues for mental health.
Children can never fully deplete adult loneliness.
I think you will feel better. I certainly do, on a similar regime.
I believe that if you are already feeling lonely, despite working somewhere for X number of years, the solution is very likely not going to be found at that same place of work.
If you have friends at work and they come to your wedding, congratulations, my thoughts on the situation are not suitable for your situation and you are more than welcome to (and should) ignore it.
> I know saying this is easier than doing it, but; seek upward movement until you no longer feel like you're the smartest person in the room.
Since there are many dimensions of intelligence, the above is very underspecified.
Once you disabuse yourself of the fallacy that there is a single dimension of intelligence, it opens up a whole new world of possible mindsets. This allows you to rethink your goals and even your metrics for fulfillment. Perhaps it is more rewarding to think of how you complement others, for example, in terms of capabilities, personality types, and life experience.
> Having had the extreme privilege of actually working with some really exceptionally smart people I can assure you that intelligence is a general trait without any significant extradimensionality.
This claim is not persuasive. It also may contain various logical and statistical fallacies, depending on your word meanings. If you want to persuade, I suggest that you'll need to give more context.
A. How do you define "exceptionally high intelligence"?
B. Where and in what capacity have you worked with these people?
C. How do you assess this trait?
D. What do you mean by 'crab bucket ideology'?
E. You are aware that there is considerable scientific writing arguing in support of many kinds of intelligence, no?
F. What parts of (E) do you dispute?
G. What do you mean by 'general trait'?
H. What do you mean by 'extradimensionality'?
I. What do you mean when you say your definition of intelligence "is a general trait that does not have any significant extradimensionality"?
J. WRT (I) are you saying that your definition of intelligence is not correlated nor caused by other traits?
K. Do you have a physiological or biological basis for your claim?
L. Please share sources (writing such as studies) that you find persuasive.
M. What are the chances that we are talking past each other? Do you have questions for me?
There's certainly considerable social demand for this to be true, and Howard Gardner is tirelessly promoting it, but the current expert consensus seems to be against it. Both Stuart Ritchie's _Intelligence: All That Matters_ (ch. 2) and Russell Warne's _In The Know_ (ch. 5) consider the multiple intelligences hypothesis false and have further citations.
Intelligence has many forms, athletically gifted, musical, emotional, the list goes on.
Your classical & narrow definition of intelligence is outdated.
To be a true polymath - as is hinted throughout this entire discussion, there's a need to nurture more than ones intellectual prowess.
How would you respond to the following criticism? Isn't this just semantics?
What are some benefits of shifting the labels of various skills and traits such that they get included under the umbrella of "intelligence"?
Ok, I'll stop my satanic advocacy now... :)
Let's take athletic skill in particular. Can you help me understand why it makes sense to call it a form of intelligence?
I think it is fair to set aside certain physiological traits that provide athletic advantages such as cardiovascular fitness and muscle composition and body structure (since certain sports/activities often tend to favor certain body types).
Once we have set aside those things, what traits remain that that are 'intelligence like'? (How are we defining intelligence?) Off the top of my head I would suggest spatial reasoning, causal reasoning, planning under uncertainty. Of course someone such as yourself would likely include emotional intelligence especially for e.g. team sports. Am I getting the right drift here?
I'm slowly coming around to the idea that intelligence doesn't have dimensions or types per se, but something skin to modes that are skill-like, and while there are aptitudes (largely biophysical) that may either preclude or predispose one to enjoy certain activities, what really determines ability in particular modes is how much you invest into practicing that mode (often unconsciously), simply because that's what you find comfortable or pleasant.
You get high EQ if you enjoy figuring people out so you spend more time doing that, but other factors like introversion may affect how often you afford yourself the opportunity to even try. You'll have a low EQ if you find it hard to meet people's gaze directly. In general, high EQ is correlated with empathy (so you enjoy anticipating other's needs). However, psychopaths lack empathy, but if they are highly intelligent (ie. high g) they are often extremely observant master manipulators of others' emotions.
Someone who is tone deaf is unlikely to be particularly interested in music (possible exception: percussion). Manual dexterity (but not necessarily hand-eye coordination) figures in pretty strongly for mastering an instrument. Perfect pitch is definitely a nice-to-have, but some people don't have a voice with a particularly broad range. So who is more "musical" , the popular and theatrical singer-songwriter (that doesn't actually write any of their own songs), or the Pop songwriter that can't sing and gets stage fright? Perhaps the renowned violin or classical guitar player?
Ability in higher (or "pure") mathematics is somewhat associated with musicality (though not the reverse), but neither is particularly correlated with arithmetic (which is what most people mean when they say they aren't good at math). I suspect that what's actually going on is that high g individuals who enjoy constructing deconstructing and recombining particular kinds of abstractions that often can be aesthetically represented as mathematics or as music. Nudge that aptitude in one direction and you get a mathematician. Nudge it a different way and you get a musician.
Athletic giftedness is most dependent on things like physical build[0], genes that code for building extra muscle, other genes that code for more efficient oxygen transport, higher pain tolerance, and so on. Fast reflexes can help, and a lack of any number of contraindicators like poor eyesight or vestibular problems. The closest we have to an innate "athletic intelligence" is proprioception, and I think the jury is out as to whether that's an attribute of the central nervous system or not.
Basically, if you can get into a state of flow such that what you're doing is just challenging enough to keep you engaged and there isn't anything that derails you, you're going to get better at that thing. If you enjoy doing the thing you're going to enjoy getting better at it. Your aptitudes (including fairly abstract ones like right or left brain dominance, or Big Five personality factors), can push you in particular directions at the outset and keep giving you nudges in that direction, as can your environment, but most people start out with a broader array of these than they end up leaning into. We all know people who stopped drawing because of unkind feedback or comparisons with others in their age group, for example. We've also seen a huge explosion of computer-mediated visual art made by people who never really learned how to draw well with pencil and paper and that use a mouse but not a stylus, that in an earlier age would not have been labelled "artisticly inclined".
In short, these so called different intelligences or ways of thinking are more like skills that are encouraged or not by the environment you're situated in (including your body); you get better at them the more you use them at the edge of your ability especially if you think you can get better at them.
[0] https://www.dailymail.co.uk/news/article-2502477/amp/Can-gue...
This is a fair definition I think:
> midwit: A person of middling intellect.
You recognize this is an insult, yes?
If so, why did you call me a midwit? Does it help you in some way? Does it make your comments more persuasive?
Why did you include 'actually'?
Are you suggesting that I have not?
What do you mean by "upward"? If it's the classical meaning: you're not guaranteed to find smarter people higher in the organization.
I could have said "seek movement until you no longer feel like you're the smartest person in the room", I guess.
Easier said than done. I found smarter people only in few teams in FAANGs, but never in other companies.
Unfortunately there are many other aspects that we need to balance out in life other than being in the right room.
My next line literally says "I know saying this is easier than doing it,"
>Unfortunately there are many other aspects that we need to balance out in life other than being in the right room.
And then I finish with "work/life balance is so much more than just what hours you work"
So... yes. I agree?
I know saying this is easier than doing it, but; seek upward movement until you no longer feel like you're the smartest person in the room.
I would also add, although it's purely personal opinion, that seeking a solution to loneliness through work is a surefire way to feel more lonely. You say you're big on self-improvement, but are you only focused on improving your work-related skills? All areas of life need attention, and it sounds like you've only been focusing on the work part of work/life balance (work/life balance is so much more than just what hours you work).