Don't ever approach it this way. You never need to lie, and preparing for an interview with "lies" in your mind is going to backfire on you.
You can use the technique of "mental reservation". There is always something positive or complimentary that can be said about every bad situation, every horrible supervisor. It is simply a matter for you to examine it dispassionately, extract the good, and frame that nicely without introducing insults or the real negativity and pain that you felt in the moment.
If your supervisor overworked you and you were induced to come in for 70-hour weeks and you ultimately burned out with no vacation or weekends, you could say that the management "was quite dedicated to the company's goals and productivity". If you considered your coworkers to be slackers and they never seemed to work, "the company accommodated a wide range of talents, skills and abilities." If you never saw your supervisor and had nearly no guidance on projects or tasks, "the management believed in me and trusted me to do the right thing in nearly every respect."
These are not lies and you should not lie, because if you go counterfactual, that will be found out. If, on the other hand, they know you had a difficult time and you still found ways to compliment those bastards, then perhaps you will do the same favor for them one day.
You’ll probably find that there is a forge near where you live that does one- or two-day courses on blade smithing. It’s a pretty good birthday gift.
Watch any episode of Forged In Fire to get a feel for what’s involved from a hobbyists perspective. The second half of each episode follows the finalists’ progress on the challenge in their own workshops - some have full-blown black smithing businesses, but others are (literally) backyard operations.
I came across a recipe [1] for salt curing without doing a water rinse after curing. The idea of using only enough salt to cure the meat made a lot of sense to me, most recipes end up with way too much salt that you have to wash off afterwards.
I stuck with the 2.5% by weight ratio of salt to bacon. We have a nice chamber vacuum sealer so I used that to seal the meat while curing it. I don't have a slicer unfortunately, but partially freezing the slab right before slicing made it easy enough. Slicing soft pork fat is no fun, getting the meat a bit stiff and icy works wonders when slicing!
On the first batch I used maple syrup basically the same as the recipe. The author noted wanting to double the amount of syrup - I stuck with 2% by weight and it was almost too sweet for me, I wouldn't do more.
I actually just sliced and packaged another slab tonight. For this one I did half as much syrup and did a pretty strong costing of cracked black pepper. No clue how it will turn out, but it smelled great when slicing it! I'll probably try a few slices tomorrow morning before freezing most of it for later.
I’ve worked with, and been on hiring committees with people like mrkurt before. What always happens is they reject a bunch of candidates toward the beginning of the process, then eventually the time comes where they MUST hire someone. Because someone or something they are accountable to (investors, their boss or commitments they’ve made) asks why they can’t hire. Then there is a mad dash to interview and hire someone where standards are greatly reduced. They then end up hiring someone with similar skills and risk profile of people they have previously rejected anyways. The net result is just a bunch of time wasted for everyone.
If you ever get asked to do one of these exercises, it’s useful to try to determine where they are in this process. Ask about their hiring timeline, how long they have been interviewing for the position, and try to get a feel for how fatigued they are in general.
If it feels like they are just starting, ask how long you have to complete the exercise. If there isn’t a time limit, it’s better to wait as long as possible, so they can reject other candidates first and burn themselves out. If there is a time limit, ask to pause the interview process (insert some excuse here) before they send out the exercise.
If they are near the end and sound exhausted, that’s a good sign and the effort might not be wasted.
Ethereum will have a harder time because they launched it with an ICO, sought out investors, and the Ethereum foundation explicitly allocated themselves a share of the initial coins. AND now after the migration to proof of stake, ownership of Ether effectively gives you voting rights and administrative control of the network, not unlike a security.
Bitcoin was open and permissionless day one for anyone to mine, and Satoshi gave themselves no artificial privileges. The genesis block reward was unspendable. In practice, Satoshi ended up with a huge pile of the coins, but there was nothing that could have prevented the unavoidable obscurity and lack of awareness of such a novel and unproven project. Ownership of coins also doesn't convey any direct administrative privileges in the network. And of course, initially the coins weren't worth anything.
There aren't any reasonable arguments that bitcoin is a security, while there are reasonable arguments that ethereum is.
I believe in business when it's defined as a large group of people coordinating incentives to achieve huge things that can't be achieved by small groups, I understand that aligning these incentives, and fund raising, and leadership are real and important jobs. I'm in awe that we can pull off the global shipping infrastructure, and that we can build power plants, and offshore oil wells, and these AAA games with so much art and technical innovation that the mind spins. But it is inarguable that there is a ubiquitous layer of parasitical filth lying and manipulating and strategizing how to capture value out of this system while systematically destroying the health of many of these organizations and pretending they are actually making them better.
It measures and corrects pH, electrical conductivity, oxidation reduction potential, temperature of the air and water, water level, and humidity. It also automates pumps, lights, and fans (I know people normally advise against this). None of it is particularly sophisticated, but I’m really proud of it.
I initially used a deep water culture and later moved on to the nutrient film technique. It produces a lot of greens and herbs — way more than I ever expected — and it’s remarkably hands off. I recently left it to do its thing for almost 3 months before I had to intervene, and the problem wasn’t the water, nutrients, or the system failing explicitly. The plants just got too big for their channels and as they became stressed, they developed some pest issues. It was such a cool and empowering experience to see real world automation Just Work.
The whole thing is powered by an Arduino Nano RP2040 Connect. It’s a great little controller.
I’m currently designing my first PCB to consolidate the system onto a single board so my friends can easily build their own. It’s not extremely cheap, but it’s not too expensive either and you get a tremendous amount of food from it. It’s such a fun hobby.
> First, Stack Overflow contributions are licensed under Creative Commons. So monetizing them is explicitly allowed.
The evolution of any human legal system can be described as follows.
1. Hey guys, here is a simple set of rules we have agreed upon, to make sure there are no conflicts. Please follow them in good faith.
2. 95% of people follow both the letter and spirit of the agreed rules.
3. Some bad actors come in and only comply with the letter of rules, hacking and exploiting the system to their obscene advantage.
4. The complexity of the rules is increased to shut down the bad actors. The new rules increase costs for everyone, good and bad actors.
Repeat steps 2-4 continuously till the system is completely broken and we are all much worse off. The bad actors, "We did nothing wrong, we followed the letter of the law."
I’m the developer of an iOS and iPadOS app that I think is relevant here. My app Ephemera is a simple read-later application that places expiration dates on every link you add. If you don’t read the article in time, it disappears forever.
The app isn’t for everyone, but if you are buried under the torrent of information you “think” you should read, I have found that Ephemera helps me focus and actually read more.
> The classic one I've seen like 5 times is "how would you design a social media feed?" I still do not know the "correct" answer to this question.
There is no "correct" answer to it. It is an investigation into how you break the problem down and approach it. When presented with a challenge to it, how do you then look at it and consider how to solve it.
I've reported directly to good CTOs and really bad ones.
The shitty ones:
- Either never built trust or broke trust.
- Were impulsive and reactionary.
- Didn't rely on the expertise and skills of their reports as much as they told them what to do because they already knew everything. Didn't ask questions. Gave orders.
- Literally used the words, "because I said so".
- Believed that they were the only one doing any real work. Used the words, "easy" to describe work that was assigned to their reports.
- Were very insecure - questions were often received as
challenges to authority.
- Set in place policies which they were the first to violate.
One thing I've noticed is that a lot of colleagues don't know how to give good situation reports. One common error, especially amongst engineers, is to start from first observations and work towards a conclusion. This is exactly how one should think about technical problems, but it's not a very effective way of communicating, especially when you're trying to relay information up a chain of command.
Here's how I learned to give a situation report during my brief stint in the armed forces:
1. "I am" (identify yourself & other parties involved; give location where appilcable)
2. "I see" (What is on your radar? What's the problem? What situation is developing? Which milestone have you reached?)
3. "I'm doing" (How are you responding to what you see?)
4. "I want" (How can your interlocutor help? What resources do you need?)
The mnemonic for this is rather funny: "I'm lost. I can't see shit. I'm doing fuck all. I want to go home."
I think it works rather well in civilian life, too: "I'm working on $FEATURE. I'm noticing that page load times have doubled. I'm caching the results to try to reduce that a bit. Could Bob have a look at the database indexes?"
I've worked with A Team (www.a.team) for about a year now and I've had an amazing experience with them so far. Really interesting projects, good pay and their team is very supportive with getting you up and running. Can't recommend enough
From Bill Watterson's commencement speech at Kenyon College in 1990. I was lucky to read this when I was graduating and it changed my whole career path. I am now very happy and very boring:
"Creating a life that reflects your values and satisfies your soul is a rare achievement. In a culture that relentlessly promotes avarice and excess as the good life, a person happy doing his own work is usually considered an eccentric, if not a subversive. Ambition is only understood if it's to rise to the top of some imaginary ladder of success. Someone who takes an undemanding job because it affords him the time to pursue other interests and activities is considered a flake. A person who abandons a career in order to stay home and raise children is considered not to be living up to his potential-as if a job title and salary are the sole measure of human worth.
You'll be told in a hundred ways, some subtle and some not, to keep climbing, and never be satisfied with where you are, who you are, and what you're doing. There are a million ways to sell yourself out, and I guarantee you'll hear about them.
To invent your own life's meaning is not easy, but it's still allowed, and I think you'll be happier for the trouble."
> How does one even learn how to make something this amazing?
I haven't done anything quite this amazing, but I have created other things with minimal upfront knowledge and "the way" is simple: just jump in and give it your best shot with what you already know, identify the most glaring deficiency in what you made, take your best shot at solving that, and repeat that process until you have something cool. You can also use this process to focus what you spend time studying/learning, as you backfill the information you were missing to figure out how to overcome whatever obstacles you encounter.
It does take time, but you know what they say about long journeys and single steps. Sometimes there are no shortcuts and you just have to take a lot of steps.
For what it's worth, with an older financial background, the gold standard of P/E ratios were made up at one point as well.
Financial statement analysis and GAAP are much softer indicators than gen pop tends to think. It comes out of a period before behavioral economics took hold, for instance.
> guess at the "true" value of cryptocurrency
How I do it is this:
It's understood today that the Internet fundamentally changed "something" inherent about how we access, interact with and move information. There was a cambrian explosion of availability, and we overtime determined there was some form of "value" to it. It's worth remembering that how to value it had no real peer to compare to in terms of competing information networks - would you price an internet company, or infrastructure like you would a book publishing company or news org? That valuation and how to invest in it broadly took the form of Internet companies, or data-rate charges from infrastructure owners. It's challenging to price the actual data in the network. Arguably, PII/customer data is so valuable because that's easy to price. It's tied to a discrete individual. But for raw information packets, that's more challenging to do for many reasons. So we know this information has value, but we can't easily price it like we can other commodities (1 piece of timber == $$, 1 TCP/IP packet == ?).
Financial transactions are also a form of information. But they didn't experience a correspondingly large boom relative to the full impact on information by the Internet. This is because financial transactions need to be provably discrete, and TCP/IP and related design concepts aren't a good fit for it (yes, packets in transit are discrete, but what I'm referring to goes beyond that). So, we've seen huge explosions of financial activity where it was a simpler financial tx -> internet packet like in heavily digitized financial exchanges, paypal, venmo, and the large uptick in tap-to-pay smart devices. However, we're still entering payment details manually in many payment settings, and the digitization of current finance still ends up requiring a significant amount of manual settlement behind the scenes. This is because it's challenging to prove that "1 digi-buck" is in fact a discrete digi-buck I own and I alone.
So, that's the value that cryptocurrency solved: how to send provably discrete financial data, without relying on a manual, centralized settlement system that's possibly corruptible (what cryptocurrency people would call trustless settlement). It moves the value proposition from the external parties around the internet (ISPs, companies, consumer data) directly into the data transacted, itself. And puts a price on that data.
In my mind, I think of what the Internet did to information, and what cryptocurrency does to financial information, then there's a clear value prop. Edit: the big unknown though is how the tradeoffs between a good-enough service like venmo vs. bitcoin impact user decisions. Digitized finance that's just "good enough" might be good enough for quite a large chunk of the population, and it'll be a long time before we see me paying you for beer in btc.
Hope that helps but also would love to hear counters.
> You don’t feel the amount of new things you see slows down considerably as you grow older?
At 44 I have the opposite problem. The more I learn, the more I realize I don't know. When I was younger I had the ego of a young person and thought I was always on the cusp of knowing it all. As I got older I realized I was simply unaware. It's a bit cliché, but I started approaching everything, even things I 'knew' with a beginners mindset.
One of activities that really helped trigger this shift was finding something brand new to me at ~40 that I also became passionate about. In my case it was jiu-jitsu, but it can be anything where you're drinking from the firehose again. That mindset spread through everything else in my life.
I'll add that OP — Your biggest issue seems to be extremely high intelligence, paired with a lack of empathy and social functioning, which created a self-expectation of massive grandiosity. But you keep failing to deliver on it because you can't get your highly powered brain on the streets, leading in self-pity and depression. Not good, but salvageable.
How do I know? My life story reads basically like yours into my late twenties — multiple college dropout, extremely high ambitions, always failed.
The only difference is that I started that low level support job in a company small enough that somebody saw my talent and got me on the path to second level tech support and then engineering as I continued automating my job away.
Had to chuckle as I pissed off quite a lot of people higher up in that job early on myself, but fortunately had a few people reflecting me instead of firing me, which made me understand how I made other people look and feel by my actions.
The good news: Empathy is a learneable skill. Aim far lower in a smaller, young and growing (!) company with good potential — but especially with a great boss. Then work hard, SHUT UP your smartass mouth for a year and work your way up while learning what's holding you back with the help of a good coach/therapist. When you apply with the company, read everything you can about what they do and make it about them.
Stop trying to impress. For that year, just focus on staying super humble and in the background, learning how value is created for that company and then go on creating that value even if nobody asked you to. Just for a year. Up your ante slowly and only when you feel you have established personal trust and leverage.
Empathy a skill where intelligence won't support you but be in your way because of your natural tendency of you showing it off. That makes people feel dumb, and nobody likes to feel like that. Also, some actions like you skipping line management will make them feel they can't rely on you on top. You'll keep failing if people keep hating working with you.
Your goal is to find a great manager first and make them look great. And then talk about that. Be the solution guy, not the problem guy. Be the one who goes the extra mile to bring a small win home, not the one who makes the snarkiest comment.
You'll never be a "normal" person, but that's ok. Having a sharp profile comes with its own set of (dis)advantages. You can be high functioning if you surround yourself with capable people who know how to work with your weaknesses in order to leverage your strenghts.
While I agree with the article's main takeaway that you need to have a good relationship and work together with recruiter, I mostly disagree with the negative scaremongering about sharing your resume. Every single recruiter I have ever shared my resume in order to apply for a particular role explicitly asked me to confirm a "right to represent" statement and only then would they share my profile with a target company.
In my most recent job search as a senior front-end developer, I turned my LinkedIn profile to be "seeking work - visible only to recruiters" and I corresponded with over 300 recruiters over the course of 4 months. My initial reply message to every recruiter who contacted me included a greeting, my salary expectations, my phone number, and my schedule during which I am free to chat, as well as a copy of my resume. They all appreciated that I laid my cards on the table since it eliminated 15-30 minutes of pointless back and forth required for them to get this information from me, and they could also cut the conversation short immediately if whatever role they represented wasn't a good match.
This kind of job search process took relatively long but ultimately, with little effort, I was able to land a gig that's a perfect fit at the top range of my salary expectations.
Pro-tip: create a dedicated email address for the purpose of your job search and NEVER include your primary phone number on a resume which you share with recruiters or portals such as dice.com.
Former Uber engineer/EM here: I worked on the Rider app.
The “there are only a few screens” is not true. The app works in 60+ countries, with features shipped in the app that often for a country, and - in rare cases - a city.
The app has thousands of scenarios. It speaks to good design that each user thinks the user is there to support their 5 use cases, not showing all the other use cases (that are often regional or just not relevant to the type if user - like business traveler use cases).
Uber builds and experiments with custom features all the time. An experimental screen built for London, UK would be part of the app. Multiply this by the 40-50 product teams building various features and experiments outside the core flows you are talking about (which core flows are slightly different per region as well).
I worked on payments, and this is what screens and components are in the Uber app:
- Credit cards (yes, this is only a a few screens)
- Apple Pay / Google Pay on respective platforms
- PayPal (SDK)
- Venmo (SDK)
- PayTM (15+ screens)
- Special screens for India credit cards and 2FA, EU credit cards and SCA, Brazil combo cards and custom logic
- Cash (several touch points)
- AMEX rewards and other credit card rewards (several screens)
- Uber credits & top-ups (several screens)
- UPI SDK (India)
- We used to have Campus Cards (10 screens), Airtel Money (5), Alipay (a few more), Google Wallet (a few) and I other payment methods I forget about. All with native screens. Still with me? This was just payments. The part where most people assume “oh, it’s just a credit card screen”. Or people in India assume “oh it’s just UPI and PayTM”. Or people in Mexico “oh, it’s just cash”. And so on.
Then you have other features that have their own business logic and similar depths behind the scenes when you need to make them work for 60 countries:
- Airport pickup (lots of specific rules per region)
- Scheduled rides
- Commmuter card functionality
- Product types (there are SO many of these with special UI, from disabled vehicles, vans, mass transport in a few regions etc)
- Uber for Business (LOTS of touchpoints)
- On-trip experience business logic
- Pickup special cases
- Safety toolkit (have you seen it? Very neat features!)
- Receipts
- Custom fraud features for certain regions
- Customer support flows
- Regional business logic: growth features for the like of India, Brazil and other regions.
- Uber Eats touchpoints
- Uber Family
- Jump / Lime integrations (you can get bikes / scooters through the app)
- Transit functionality (seen it?)
- A bunch of others I won’t know about.
Much of the app “bloat” has to do with how business logic and screens need to be bundled in the binary, even if they are for another region. E.g. the UPI and PayTM SDKs were part of the app, despite only being used for India. Uber Transit was in a city or two when it launched, but it also shipped worldwide.
And then you have the binary size bloat with Swift that OP takes about.
I work at a very small company, and I have a lot of leverage relative to other opportunities. I can directly feel how my work converts into more business value & opportunity. This is not just about me though. It's also about being able to grow the company and provide amazing opportunities for other developers, project managers, executives, et. al. I view my company and team members almost as a big family. We offer all sorts of employee incentive packages, so my success also means that others on the team are reaping value.
For me, this is enough. I can go through life with the purpose of holding together a technology company & vision. Especially, when I view it through the lens of all the opportunity and support I can provide for other humans. I feel I can do a lot more good in this world through technology & business than if I were to bunker down and start my own family and pour all my energy into that bucket.
There is certainly a happy balance that a lot of people manage across both realms, but I have doubled-down a bunch of times on the technology paths, so I am fairly locked-in at this phase. I am truly happy with the choices I have made. Many times, the hardest part of this is ignoring some of the more toxic perspectives regarding your choices & contributions. I have to remind myself that a lot of people are really not happy with their jobs and just want to get in and out without too much drama.
“I do get a sense sometimes now among certain young people, and this is accelerated by social media, there is this sense sometimes of: ‘The way of me making change is to be as judgmental as possible about other people, and that’s enough.”
“Like, if I tweet or hashtag about how you didn’t do something right or used the wrong verb, then I can sit back and feel pretty good about myself, cause, ‘Man, you see how woke I was, I called you out.’”
“That’s not activism. That’s not bringing about change. If all you’re doing is casting stones, you’re probably not going to get that far. That’s easy to do.”
There's a simple arithmetic to this: Computer Science is a growth industry (still), and has been on an exponential curve for decades. It doubles roughly every 5 years, which means that every 5 years half of all programmers have less than 5 years of experience, by definition.
More importantly, the absolute number of these inexperienced programmers (and architects, and admins, and ops people, etc...) is growing, so the "total ignorance" is increasing.
I've just gotten involved in a project to "modernise" a "legacy" ASP.NET project. By legacy, they mean ASP.NET 4 running on .NET Framework 4.8 with SQL Server 2017. Not exactly ancient! This apparently is no longer the hot new thing and "has to be" rewritten using cloud microservices or something.
The app actually runs just fine in its current state. But none of the programmers involved know the pre-core version of ASP.NET or anything but Azure. So it's time to revamp it.
"In economics, the Jevons Paradox occurs when technological progress or government policy increases the efficiency with which a resource is used, but the rate of consumption of that resource rises due to increasing demand."
Only tangentially related to the thread: I'm struggling to think of how government policy might increase the efficiency with which a resource is used, other than by not existing in the first place.
So, an ask: any historical examples where government policy other than deregulation has increased the efficiency with which a resource is used?
There is also the https://www.openra.net/ project which provides reimplementations of the classic C&C games.
Me and some friends played it a few times on Linux, OSX and Windows and it worked smoothly :)
Don't ever approach it this way. You never need to lie, and preparing for an interview with "lies" in your mind is going to backfire on you.
You can use the technique of "mental reservation". There is always something positive or complimentary that can be said about every bad situation, every horrible supervisor. It is simply a matter for you to examine it dispassionately, extract the good, and frame that nicely without introducing insults or the real negativity and pain that you felt in the moment.
If your supervisor overworked you and you were induced to come in for 70-hour weeks and you ultimately burned out with no vacation or weekends, you could say that the management "was quite dedicated to the company's goals and productivity". If you considered your coworkers to be slackers and they never seemed to work, "the company accommodated a wide range of talents, skills and abilities." If you never saw your supervisor and had nearly no guidance on projects or tasks, "the management believed in me and trusted me to do the right thing in nearly every respect."
These are not lies and you should not lie, because if you go counterfactual, that will be found out. If, on the other hand, they know you had a difficult time and you still found ways to compliment those bastards, then perhaps you will do the same favor for them one day.