Andrew Huberman has a great podcast episode on the effects of alcohol on the body and brain[1]. Huberman is a professor of neurobiology at Stanford and he does a great job of explaining things in layman’s terms.
I recently cut back on my drinking significantly after listening to this podcast. Give it a listen and maybe you’ll find something that resonates with you as well.
For those interested in learning more about this topic, I recommend checking out the Violence Project by Jillian Peterson and James Densley [1]. This book opened my eyes to how complicated and multivariate this problem really is. It's much more complicated than simply guns and mental illness.
For me, the most surprising takeaway was how many shooters exhibit signs of trouble prior to the shooting and how difficult it is for teachers and law enforcement to do something about it.
There are certainly many people that show signs of trouble, but don’t become mass shooters. And yes, availability of firearms, specifically high capacity rifles, was found to be a significant factor to the rise in the number of victims.
The Violence Project makes the argument that it’s not just mental health and availability of firearms that causes mass shootings. It’s a confluence of many contributing factors that all need to be addressed.
This is why I found the book so enlightening given the typical mental health and gun control debate that is going on now. This is not a simple problem to solve in my opinion.
If you liked this article, check out the Joe Rogan podcast with Jewel[1]. She talks a lot about her rise to stardom and how she was able to maintain creative freedom with good financial decisions. This is far from a happy ending though. Jewel is an incredibly fascinating person. I highly recommend checking this one out.
I wish I had the time to invest in watching / listening to a 3 hour interview… I wish there was a highlights version or something that was maybe 45 minutes at most.
Here’s a 15 min clip about her record deal [1]. TL;DR: She didn’t take a big advance even though she was broke and ended up making a lot more money from residuals.
Things get really interesting when she talks about how her mom stole all her money and now she’s basically starting over (in the original link).
It’s all about your time versus money in my opinion. Do you have more time than money, do it yourself. Do you have more money than time, hire someone.
I found the hourly rate of tradesmen to be comparable to software engineer rates ($150-$200 per hour). But because I work on salary, one hour or my time does not directly increase my cash flow. Also, I’m senior enough in my career that effort alone does not equate to salary increase.
YouTube is an amazing resource for learning. There are so many professionals making high quality DIY videos. And they’re actually entertaining. I recently installed a Mini Split AC in my garage and these two channels were invaluable.
@ineptech knows what he's talking about. Follow this advice.
Here are some more ideas to consider. Source: 18+ years of experience as an engineer, manager, and director.
The theme is make your manager's life easy and he/she will do whatever they can to help you out.
Depending upon the size of your company, your manager may have more or less discretion with WFH. Whatever you do, don't put him/her into a corner with an all or nothing demand. Be clear with what you want, but be willing to negotiate how it happens.
If you've consistently delivered in the past, you have a tremendous amount of leverage. Believe me, the last thing a manager will want to do is lose one of his/her top engineers especially given this job market. Make sure they know you have options and you're willing to exercise them, but you really want to stay put.
Be patient, but hold a hard line. Most managers are inundated with bureaucracy which means almost nothing moves fast. Don't be surprised if your request gets pushed down the stack due to the latest fire that needs attention. Keep offering up options that make their life easier. I know, I know, this is about you not them, but trust me on this one. Make whatever solution you want easy for them. HR says no? Talk to HR, find the loop hole (private healthcare decision sounds perfect).
Alright, this one may be a bit more out there. Reader discretion advised. Just do it. Don't come back in the office. Don't make a lot of noise about it, make sure your productivity stays up, and have numbers to back it up. If your manager catches heat, do whatever is necessary to relieve him or her then go back to WFH.
Before deep diving into CS theory, I would go deeper into programming first to better understand how a computer really works. The best intro on this topic I found is "Programming from the Ground Up" by Jonathan Bartlett [1].
"Programming from the Ground Up" starts at the bottom with CPU architecture and goes up from there to how functions work, dealing with files, code libraries, high-level languages, etc. Having a solid understanding here will provide immediate benefits in coding and serve as a strong foundation for some of the other recommended texts.
If you're interested, I recommend buying directly from Bartlett Publishing [1]. Bartlett published the book under the GNU Free Documentation License and there are multiple copy-cat versions on Amazon.
I actually recommended this to her already - the book (The Elements of Computing Systems) of the same course was the first programming text I ever read. Really enthralling!
Will Durant puts this very succinctly in "Lessons of History" [1]:
"History reports that the men who can manage men manage the men who can manage only things, and the men who can manage money manage all."
In my experience, a management role has typically come with 10-20% more compensation versus a comparable individual contributor role, but 100% more responsibility and accountability. I wouldn't worry too much about parity between the two tracks, focus on what you truly enjoy doing. Besides, the money guys can fire us all ;-)
Entering a market isn't for the faint-hearted. I got interested in buying turn-key online businesses last week. This way someone else gets to bear the risk of bringing a product to market and you can just focus on cashing checks and helping it grow.
The last time I had a supervisor that wielded actual responsibility and accountability was 1992. aka A Good Boss. Every one else just failed upwards or was cannon fodder for those who could (fail upwards).
As a Junior Power Ranger, I had three terrific jobs. Work hard, do well, get rewarded. Good experiences that completely screwed me for the shark infested waters of corporate america.
This is a tough situation to be in. I've been there myself and it's not fun. If I were in this same situation again, I would ask myself a few questions:
* Who is my customer in this situation? It could be your boss, your boss's boss, an important stakeholder, end users, etc. Make sure you have clarity on your customer so you can focus on their problems first. If you have find you have multiple "important" customers, then prioritize the most important first. This is likely the person who has the most influence on your immediate success.
* Are any of the problems you identified "your" customer's problem? If so great, time to get to work. If not, consider reprioritizing. You should reach out to your customer and get their feedback on priority. Be careful not to lose sight of the big picture.
* How do I know the other engineers aren't right? If you work with smart people who know how to get things done, then you should take their feedback seriously. Maybe they're right and you're wrong. Always validate your assumptions.
* What would happen if I just solved the problem myself? If you can then do, seriously. Submit a PR with your solution or build a proof of concept. Default to taking action. Don't wait for someone else's approval to get shit done.
* How can I measure and bring transparency to these problems? You'd be surprised how powerful emails with data are. If you can measure the problem (e.g., MTTR, rate of failure, response time) and more importantly the impact on customers, then you may be able to indirectly "motivate" others to solve their own problems. Send regular updates to managers, Directors, VPs, Execs, anyone important who will listen.
* At what point should I just let this go? Time box your efforts and once that time period has been reached, just let it go. This very well could be a situation where the "problem" is not the top priority. You may have to let this one burn so you can focus on other things.
Both you and jonathanfoster have raised some great points here.
In a way, the working prototypes I've built (many of which could be production ready with little extra work) have been my "just get shit done" approach, both to prove my solutions to myself, AND to help make the argument to the rest of the team.
What's tough is that I'm not getting any hard no's on anything... after I build and show working prototypes of my ideas (many of which could be deployed to production with little extra work) I usually get a pat on the back followed by a "we'll discuss getting this out there when we have more time to learn it", and then it goes nowhere.
Next step would be deploying the stuff to production, but I have a good hunch I'd be the only one using the stuff, which wouldn't actually fix the problem from the customers' perspective if only half the system works as they'd expect (especially if new features continue to be written by the other engineers using old systems).
Ego might be part of this, though, so I think being extra diplomatic and trying to frame these ideas as "other people's ideas" might get me further.
Barring that, I might go straight to the customers (starting with our internal users and maybe broadening from there) to make sure my ideas are actually worthwhile to them.
If I can get a hard no from either my co-workers or the customers, I'd be more willing to either back off or find another place where I fit better. But as of right now, I see our customers asking for things we can't deliver, and I have a drive to fix it, but I don't think there's a way forward without my co-workers' and superiors' buy in.
Not gonna lie, I have pissed some people off with this approach myself even when it was handled properly. Diplomacy and collaboration should be used first. Maybe even let someone else take the win. Use the get shit done approach as a last resort.