Sly as a Fox

Sly as a Fox

Share this post

Sly as a Fox
Sly as a Fox
3 Steps to 6 Figures: How to Survive AI
Copy link
Facebook
Email
Notes
More

3 Steps to 6 Figures: How to Survive AI

BowTiedFox's avatar
BowTiedFox
May 13, 2024
142

Share this post

Sly as a Fox
Sly as a Fox
3 Steps to 6 Figures: How to Survive AI
Copy link
Facebook
Email
Notes
More
15
13
Share

Table of Contents

  1. Introduction

  2. Programming Jobs

    1. Job Market

    2. What Top Companies Look For

    3. The Technical Interview

    4. Study Strategy

      1. The Wrong Way

      2. The Right Way

      3. What Companies Are Evaluating

    5. Prerequisites for Algorithms

    6. How to Practice Algorithms

      1. Progress Expectations

      2. Programming Language

      3. Solving Speed

      4. Question Selection

    7. Solving Algorithm Problems

      1. Correctness

      2. Efficiency

        1. Introduction to Big-O

        2. Time Complexities

        3. Why is Optimization Important?

        4. Bottlenecks

        5. Unnecessary Work

        6. Duplicated Work

      3. Clean Code

        1. Variable Naming

        2. DRY - Don’t Repeat Yourself

        3. Explaining Variable

        4. Rewrite Conditionals to Sound Natural

    8. System Design Interview

      1. Entry-Level System Design

      2. Mid and Senior Level System Design

      3. System Design Interview Evaluation

  3. Sales Jobs

    1. Companies to Target

    2. Promotion Timeline

  4. The Job Application Process

    1. Strategy

    2. Volume

      1. Language

      2. Calibration

    3. Targeted

      1. Finding Companies

      2. Recruiter Outreach

      3. Referrals

  5. The Interview Process

    1. Evaluation

    2. Preparation

      1. Company Values

      2. Role Responsibilities

    3. Strategy

      1. F-STAR

      2. Storytelling

    4. Common Questions

    5. Interivewer Habits

    6. Asking Questions

    7. Following Up

  6. Conclusion

1 Introduction

The roadmap to wealth has always been simple:

  1. Get a high-paying career and eliminate/automate/delegate work

  2. Use the money, skills, and network to start an ecom or SaaS business

  3. Funnel profits into investments with a barbell strategy

The fundamentals remain, but AI has changed the game

Let’s start with step 1: the only careers worth pursuing now are in tech: sales or programming

B-but Fox, aren’t salespeople and programmers being replaced?

The bar is raised across every domain. Everyone has already spoken about how zero interest-rate policy (ZIRP) free money is dead. Venture capital funding, credit, and other financial support has dried up. Companies are more conservative with hiring and have realized they don’t need to spend so much. Yes, this much is clear

However, add AI to the mix:

  1. The lowest-hanging fruit is the easiest to automate. This is the work which inexperienced, junior candidates have been doing. It’s easier, cheaper, and faster to prompt an AI than it is to explain a basic task to a junior

  2. Because of (1), the demands for every role will increase. All the easy work will be done quickly, so you’ll get to the hard part faster. Seniors will be expected to use AI to do the work of juniors, and fewer junior positions means more competition for entry-level roles

But let’s assume I’m wrong. Even if it were the case that AI can’t automate anything, you are severely underestimating the competition with current AI capabilities

AI was a nuclear bomb on education, but people are more worried about automation. It isn’t a big deal because of its output, but rather because of “Bloom’s 2 Sigma Problem”

This is a well-known phenomenon in education which says that an average tutored student does better than 98% of the students in a classroom

Bloom’s 2 Sigma Problem has been unsolved since the beginning of history. Educators have failed to close the gap between tutored and classroom students. It’s the reason elites have always spent so much on personal tutoring

But, guess what happens now, when everyone in the world has a chatGPT tutor for $20/month in their pocket which is constantly improving…

Hint: Everyone knows Usain Bolt is the fastest man in the world, but who’s number two?

Here’s what’ll happen: we’ll be reminiscing, telling stories of how easy it was to make money in the good ol’ days. Remember when barely literate boomers could get hired by walking into an office with a firm handshake and strong eye contact? 🐱🎂

As information becomes more freely available, everyone across every domain is hyper-optimizing. It’s winner-take-all. The pandemic already pushed the entire population online, but information is still being democratized

For example, English used to give you a strategic advantage because you could watch the latest and greatest information sources on YouTube. But now, “Google Aloud” makes it possible to dub (voice translate) any YouTube video in any language

Every little edge is becoming common knowledge:

AI tutors are already being implemented in schools. African governments are actively working on this. Studies have already been published from Ghana showing that students have improved at every grade level:

Even I have learned more in a month using chatGPT than a year’s worth of learning before it. If you aren’t learning at hyperspeed, you aren’t using the latest models, the right prompting strategies, or best techniques (such as retrieval-augmented generation). Enhancing yourself with AI is how you survive it in the long-run

So, how do you win in a ruthlessly competitive environment with 1 winner for every 999 losers?

There is only one way: el que no transa no avanza 🦊

“He who does not break the rules does not get ahead”

You will never, ever become wealthy by following what others are doing–even if you have a fancy job. Your boss hired you for a reason: you make him more money than he pays you. You only get the full value of your work if you own equity

The winners are “sly foxing” AKA breaking the rules without breaking the law. Look at any billionaire. Did any of them become wealthy by following the rules? They obtained their wealth because of arbitrage and leverage

Your only chances to gain wealth are when history is created. Think about the invention of the internet, cryptocurrency, or AI. When you see the world changing quickly, you need to run

Money loves speed: you must react before everyone else learns about the new game, or “meta” (most effective tactics available)

Luckily, wealth doesn’t always stay with the big players–corporate red tape and bureaucracy make larger companies slow, even if they have more resources. You can take advantage of these inefficiencies by starting your own business

How do you do this in the AI era?

See if you can figure out it with this story:

I spoke with a lawyer who didn’t want to use GPT4. He said it was too unreliable. “It’s just a language model that guesses the next word. It gives inaccurate information all the time”

I asked him if he’d tried it. “No, I’ve just heard about it from other people. But it’s fine, I’m on a waitlist for this other tool called LegalAI I found online. They optimize AI for lawyers”

I looked at the website. “Made with GPT3.5” 🤦‍♂️

These are the monkeys you 😀🙂‍↕️👍 and make money from: their laziness is your opportunity

Civilians haven’t realized every single “AI tool” is built on chatGPT with a handful of changes. These tools add a shiny interface, a prompt, and a few PDFs to make the output slightly more specific

But the 🤢 non-technicals think this is Disney magic. Have fun being replaced!

This is good news for us, for multiple reasons:

First, everything in the physical world is regulated. The digital world is left alone. It costs nothing to start a software company, and billions to approve a new drug. This is the reason we see more video game companies instead of scientific innovation which would save lives

However, where there are problems, I see opportunities. One of the benefits of having aged politicians is that they won’t touch the latest tech because they don’t understand it. Think about it–isn’t it crazy how much of AI is trained on copyrighted data, without consequence?

OpenAI put the entire world’s knowledge into a single website where you can ask it for anything. But you can get sued into the stone age for playing a few seconds of copyrighted music in a video. lmao

But this loophole won’t last long.

History is always moving. “Internet natives” who grew up online are replacing old politicians. Companies are chatting with lawmakers. Countries are making more laws–not removing them

Fortunately, it’s not just politicians who are clueless; market sophistication is low in general, which means most people don’t know how “AI magic” works

This is where the opportunity is:

For salespeople, it means you have the option of joining many different tech companies and still making a killing. Companies “built on chatGPT” can provide a user experience that people are willing to pay for. Think of a diet app providing an aesthetic meal plan with pictures, macronutrients, and 1-click grocery delivery

On top of this, there are an enormous amount of AI tools for you, covering every aspect of the appointment-setting process. You can reduce your workload substantially. And, AI voice dialers are becoming more convincing by the day

Therefore: it’s never been easier to stack multiple contracts. Sales will always be a viable career path because people rely on others when making purchasing decisions. More expensive items such as a home, a company, or B2B product are hard to automate because buyers still want a human relationship

In a world where anyone can make anything, the deciding factor will be the buyer’s psychology. Marketing and relationships become the differentiator between fungible products

For tech, the cost of development has gone down tremendously. I don’t hire anyone for my projects anymore because it’s easier to DIY with AI. I’m seeing more people pushing out SaaS products extremely quickly

In fact, I know someone who made 5 figures/month in 2023 just by offering a “Custom GPT” when the chatGPT Store was first released. It took less than a week to make. Money loves speed.

Yes, it’s more competitive, but on the other hand, every company is adopting new technology. Investors are telling their companies, “Hey can you add AI to this? I don’t care what it is, just make it AI”

All of them are like the lawyer I mentioned–which means there’s still opportunity, because tech scales rapidly. What do I mean by this?

A small, meaningful change by a programmer can create millions of dollars in profit. And software has zero marginal cost of reproduction AKA “build once sell twice.” Because of this, every industry will be devoured by tech, so we will always need tech people

Whether you choose sales or programming, either is fine:

  1. They are performance-based. You earn more over time because you develop your skills over time. Programmers build faster and better as they recognize common patterns. Salespeople get faster at closing, handling objections, and forming relationships, which scales via network effects AKA “I’ve got a mate who…”

  2. Both require skills you can use to start a business. Salespeople can sell their own products, programmers can create their own products

The key here is compounding. Make time work for you. Either career path is fine–it doesn’t matter. What’s more important is to pick the one you enjoy more. Discipline is nice, but motivation amplifies your learning

I chose programming because I’m artistic. Pick sales if you’re extraverted. You don’t need any analysis beyond this. Move faster and experimentamos

Once you’ve decided, I’ll walk you through the first step: how to game the interview. I’ll first cover tech, but you can also skip to the sales section. Then, I’ll cover application and interview strategies for both:


2 Programming Jobs

2.1 Job Market

People are concerned about coders being replaced, but this only half-true. Bad coders from third world sweatshops are definitely being replaced. But skilled individuals are still valuable

Think of it this way: even if GPT10 were released tomorrow, hallucinations and liability still exist. An “expert” will always be needed to sign off on AI-generated output to ensure two things:

  1. The company should not use buggy code

There is evidence of hallucinations as an inherent part of LLM architecture. Meaning, hallucinations will be a problem which persists until there is a breakthrough in design, which is unlikely to happen soon

There is also another limitation. In a complex system, you need to make predictions of predictions to understand cascading effects. However, LLMs currently have bottlenecks on input size and generalizability, so we will still need skilled engineers to weigh tradeoffs and make decisions

  1. The company should not fall into legal trouble

We know this is true because legal precedents have been set in recent months, establishing that companies are responsible for faulty AI-generated output. People have accountability, AI does not

In summary, get good. And here’s what you need to know:

Companies are still hiring. However, you need more polish because there’s less room for error. Companies can no longer justify a mediocre hire. Specializing in a particular domain is a good idea. And, you’ll scare startups if you ask for high cash compensation

Try to get into a big tech company, particularly FAANG. The opportunities are life-changing:

Money. A 0.1% improvement in a tech company translates to millions of dollars in profit. This is what justifies 21-year-olds fresh out of uni making $200,000 as first-year compensation

Most Efficient High-Paying Career. Doctors and lawyers need to spend thousands of hours on graduate school, exams, and other red tape. Investment bankers and management consultants need excellent grades, prestigious universities, impressive extracurriculars, competitive internships, and refined behaviourals. Plus, only a few high-paying companies exist, and you only get once chance. Then, you have to work terrible hours

These industries are old-school

Tech is freedom. Getting into FAANG? Multiple chances. Hiring year-round.

Don’t get in? Still work fewer hours for higher pay as you become more experienced because you are paid based on knowledge, not hours

Prestige. Not only will everyone think you are a genius, but you will also have no trouble finding work once you have FAANG on your résumé

Recruiters will salivate when they see your LinkedIn. You will get an instant interview at any company

If you want to source contracts, you will find it much easier to have consistent deal flow. If you want investment funding, you won’t have any trouble

Of course, you’ll still need to be competent–nobody can use prestige to do nothing and make money–but prestige will get your foot in the door, improve organic earned media, and lower cost of capital

Learning. You’ll be surrounded by intelligent and motivated individuals, world-class best practices, and well-thought-out systems/tooling. It’s the perfect place to hone your skills–you’ll never be the smartest in the room

Network. You’ll be surrounded by some of the smartest people in the world. Many FAANG engineers have networks similar to the Ivy League. Even after you leave, there are groups of ex-coworkers who consist of startup founders, early team members, angel investors, venture capitalists, and mentors

2.2 What Top Companies Look For

The interview process for FAANG is standardized. This interview process applies to many publicly-traded companies such as Microsoft, which is why you’ll see people come up with acronyms such as FAANGMULA+ or Big N

Entry-level salaries

Large, high-paying tech companies have a very specific technical interview which you cannot pass with luck. You also won’t learn it by completing a degree in computer science, information technology, or software engineering. And all the experience in the world won’t help you either because…

FAANG+ only tests on how well you can write algorithms

Yes, seriously–there is nothing else they ask. You don’t actually need to have made a fancy app or website. This is exactly why the process can be gamed.

In contrast:

Tech startups are interested in the skills you have. They want to see a strong portfolio and a good vibe (personal fit) during a casual conversation. They may ask you to design a system. This is good for people who want to gain an edge by networking into a position

Non-tech companies will ask easier algorithm problems, instead focused on your achievements, whether you have a degree, and maybe a small portfolio. They will ask introductory computer science questions on object-oriented design. They will also ask standard behavioural questions, such as how you handle conflict. These companies will pay less, but are far less demanding

2.3 The Technical Interview

You are lucky to be alive today; the interview process has been so standardized that most company interview questions are freely available online

In the past, candidates were asked brainteasers or complex theoretical questions during an interview

However, over the last decade, the process has been standardized in order to deal with scale

If you have only 1,000 positions but 100,000 applicants, you need a fast way to eliminate many of them

Thus, algorithm interviews were born. You can easily give 100,000 people an online assessment and eliminate over half of your applicant pool because they don’t have basic knowledge

2.4 Study Strategy

“All good prep is alike; all bad prep is bad in its own way”

You want to be thoroughly prepared because the waiting period to re-interview can extend up to a year

2.4.1 The Wrong Way

Many candidates try to prep by memorizing as many random questions as possible

This approach is flawed. You won’t really understand what you’re doing, so you won’t be able to use your knowledge across different questions. You’ll never run out of questions to memorize

Even if you (inefficiently) memorize a thousand questions, what will you do when your interviewer introduces a twist? An additional requirement or restriction shouldn’t make you choke

Still, let’s say you get lucky with one offer–you won’t have any negotiating power if you aren’t consistent, because you won’t have multiple offers

2.4.2 The Right Way

To master algorithms, you need to understand what you are doing at a conceptual level. How? You study the patterns, not the questions

There are a fixed number of topics each problem falls under. Master each of those topics one-by-one

It’ll be easy to do this if you deeply understand when to use and when not to use each algorithm

You do this by noticing the patterns: “I’m given a sorted list (input) and need to find something (output)? Linear search could work, but because it’s a sorted list, it’s perfect for binary search.” You should be able to recognize this immediately

How? First, understand the problem. Recognize the set of inputs/rules/conditions corresponding to a certain output/result/outcome. Then, connect the dots to find the pattern. Finally, solve questions which use this pattern until you automatically recognize the pattern for similar problems. This will lead to mastery

If you focus on patterns, you will know exactly which situations apply to a certain algorithm, how to perform optimizations, and how to justify your answers. You should be so well-prepared that you can halfheartedly solve a problem whilst tired and hungry, yet still be correct because you are deriving the answer from the ground up, not memorization

The difference is like memorizing every multiplication versus understanding how multiplication works. Suppose you give a child some blocks and say,

The first row has three blocks, the second has six, the third has nine.” Can you tell me the pattern? How many blocks are in the fourth row? Fifth? Sixth?

They will eventually understand the “concept” of multiplication even if they don’t have a word for it. And eventually, you don’t need to memorize 1*3, 2*3, 3*3, and so on to infinity because you see the pattern

2.4.4 What Companies Are Evaluating

Notice the common thread here is pattern recognition, which is what IQ tests evaluate

Algorithm interviews are also an IQ test:

  • Do you use a structured, logical approach to solving problems?

  • Have you considered tradeoffs, possible edge cases, and situations where you could fail?

  • Are you able to think, communicate, and write clearly?

  • Do you collaborate with others (including your interviewer)?

  • Can you work hard, delay gratification, and focus for an extended period of time?

  • How emotionally reactive are you when introduced to unknowns, complexity, or failure?

The company cares about these traits because it means you have the right foundation–they can teach you anything. This is why they don’t care if you know a particular programming language. And this is also why AI won’t replace you. It’s only replacing those who don’t know how to use it

Uncle Faukes Wisdom: I would even argue these traits are reflective of your ability to live a good life. At any moment in time, you can ask yourself, “What is the optimal decision I should be making right now?” Most just choose not to follow it

For example, you’re reading this because it’s the best thing to do in this current moment versus any other action–otherwise, you wouldn’t be reading this. If you don’t know what you should be doing, then you need to define the problem, then either Google it or ask someone who knows more. It’s simple. Most people don’t have what they want because they weigh current pleasure more than the future pleasure of being a winner

Of course, it won’t be a cakewalk. But, with enough practice, it’s achievable because volume creates luck

2.5 Prerequisites for Algorithms

Before I teach you algorithms, you need some maths and programming basics

If you don’t have any experience, you can take these free courses on MIT OpenCourseWare:

  1. 6.0001 Introduction to Computer Science and Programming

  2. 6.042J Mathematics for Computer Science

  3. 6.006 Introduction to Algorithms

That’s it. That’s all the computer science knowledge you need

Fox Trap: Too many get stuck in analysis paralysis, worrying about the “right” source of knowledge: CLRS, TAoCP, Sedgewick, Skiena, Roughgarden, Dasgupta… you don’t need to obsess over these. Just pick something, get a foundation, and immediately move on to practice. You will learn everything from pattern recognition

The only thing you really need is your basic algorithms. For example, you should be able to write searches (binary search, DFS, BFS) without looking them up

2.6 How to Practice Algorithms

Yes, the memes are real. The best platform to practice algorithms is LeetCode. This website is famous for having algorithm questions sorted by various metrics. You can sort by topic or by difficulty. You can even see the questions asked by companies, great for when you have an interview coming up.

There are many popular lists of questions, but here are some general rules

2.6.1 Progress Expectations

First, don’t be discouraged in the beginning, especially if you can’t even solve an Easy problem. I’ve noticed those who are accustomed to being perfect students are more susceptible to giving up early

You are not expected to be good at LeetCode without significant practice because this is not close to any day-to-day activities as a programmer. You will never be asked to solve a LeetCode problem in real life.

Nevertheless, if you want a high-paying job, you need to learn and win this game. Don’t give up just because you can’t look up the drop rates on a wiki

2.6.2 Programming Language

The programming language you should use is Python. Unless you have substantial experience in another language, you will waste your time. Python solutions are much shorter, cleaner, and easier to write and understand. Interviewers care about your reasoning, not the complexity of the language you use. Using C is like showing me you can cook an egg with one eye closed when I just wanted an egg. Cool, but not relevant to solving the problem

2.6.3 Solving Speed

You should be able to solve easy problems within 10-15 minutes and mediums within 20-30. Try a handful of hard problems within 45. Hards are usually Mediums with a twist, such as an added restriction or requirement.

Don’t look at the answer until you’ve given the question an hour of effort. Check your understanding of the problem and assumptions. Add more test cases. Revise your analysis. If you quit too early, you’ll ruin your ability to develop resilience; your brain will associate difficulty with giving up. Instead, fall in love with the grind–imagine yourself growing neural connections as you exert effort

Developing this resilience is also important for Hards because you won’t always be expected to solve them perfectly. The interviewer may just be assessing whether you break under pressure. If you can explain your detailed thought process to get a suboptimal brute-force solution for a Hard, it should be enough for most companies

2.6.4 Question Selection

Generally, questions with higher acceptance rates are well-written. Target those for practice. Do the company-tagged questions the week or two prior to your scheduled interview date

I teach question patterns and in-depth problem solving strategies in my mentorship group, including an up-to-date question list

Here is a preview:

2.7 Solving Algorithm Problems

“If I had an hour to solve a problem, I’d spend 55 minutes thinking about the problem, and 5 minutes thinking about the solution”

When developing a solution (for anything, really), remember to follow these steps:

  1. Understand the problem: assumptions, constraints, and edge cases

  2. Recognize a pattern: use tests, know which inputs lead to which outputs

  3. Plan your strategy

  4. Write the answer

  5. Check your answer

  6. Optimize

In order of importance, your solution must be:

  1. Correct

  2. Efficient

  3. Clean

Only move to the next step if you have completed the prior step. Go back up the list if you can’t figure out how to solve the problem, do not go down.

2.7.1 Correctness

Proving incorrectness is easier than proving correctness. You can’t just say “this is correct for every input” because you can’t actually test every possible input; yes, you could theoretically assert this with a formal proof using mathematical induction, but there’s a less strict approach for interviews

We should try to prove how our algorithm doesn’t fail. If you can determine a certain input won’t work, then by definition, you’ve proven that it won’t work for all inputs. For example, if you say, “all cats are white,” but then find a black cat, you’ve proven *not all* cats are white. It’s always easier to disprove than prove “all X are Y” because you just need one counterexample to disprove it

How do you find if your algorithm doesn’t work for a certain kind of input? Before you start writing code, create test cases which you know must be true. This will also help you spot a pattern for the solution if you don’t automatically recognize one

You should not create as many test cases as you can think of. If you do, you’ll waste precious time during the interview. It’s also just unnecessary because you can focus on decision coverage instead

This method involves checking whether each control structure in your algorithm (if/for/while/case statements) have had all their possible branches of true/false executed:

def foo(a: int, b: int) -> int:
	c = 0
	if a > b:
		c = a
	else:
		if b > 0:
			c = b
	return c

You can cover all cases of logic by following this decision tree:

  • a > b

  • a ≤ b

    • b > 0

    • b ≤ 0

There are 3 branches of logic here. Test all of them.

In addition to decision coverage, you should test different scenarios which could cause problems, such as:

  • Boundary Conditions include what happens with your algorithm when values are at extrema or edges: small/large, near/far, few/many, zero/one, empty/non-empty, minimum/maximum, beginning/end

  • Uniform Input, such as repeating numbers or letters

  • Different properties of inputs and outputs. Example: let’s think about numbers. Don’t forget–certain numbers such as negatives, even/odd, prime, and zeros have special properties, e.g. you cannot divide something by zero. So, if your algorithm includes division, do you avoid the possibility of a divide-by-zero error?

  • Loop Execution scenarios. What happens when your loop doesn’t execute, executes once, or executes multiple times?

  • Tiebreakers. Are you handling tiebreakers for decision criteria? If you’re sorting by comparing whether a number is bigger or smaller, how do you handle when they are equal? Your solution should be able to cover all decision paths

Don’t worry if you can’t think of test cases immediately. As you practice and make mistakes, you’ll learn. For instance, if you forget to check for division by zero, you’ll be more mindful of it when solving later problems

And if you can’t write all these test cases, at least mention them, or how you would change the implementation to make it more testable

The more thorough your test cases, the stronger your argument for correctness. If you can show your test cases don’t fail for all the different kinds of input and every branch of logic, you can be confident your answer is correct

This is how science works: you formulate a hypothesis, rigorously attempt to disprove it; then, after it withstands all those challenges, it becomes a theory

It’s all intertwined: logic, science, LeetCode all fundamentally depend on the ability to reason. If you can learn to reason well, you can solve difficult problems in any domain. Thus, you will always be able to make money because people pay money to solve problems

2.7.2 Efficiency

2.7.2.1 Introduction to Big-O

A good algorithm will run faster on a slow machine than a slow algorithm on a fast machine. So, we need a way to talk about how efficient our code is regardless of the device we are using. Big-O notation is a machine-independent language used to talk about efficiency. 

In simple terms, Big-O describes how much your work increases as your input size increases. We specifically think about the “worst case” amount of work because it covers all our bases; we don’t always get nice, clean, convenient “happy path” inputs

2.7.2.2 Time Complexities

In order of most to least efficient, the most common time complexities are:

O(1)       Constant
O(log N)   Log
O(N)       Linear
O(N log N) Log-Linear
O(N²)      Quadratic
O(N³)      Cubic
O(2ᴺ)      Exponential

And these time complexities are often used to describe:

O(1)       Array Access
O(log N)   Exponential Step-Size Search
O(N)       Iteration, Sliding Window
O(N log N) Sort, Heap
O(N²)      Pairs
O(N³)      Triplets
O(2ᴺ)      Permutations

The time complexity of the most popular algorithms are well-known: learn them. You should instantly know a typical sort is O(N log N) and a binary search is O(log N).

2.7.2.3 Why is Optimization Important?

When optimizing your solution, your goal should be to improve the most obvious solution by at least one “level.” So if you have an O(N³) naïve solution, O(N²) should be your goal.

At first glance, a single “level” doesn’t seem like a substantial difference. But consider it this way:

Suppose you develop a search engine which checks one website per second. You have a million websites to search through. Depending on your algorithm, your search will take...

O(log N): 20 seconds

O(N): 11.5 days

O(N²): 32,000 years

You can have the fastest computer in the world, but an O(N²) algorithm will take longer than an O(log N) algorithm on a potato

The simplest way to get started with optimization is using the BUD method:

2.7.2.4 Bottlenecks

Suppose you have an algorithm with multiple independent steps. A bottleneck is when one step has greater time complexity than the other. You should focus on the bottleneck first, prior to concerning yourself with the other steps

Let’s say we have an O(N log N) sort followed by a O(N) search:

numbers = [1, 3, 2, 5, 4]
numbers.sort()
binary_search(numbers, 2)

The time complexity of this is O(N log N) + O(log N) which reduces to O(N log N). This algorithm can only improve if you optimize the O(N log N) sort

Even if you magically make the binary search O(1), the overall time complexity is still O(N log N)

Why? We only care about the largest term because the purpose of Big-O is to look at trends. How does the amount of work increase in proportion to the input?

In the long run, the largest term grows much faster than the smaller terms, so we don’t care what the smaller terms are doing. If we are dealing with a billion calculations, a hundred less or a hundred more won’t be informative.

In this case, is an O(log N) search still useful? It’s true, one O(N) search is faster than one O(N log N) sort followed by an O(log N) binary search. Of course, this doesn’t mean the binary search is worthless; it depends on whether you continue using the sorted array to perform searches

If you are doing multiple searches after one sort, you should definitely do an O(log N) binary search instead of an O(N) linear search. As you scale, O(log N) is much faster than O(N)

We’re concerned about what happens when you run something a huge number of times. In technical terms, what happens as we asymptotically approach an infinite number of searches?

Run the numbers. Let’s say your input size N is a million items, and you do a million searches:

one O(N log N) sort + a million O(log N) searches

= 1 * (1 million * 20) + (1 million * 20)

= 40 million calculations

a million O(N) searches

= 1 million * 1 million

= 1 trillion calculations

Not even close.

This could be confusing in mathematical terms, but just think of it this way: all you’re trying to do with Big-O is reduce effort

Let’s say you’re going through some papers on your desk. Is it easier to sort the papers before looking for what you need? Or should you just start searching right away?

If you’re only going to look through the papers once, why sort it? But, if you need to go through it multiple times, it’ll be worthwhile to take the time to organize

Just like organizing paper, there’s a limit to how fast you can do computer operations. You can’t snap your fingers to organize clutter; you need to move things around and put them in different piles–how fast you can look through the sorted stack of papers won’t make the actual sort faster. So the “optimal” solution isn’t the best if you’re only going to look through the stack of papers once–you need to understand whether it’s optimal based on the use case

If you must sort and can’t make it any faster, you know you have the best conceivable runtime (BCR). The BCR is informative because you can use it to make decisions about how to solve the problem. If you know your BCR is O(N²), then you shouldn’t worry about including an O(N log N) sort if it helps you solve the problem

Talking through your analysis with an interviewer is good to demonstrate your knowledge. You’re not a monkey who says “X always better.” You’re weighing tradeoffs

This is how a good engineer thinks. Demonstrating you are an analytical engineer is more important than silently solving the problem as fast as possible

2.7.2.5 Unnecessary Work

Once you have a solution, consider reformulating it. For example:

Question: Print all positive integers in this equation, a² + b² = c² + d² where a, b, c, d are integers between 1 and 1000.

Brute-Force Solution: 4 nested for-loops, runtime O(N⁴)

n = 1000
for a in range(1, n):
    for b in range(1, n):
        for c in range(1, n):
            for d in range(1, n):
                if a**2 + b**2 == c**2 + d**2:
                    print(a, b, c, d)

You can improve this by rewriting the equation as d = √(a² + b² - c²)

n = 1000
for a in range(1, n):
    for b in range(1, n):
        for c in range(1, n):
            d = (a**2 + b**2 - c**2) ** 0.5
            if a**2 + b**2 == c**2 + d**2:
                print(a, b, c, d)

You no longer have to loop through d, so this equation is reduced by a factor of N and is now O(N³)

2.7.2.6 Duplicated Work

Let’s take the Fibonacci sequence for example. Every number in this sequence is the sum of the two numbers before it:

0 1 1 2 3 5 8

One way to represent this sequence is via recursion:

def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n - 1) + fibonacci(n - 2)

Think about this for a second.

When you call fibonacci(n - 1), you are going to call fibonacci((n - 1) - 1). But is that not just fibonacci(n - 2)? You already calculate fibonacci(n - 2) in the previous function call. So you are unnecessarily doubling the amount of work you have to do with every call.

The time complexity of this recursive algorithm is O(2ᴺ). You can see how this works because the branches are in pairs of 2. Notice the duplicated branches

We can optimize this algorithm by saving the value of each fibonacci(n) which we’ve already calculated in a list:

def fibonacci(n):
    f = [0, 1]
    for i in range(2, n + 1):
        f.append(f[i - 1] + f[i - 2])
    return f[n]

And now we have O(N). Notice how much smaller the tree looks:

This is a huge difference. If we assumed 1 computation per second, fib(10) would take >15 minutes with the naïve algorithm, and 10 seconds with the optimized algorithm. You can try it on your own computer and feel the speed difference (it won’t actually take 15 min).

When optimizing, see if you can trade increased space complexity for decreased time complexity. Faster algorithms are generally more valuable than space-efficient algorithms because space is easier and cheaper to increase.

2.7.3 Clean Code

Memorize the Python PEP8 guidelines until they become second nature. PEP8 is not sufficient to write clean code, but it is necessary in an interview context

They’re analogous to grammar rules. Grammar rules help you write more readable sentences, but don’t help you write beautiful prose. Similarly, PEP8 isn’t sufficient for clean code because it doesn’t force you to think about the way you write code. Namely, it does not inform you about how well your code can be understood or maintained. Here are some examples of how PEP8 fails:

2.7.3.1 Variable Naming

In a language such as C or Java, you can afford to have more ambiguous variable names because there are type declarations which explicitly tell you what that variable does. 

If I have a file pointer named “f” and use it in a function immediately proceeding the type declaration, it’s a good enough variable name. Python doesn’t enforce type declarations, so we should be more careful about our variable names.

However, even if you know the type, your code can still be unintelligible.

Let’s take a look at this function:

ts('bowtiedfox', 20, False, True)

Functions use positional arguments, so this is a valid function call. We are also PEP8 compliant. But do you understand what this function is doing?

twitter_search('bowtiedfox', 20, False, True)

Much more clear. But do you know what the function arguments describe?

It’s clear the topic we’re searching for is “bowtiedfox,” but the other arguments are completely unknown. In Python, keyword arguments are not required, but you should use them:

twitter_search('bowtiedfox', minlikes=20, retweets=False, replies=True)

2.7.3.2 DRY - Don’t Repeat Yourself

If you need to do repeated work, use containers, loops, and functions.

Bad:

word1 = 'one'
word2 = 'two'
word3 = 'three'
word4 = 'four'

print(word1)
print(word2)
print(word3)
print(word4)

Good:

numbers = ['one', 'two', 'three', 'four']

for number in numbers:
    print(number)

2.7.3.3 Explaining Variable

This is PEP8 compliant:

cost = 10
if cost > 5:
	leave_store()

But, it’s better understood if we use a variable to explain what we’re doing:

cost = 10
too_expensive = cost > 5
if too_expensive:
    leave_store()

2.7.3.4 Rewrite Conditionals to Sound Natural

is_two(n: int):
	composite = is_composite(n)
	odd = n%2 == 1

	if not (composite or odd):
		print(“Yes, this is two”)

What does it mean for a number to not be composite or odd? How do those properties relate to the number two? It takes a minute for you to understand the association.

We can make the connection more salient by using De’Morgan’s Law:

is_two(n: int):
	composite = is_composite(n)
	odd = n%2 == 1

	if not composite and not odd:
		print(“Yes, this is two”)

This makes more sense. Two is not composite and not odd. But negation requires extra “mental tax,” so we can make this even more readable by rewriting the booleans:

is_two(n: int):
	prime = is_prime(n)
	even = n%2 == 0

	if prime and even:
		print(“Yes, this is two”)

Sly Fox Tip: Eliminating negation also works with people, especially young children. It’s harder to process negation, e.g. “don’t run on the street” is more difficult to adhere to than “stay on the pavement”

If you want to learn more about clean code, you can read the book Clean Code by Robert C. Martin, but know this: code doesn’t become more readable from hard rules

You have to develop intuition for human perception and memory. Readable code breaks the code into “paragraphs” with context, which makes it easy to skim. Remember, code is read more than it is written, especially now with AI-generated slop

2.8 System Design Interview

Besides LeetCode, you may be asked some questions on how to design a system

You’re more likely to be asked about system design with:

  • smaller companies

  • more senior roles

For example, they may ask you 4 LeetCode + 1 System Design instead of 5 LeetCode questions.

2.8.1 Entry-Level System Design

For internships, new grads, and entry-level roles, the most you’ll be expected to know is the four principles of object-oriented design:

  • abstraction

  • encapsulation

  • polymorphism

  • inheritance

These simple topics should be covered in any introductory course (including the ones I linked above). Your projects should teach you enough object-oriented design. But, the primary focus will be on LeetCode. Many companies don’t ask any system design to entry-levels at all, but this could be changing

2.8.2 Mid and Senior Level System Design

Anything beyond entry-level will be expected to understand tradeoffs when designing large systems, such as:

  • Performance vs Scalability

  • Latency vs Throughput

  • Availability vs Consistency

The strongest preparation is reading Designing Data-Intensive Applications by Martin Kleppmann, then Alex Xu’s System Design Interview books for practice questions. I highly suggest this for senior-level candidates

But, if you don’t anticipate heavy system design, Donne Martin’s System Design Primer should suffice

In either case, watch a few system design interviews on YouTube and be prepared to discuss the design of your work projects

I can write more in-depth about system design in a later post if there is interest, but it’s beyond the scope of this guide

2.8.3 System Design Interview Evaluation

Note: the system design interview is not about perfectly recreating the design of an application such as Facebook, Instagram, Twitter, etc.

Again, it’s an IQ test. What they’re really evaluating is whether the candidate:

  • takes time to understand and break down the problem

  • asks intelligent questions relevant to the problem

  • understands functional and non-functional requirements

  • asks about product features or service-level agreements (SLAs)

  • weighs tradeoffs and optimization constraints


3 Sales Jobs

In contrast to tech, sales has a far lower barrier to entry. It’s a game of volume AKA putting your reps in. Companies know this, so most entry-level positions take people with zero experience as long as you’re willing to grind

The only prerequisite knowledge I’d suggest is:

  1. Know at least one framework to lean on during the interview, such as challenger sales, straightline persuasion, sandler selling, BANT, MEDDIC (for corporate sales)

    Don’t actually name and use a framework verbatim. They just want to know you’re familiar with the process of taking a lead from interest to close

  2. Be familiar with the software. It’s usually Salesforce + ZoomInfo or Hubspot + Apollo. They’ll ask basics such as whether you’re familiar with updating a CRM, adding call notes, and managing a task queue

    There are plenty of resources online for this, such as ZoomInfo University or Hubspot Academy. You don’t need to spend more than an evening on this because any 5 year old can become an expert in a month

3.1 Companies to Target

In sales, you start as a Sales Development Representatives (SDR) or Business Development Representative (BDR) who sets appointments for the more experienced Account Executive (AE) to close the leads

There are many AI tools to automate the appointment setting process, so it’s more important to target the right companies:

  • remote

  • tech industry only. remember: people believe tech is Disney magic, so it’s much easier to sell software than it is to sell boring consulting services which anyone can offer without guaranteed results

  • no KPIs or dial requirements. this will allow you to use AI tools instead of being forced to do a certain number of calls per day

  • have made an investment in their sales team with software such as ZoomInfo. this means the sales team is established and are willing to give resources to help you

if you can get some insider information by talking to people at the company, it’s good to look for:

  • a high percentage of leads which are inbound

  • a high percentage of reps hitting quota

The idea is to get into a company where the product sells itself

This research should also help you during the interview. You need to be familiar with the companies you are applying to. Know the niche and the Ideal Customer Profile (ICP), including the types of companies, relevant departments, and roles of customers. For example, payroll SaaS is sold to HR and finance

If you need practice, there are salespeople in my mentorship group who can do mock interviews and answer questions. We also keep an updated list of the latest companies and AI tools which fit these requirements

3.2 Promotion Timeline

You should be looking to get promoted from an SDR to AE within 9-15 months

If you aren’t getting promoted within this timeframe, you can look for a different role with >1.5x on-target earnings (OTE)

Ideally, you’ll get promoted on performance, not rules. You should leave if there’s a political issue with getting promoted e.g. minimum 2-year requirement to “graduate” from SDR. The only time this is acceptable is if you are mediocre and do want to be promoted based on rules. You’ll get guaranteed promotions for taking orders

This generally holds true regardless of whether you’re in sales or programming. Smaller companies are much more likely to promote you quickly, but you should be prepared to work harder

You can also rapidly improve your skills by working like a dog at a company which is selling to small/mid-sized businesses with short deal cycles and high volume. You’ll burn out from powerdialing all day to hit your high KPIs, but you’ll get good very fast


4 The Job Application Process

4.1 Strategy

After optimizing your resume, follow a two-pronged approach when applying to jobs: volume + targeted outreach

Here’s why: there are too many companies. A hybrid approach lets you weigh stronger companies more than weaker ones. You’ll put more time into companies you want:

Okay Companies: Volume

Decent Companies: Targeted

Excellent Companies: Networked

4.2 Volume

The reason I recommend a high-volume approach is twofold:

First: many of these positions are receiving an enormous amount of applications. They may only look at the first few hundred. Getting into the queue early will help you get looked at by a recruiter:

4.2.1 Language

Second: yes, you can target specific companies, but there’s another reason I still recommend including high volume. If you get as many interviews as possible, you’ll start to master the interview process

You need to create a mental map of what the industry looks like. With high volume, you’ll learn vocabulary and common questions

As a salesperson, if you mention industry-specific language in your answers such as “objection handling” and “closing” in the right context, it shows you understand the work

Using this language is important because the interviewer is thinking like Aristotle: “if it walks like a duck and quacks like a duck, it must be a duck”

Nerds understand this intuitively, but they overdo it and use too many big words, thinking “the less people can understand me, the more intelligent they’ll think I am”

This is the wrong way to think about vocabulary. Think of it as learning the “language” of the industry by immersion

For example, when I was first learning about weightlifting, I read as many Tweets as I could on exercise. I Googled new vocabulary until I was able to start linking concepts together. Pattern recognition. Do you think bodybuilders would take me more seriously if I ask about “hypertrophy” or “toning”?

Using certain words shows you’re part of a group. Think about it: when people on social media say “autism,” it’s not actually about a medical diagnosis

“Autism” is used to refer to someone intelligent or obsessively interested in a topic. The people who use “autism” tend to be involved in the world of cryptocurrencies. If you hear someone using the word “autism,” you know they’re involved with (or at least aware of) crypto, defi, web3

Using the slang of a group means you’re a member of that group. The more words you use, the longer you’ve been in that group, and the stronger your relationships. This is why employers respect people who use their lingo: you’ve been in the industry, and you know people in the industry

And it’s also how you teach yourself anything: you create a connected map of concepts using vocabulary. Hint: ChatGPT accelerates this a thousandfold

Obviously, this doesn’t mean you just throw words at someone. It has to be used correctly and in the right context. Trying to show off with useless jargon is a bright red flag–which is why you need more volume

4.2.2 Calibration

Another important advantage of the high-volume approach is practice. You should not apply to elite companies such as Albertsons immediately because you don’t know whether you’re calibrated:

  • Did you not explain your assumptions well enough?

  • Are you getting too nervous and rambling?

  • Do you need more practice with something?

You can’t teach a kid how to ride a bike at a seminar. There are limits to pure reason, and live practice addresses them. But most people don’t do volume because they’re afraid the recruiter will use the scary word “no 👻”

Reading won’t teach you about your body language, filler words, your tone, your pacing, blurting out a slur because you remembered an edgy online joke, flowing from one question to the next, reacting to the interviewer’s emotional cues

I’ve had instances where one of my students writes perfect stories to answer interview questions, but doesn’t realize how long and boring the stories are when spoken out loud

Or, it may sound great because you have context, but the interviewer is confused, which means you need to address gaps in the story

I recommend using a tool such as Sly Apply to mass apply whether you are applying for full-time, contract, or internship positions

4.3 Targeted

4.3.1 Finding Companies

A targeted approach works better for the companies you really want

Jobs are more than just a paycheque. Maximizing compensation is easy: just look up the “top paying companies” list on levels.fyi

However, I’d also suggest considering these variables:

Network: Who are the people you are going to work with? Who are the people at the company, including founders, employees, investors, and advisors?

People often think you can take advantage of smaller cities for cheaper talent, no echo chamber, local universities, and so on

However, there’s something to be said about being in a Tier 1 location for your industry such as Silicon Valley or Wall Street

Yes, “the best investors, engineers, entrepreneurs, universities” etc are there, this is obvious

But some things you may not have considered are: 

  • Any small % edge is going to help you in a winner-take-all market

  • All of the people you want to partner with are there. Business doesn’t happen in meetings, it happens at coffee shops, parties, and friends-of-friends

  • You’ll have a head start on the latest happenings, which will give you an edge in the market. Imagine hearing about ChatGPT months before everyone else

This is also the reason you should be careful if you’re seeking a remote role. Yes, remote is the best case scenario if you want to build your business on the side–without question

However, I will say, I’ve noticed something “off” about juniors who started their careers remote

There’s something to be said about being around other killers. Iron sharpens iron. Hearing stories and being around other intelligent people multiplies your experience

Here’s what I’d do: at a small company working with intelligent people who want to mentor you, it’s worth going in-person for at least a year or two. Sharpen skills, find ideas, learn lingo. You’ll get good and end up working with future founders, senior leaders, and market-making VCs

But at a large company where you’ll do monkey work, go remote. This is where setting up your laptop will take a month because you need to request access to a drunk IT team. Long meetings where you waste time with:

yar har har did ja see the boxing match las’ night? haw haw I woulda knocked out floyd 😤💯 if I hadn’t tore my ACL twenty years ago hyuk hyuk! all he does is run around. damn bum knee... so what’d ja do over the weekend *snort*? me ‘n steve ’re tryin’ out this new brunch place with half off beers and wings to catch the game on sunday. wanna join? 🫃

This is brain pollution. Not only this, there’s an “anti-work” sentiment in these companies where people do the bare minimum to afford pet food for their fur babies. Don’t waste your precious time with these dopaminers

Market and Growth Rate: Don’t join a company whose industry is in decline. An example of what not to join is the newspaper business, which is shrinking rapidly each year with no chance of recovery

Optionality: Will you develop transferable skills? Avoid being pigeonholed by doing a hyper-specific activity or tasks which don’t contribute to revenue generation

Role: Don’t join a role which will set your career back, such as a Support Engineer role. However, this can also be taken to the opposite extreme, where you focus too much on your “niche.” Think more about your actual responsibilities and what you’ll be learning

Now that you know all of these variables, you can weigh tradeoffs. You should think of these variables on a sliding scale. I’m not saying you should maximize one or the other; life is very rarely a choice between 0% or 100%. It’s often a mix of percentages

I explained these so you can better understand the situations you will be in

For example, do you really want to be the first hire for a sales team?

  • On one hand, they may hold you to such low expectations that you’ll be given a lot of free time

  • On the other hand, you won’t be able to learn from other excellent salespeople

Once you’ve decided which companies you want to put more effort in to, there are three ways to increase the conversion rate of your outreaches. Each of these options trades more effort for a higher hit rate:

  • Generic recruiter outreach (lower hit rate, less time consuming)

  • Customized recruiter outreach (higher hit rate, more time consuming)

  • Networking for a referral (highest hit rate, most time consuming)

4.3.2 Recruiter Outreach

There’s an easier way to get seen by a recruiter which doesn’t involve hunting for referrals

What I’d suggest is letting LinkedIn be your place for spamming applications using Sly Apply, then reaching out to the recruiter for jobs it’s applied to. You can just message them with a simple:

Hi, my name is Beau and I’m a student at the Faukes Institute. I just applied to the sales role at BTF Associates, and I thought I’d be a good fit because I have (relevant experience). I would be grateful for a chance to discuss. Here’s my Calendly (or feel free to send yours):

This accomplishes three things:

  • explains who you are

  • tells them what you want

  • gives them a call-to-action (make it easy for them to understand next steps)

Why does this work? Remember: recruiters WANT to help you. A successful hire makes them look good. They will give you interview prep if you just ask, maybe even a mock interview. Doing well with a recruiter is also a tacit part of the “diversity” interview, proving you can handle people different from you

If you want to tailor your message further, be more detailed:

Hi Xenia, my name is Beau, and I recently came across a post from the Faukes Institute looking for engineers to work on their tan brunette search engine

I’m interested in applying, and thought I’d be a good fit because I’ve done similar work. At my current job, I worked on a travel app tracking the Worldwide Latina Belt which required (relevant experience), and I achieved (accomplishments)

I’d be happy to discuss my qualifications further to see if I’d be a good fit. Here’s my Calendly (or feel free to send yours):

Once again, this is more time-consuming, so you will need to weigh whether it’s worth putting in this effort

Sly Fox Tip: The best recruiters are the ones who have successfully hired others. Search for something such as “just got hired” on LinkedIn and look for posts where people are thanking their recruiter. You can use this as your opener. Alternatively, you can search for “I’m hiring”

4.3.3 Referrals

I’d only suggest hunting for referrals for excellent companies that you really want to get in to, such as FAANG, especially if you don’t have a degree

Networking is a time-consuming process, but referrals almost guarantee you an interview

You also gain an edge by asking people what the process is like. For example, Apple may ask about which products you like, what could be improved, and why you want to work there. You likely won’t learn about these questions unless you network

See my networking guide


5 The Interview Process

5.1 Evaluation

Once again, let’s break down the objective. You want the interviewer to hire you. What are they thinking about?

  1. will this person be good at their job

  2. will this person embarrass me

  3. can I work with them all day without going insane

Every interview is two parts. Part one is just an IQ test by proxy. And after passing the IQ test, they want to make sure it doesn’t come with any mental illness

But don’t neglect this–it’s not just about “can I have a beer with this person” or “can I be stuck in an airport with this person for 8 hours” AKA the “vibe check” as the youth say

It’s about how much responsibility you can take, how you deal with others, and whether you actually care about the quality of your work

And these qualities are so important that they determine how much you can negotiate: whether you get a lowball offer, or if you get offered a higher position. This is why I cringe whenever I hear people trying to be cheeky

For example, if someone asks you “tell me about a weakness,” do not say nonsense such as “sugar”

You won’t be asked this by anyone under 60 years old. But, think about why someone would ask this: they are looking for self-awareness, high agency, and an analytical mind:

  • can you evaluate what a weakness is?

  • can you address the second and third order implications of the weakness?

  • how has the weakness shown itself in your professional or academic career?

  • are you social calibrated enough to avoid being cliché or ridiculous with an answer such as “I’m a perfectionist”?

  • have you created safeguards in order to address the weakness?

A monkey answer is to say something high risk. Your interviewer is then deciding whether you are mentally redacted (don’t have an answer), or socially redacted (would behave immature)

A sly fox answer focuses on how to present the weakness. You could lie, but this adds another layer of complexity because they’ll be evaluating your sincerety, and you need to prepare for probing questions. In contrast, you don’t have to remember anything when you tell the truth

So what does a good answer look like? Let’s take an answer someone would normally consider risky. If you say something such as, “I’m an emotional person,” this is a terrible answer. Not because of the trait itself, but because you weren’t able to articulate it

The way you construct this is by saying:

I am a person who has been very careful to choose activities I am passionate about. I launched an education startup because I am passionate about providing opportunities to people in developing nations. My previous company focused on implmeneting AI tutors for underfunded schools

Because I am passionate about these things, I am often emotionally invested in the outcome. And I know this is wrong–being emotionally invested colours the analysis and the way I interpret situations

I understand it’s a weakness, therefore I’ve created certain filters to prevent this weakness from showing up without me being aware of it.

And I’ve done three things in particular:

  1. I know there is a difference between being emotionally invested and being emotional. While I may be emotionally invested in something intellectually, I’m never emotional about it. Basically, I keep a poker face. I make sure when I’m discussing the issue with colleagues or those financially vested in it, they don’t feel that I am biased towards one side

  2. Second, I’ve always ensured I have a colleague review what I am doing. This person does not report to me and is independent of my role. I think this is generally a good policy for anyone, but I’ve made sure to set up this structure for myself

  3. And the last thing I’ve done is to take on roles which have exposed me to deeper analytical tools. So, when I am analyzing a situation, I know I’m applying the right kind of analysis, and I’m not being tainted by my emotional investment in the idea. For example, if we were to run an ad campaign, I would focus solely on the numbers, such as the conversion rate, instead of which ad I personally like

And I can give you examples of how I’ve initially succumbed to this problem, and examples of how I’ve applied these three techniques to overcome the problem

Feel free to shorten this depending on the actual interview constraints, but the general structure should remain the same AKA “it’s about how you say it”

Look at what this answer says about you:

  • You are self-aware enough to recognize potentially negative traits about yourself

  • You understand the situations where these behaviours arise

  • You have taken action towards negating the downside/risk

  • This experience is something which the interviewer can relate to

Notice: Nobody actually cares about what your actual flaw is. All interview questions are just testing for certain traits

They can’t just ask “are you self-aware?” Anyone can say yes to this. They need evidence. Results. They find this proof from stories about what you’ve done

This is also why “tell me about a weakness” is falling out of fashion in interviews. Instead, they’ll ask you questions about how you’ve handled difficult situations, then deduce weaknesses from your responses

5.2 Preparation

How do you know which characteristics interviewers want? There are an unlimited number of traits. Most companies just have a list of what they don’t want to see, because they can disqualify you immediately

Remember: deciding “no” is easier than “yes.” For example, if you start crying because of a hard question, they know it’s a rejection, no matter how well the rest of your interview goes

However, there are a few common themes most companies want to see. You can’t just be a loyal and hard-working dog employee. They want to see leadership ability, conflict resolution, analytical skills, and teamwork. But how many more traits are there?

You can cover your bases for most companies by studying two things:

  • company values

  • the responsibilities of the role you’re going for

5.2.1 Company Values

Most big companies publicly post what kind of people they’re looking for. Weave those traits into your stories. For example, take a look at the Amazon Leadership Principles

Don’t worry about writing a hundred stories to cover every company. Most company values ask for similar things, so you only need a few

For example, Google looks for “Googley-ness,” which includes “out-of-the-box thinking, curiosity, enthusiasm, self-improvement.” Well, one of the Amazon Leadership Principles is “Learn and Be Curious,” which also ticks the same boxes. Close enough!

You don’t need a story for each individual company value either–you can hit multiple in one response to a question. As long as you address most of them, the company will know you’ll be a good slave employee

5.2.2 Role Responsibilities

You need to convince the interviewer that you can manage the responsibilities for the role you’re targeting. The more you can handle, the more you get paid

Let’s look at how your discussion topics expose your level:

  • Junior engineer: small tasks such as fixing bugs and writing tests

  • Mid-level: independently working on features

  • Senior: managing a team, designing software to handle scale

  • Staff: handling multiple teams

In my experience, it’s very difficult for someone to jump to a level that they weren’t at before. It’s like getting XP in a video game; you need to get a certain amount before you hit the next level

An interviewer won’t like if you’re a mid-level engineer going for a senior role if you’ve never taken on senior-level responsibilities before

But if you talk like a senior and walk like a senior, then clearly, you should be at senior. Aristotle doesn’t miss!

5.3 Strategy

Most direct questions have been replaced by “tell me about a time you did x” because interviewers indirectly evaluate traits from how you handle negative events: challenges, failures, crises

If you can’t talk about handling responsibility, they’ll reject you with, “you need 2-3 more years of experience.” But let’s be honest–why would they invite you to an interview if you didn’t have enough years? Your résumé hasn’t changed. The reason is because you weren’t able to speak properly

The way you answer these interview questions is by using F-STAR or STAR-F:

5.3.1 F-STAR Method

STAR is a popular approach to answer interview questions as a story:

Situation (10%): Set the scene. Describe who you were working for, what your role was, how long ago it was, who you were reporting to, who was reporting to you formally and informally, and any dynamics explaining the depth of the challenge you faced

Task (10%): Detail what you had to do, why you had to do it, why it was important, and the risks or challenges associated with the task

Action (50%): Explain what you actually did, give direct quotes, and explain why decisions were made. Give facts because the interviewer does not want your interpretation, they want to form their own opinion based on numbers, names, concepts

The why is important because they are evaluating whether you make a big deal out of things not worth fighting for. You need to convince them it was worth fixing in the first place

Result (20%): Give quantitative metrics on the outcomes you achieved

This method is well-known and common. However, if you want to take your response to the next level, add a Framework (10%) to the beginning or end, wherever it fits most naturally. This is where you get F-STAR or STAR-F:

“Tell me about a time you handled a conflict”

Framework: I have a strategy for handling conflict which I learned from a book called “Sly as a Fox” which I use because… First, we talk about what happened, then we discuss differences in information and intent, finally…

Situation: When I was working for the Faukes Institute, I was on a project regarding…

Task: I had to manage a conflict between two juniors who were reporting to me. They were arguing about whether Mongolians were also considered Moldovan even though they are not located on the Worldwide Latina Belt. The central question was: do Mongolians converge to Latina?

Action: At first, I tried to advise each of them on how to handle the issue, but after a few weeks, it was clear there was still resentment. So, using the framework, I…

Result: Because they were able to resolve the conflict, the project progressed much more quickly, and we were able to speed up the completion by 25%

Another way to do this is to describe the framework at the end:

Situation: When I was working for the Faukes Institute, I was on a project regarding…

Task: I had to manage a conflict between two juniors who were reporting to me. They were arguing about whether Mongolians were also considered Moldovan even though they are not located on the Worldwide Latina Belt. The central question was: do Mongolians converge to Latina?

Action: At first, I tried to advise each of them on how to handle the issue, but after a few weeks, it was clear there was still resentment. So, I met with them individually to discuss what happened, then…

Result: Because they were able to resolve the conflict, the project progressed much more quickly, and we were able to speed up the completion by 25%

Framework: Because it worked so well, I ended up developing a 1-page document detailing the framework. We ended up using this to resolve additional conflicts within the team and it was used across different teams

Sly Fox Tip: You can even add a clickbaity introduction to hook them in

Some more tips:

Include Detail: Detail does not mean “information.” You need to find the key drivers of the issue. If you add unnecessary fluff, it’ll annoy the interviewer. And if you ramble about something you don’t know about, you’re done.

How do you know if the information is useful or not? You ask “so what?”

The team was going through a conflict → So what?
It was affecting productivity → So what?
We couldn’t meet the project deadline → So what?
We were going to lose one of our most valuable clients

Do “so what” 3 times to get meaningful details for the interviewer

When to Use STAR: You don’t always need an F: Framework if you don’t have one. And if they ask how you keep up with industry trends, obviously you don’t have to use STAR. Just give a direct response

How Long Should Stories Be: Don’t go over 7 minutes with these responses. 3-5 minutes is the sweet spot, where you avoid making the interviewer bored. If you want to make your responses more interesting, improve your storytelling:

5.3.2 Storytelling

I’ll be honest–I’m not a great storyteller, but you don’t need to be

What I can show you is how to write. I try my best to write clearly because I believe writing is thinking. In order to think, you must learn how to write

The three best tips I have for writing are:

  1. Clarify Assumptions

Your answer should very clearly address the question. Don’t make it difficult for your interviewer to understand what you’re talking about

I would do the following:

  1. ask questions to make sure you understand the prompt

  2. restate the prompt in your own words

  3. give a short summary of the story you’re about to tell

You’d like me to talk about a time I led a project in an international office? I can talk about when I worked for the Faukes Institute at their Chisinau headquarters. I led the wife hunting team to develop geolocation algorithms to analyze whether Moldova was the tan brunette spawn point

When you give this brief summary, you can look at the interviewer and see if he agrees with your interpretation of the question. If he doesn’t agree, you give him a chance to correct you

If you want to be extra careful, you can be upfront after your summary: “How does that sound?” or “Does this address the question?”

  1. Use Sequential Reasoning A → B

Let’s go back to what I wrote towards the end of section 5.1:

They can’t just ask “are you self-aware?” Anyone can say yes to this. They need evidence. Results. They find this proof from stories about what you’ve done

When I say “sequential reasoning,” I mean the next sentence you write should refer to the previous sentence somehow

Let me break it down:

A: “They can’t just ask, ‘are you self aware?’

A is the first sentence

B: Anyone can say yes to this

What is this? this refers to the question in A

C: They need evidence

Evidence of what? This question in B

D: Results

What kind of results? Evidence in C

E: They find this proof from stories about what you’ve done

Proof of what? Proof of your results in D

Notice: I’m going from A → B → C → D → E. It follows a logical sequence. You can stop at any point to clarify if you don’t understand how the story connects. It’s easy to follow an argument when it moves like this.

How do you create this flow?

Whenever you write or speak, your sentences should connect in a chain. The easiest way to create this chain is to refer to the last thing you said…

Like I did just now. Did you notice?

Whenever you write or speak, your sentences should connect in a chain

The easiest way to create this chain is…

As you become better, you’ll start to be more subtle with this technique. This is important beacuse if you repeat words too much, it sounds boring and inelegant. This concept applies to sentences, too:

  1. Vary Sentence Length

Image

5.4 Common Questions

There are so many questions you can prepare for. You can look up “list of behavioural questions” to get a never-ending list. But I’m going to teach you some intuition and strategy so you can prepare for them more generally

But first, don’t neglect that you’re interacting with a person. Prepare for small talk with your interviewer by looking them up online. Look for common interests or projects, so you can move the conversation in that direction to build rapport. The reason you want to do this is because if the interviewer likes you, they will want you to succeed

Have some decorum when you do this–don’t mention anything private. If I hear anyone harass their interviewer, I’m going to hack you, call your mum, and ask, “Where’s your manners!”

Once you’ve handled small talk, let’s understand how the interviewer thinks:

  1. “Walk me through your résumé” or “tell me about yourself”

Most people struggle to present their candidacy because they don’t understand why the interviewer is asking this. There’s a natural tension between three variables:

  • The Company’s Requirements: The company is looking for a set of characteristics. Let’s look at some common ones: leadership ability, conflict resolution, analytical skills, and teamwork. They may look for other traits of course, but let’s use these four as an example

  • Your Strengths: You need to frame your strengths in the language of what they are looking for to make it relevant. For example, in sales, you are not good at changing someone’s mind, you are good at handling objections

  • Your Weaknesses: Everyone has one or two things which are not ideal. You need to address them immediately so you can correct the interviewer’s bias against you

And of course, how you present this information matters, too. You don’t need to talk about things which are exclusively on your résumé. You aren’t just limited to what’s on there–it includes your life experience

It’s seen as a sign of confidence when you can concisely and articulately include items which are not on your résumé but relevant to the interview

For example, suppose I’m interviewing someone with an engineering background for a sales role. Here’s a good answer:

Sure, I’ll tell you a bit about myself. I’ll give you a brief overview, and if you’d like to ask me about any details, please feel free to do so

I hold two different nationalities: British and Italian. From an early age, I realized how valuable travel was when visiting my family in Italy

Because of the influence of my family, I decided to go to high school in Italy. I chose it because I noticed my father had developed a successful career because, the high school focused on developing your confidence and problem-solving by emphasizing extracurriculars

It’s regarded as one of the better high schools in Italy, and I was exposed to many different hobbies. One of the hobbies I enjoyed was sailing, and I took part in international sailing events. I loved that it forced me to be present because you can’t plan everything. Because of its unpredictable nature, the team needs to rely on you and make sure you follow a certain protocol when responding to difficult situations

I learned a lot about teamwork. It was interesting because I thought I wanted to go into engineering, but this experience made me want to consider business

So, when I looked for internships, I focused on roles involving both. You can see my internship was a tech role, but in fact I was focused on helping the company secure more leads and setting appointments. I had to negotiate with their vendors, create proposals, and secure contracts. I also had to reach out to different experts within the company to figure out best practices

So that’s the academic side. And as I mentioned, my hobbies are sailing and traveling. I also like to cook, specifically French cuisine, because cooking for my neighbors helped me make friends when traveling

Let’s look at how this story addresses the variables I mentioned earlier:

  • Company Requirements

    • Leadership: Reaching out to experts

    • Conflict Resolution: Negotiation and contracts

    • Analytical Skills: Engineering

    • Teamwork: Sailing

  • Strengths: “Securing leads, setting appointments” is the language of sales

  • Weaknesses: Engineering background implies less social. This weakness was addressed by mentioning social hobbies

Notice: at the start, the candidate mentioned “let me know if you’d like me to go into more detail.” This is important to mention either at the beginning or end because you prompt the interviewer to dig deeper

You can use their response as a hint to see whether the interviewer is interested or has a concern about a particular area

  1. “Why do you want to work here?”

The answers I get to this question make me unbelievably disappointed. It’s such an obvious question candidates don’t prepare for. Is it a trick question? Is it unexpected? Never. You’re being given a free chance to demonstrate your skills

The reason interviewers choose easy questions is because they want to test for other things. It’s like science; you keep everything the same and test one variable to measure its effect. An easy question gives you the opportunity to showcase your analytical and communication skills without stumbling on the complexity of a question

The absolute worst answer you can give is a generic one:

This is a top company. I want a top career. I spoke to many people and they said it’ll help me position my future. Plus, I was top of my class, so I think I’d fit

Yes, this was a real answer I’ve heard before. I couldn’t believe it

Why would you ever say this? It’s like courting a woman. You won’t get a date with a Moldovan by telling her how attractive she is. She is well-aware that tan brunettes are the peak of human beauty

Remember: you’re being evaluated on every single thing you say. Giving a bad answer is throwing away an opportunity to showcase your analytical skills

We don’t know deep you think. We don’t know how insightful you are

Show me

How? There’s a lovely website called jee oh-oh jee el ee dot see oh em AKA google.com and his rival Chad Jipi Tea who will be very nice if you mind your manners

There are two ways to interpret “here.” The company or the location. So your research can take on multiple directions:

  • the projects you’ve seen

  • the work done at the office

  • the people working there

  • the people you’ve met

  • macroeconomic outlook

  • what’s going on in the city

Once you’ve DYOR “done your own research,” you need to do two more things:

  • Be Specific: Use the “so what” rule at least 3 times to get more meaningful answers:

    ”This is a top company” → So what?
    ”I’ll get to work with top people” → So what?
    ”I’ll learn faster and be put on the AI team” → So what?
    ”I’ll be able to transfer the specific skills I learn working with that team to develop cutting-edge AI projects because that’s my main interest”

  • Be Detailed: If you have a detailed answer, it demonstrates you have put some thought into it:

I want to work in Singapore because it’s a central hub for the Southeast Asian AI sector. They received $10b in foreign direct investment from China, many multinational companies are based there, and developing countries in the region import their R&D practices from there. If I want to learn about AI in developing countries, Singapore would expose me to the Southeast Asian region where multinationals are integrating new technology to improve quality-of-life in the area

  • Be Personal: Tailor it to yourself. Combine your story with your background. People cannot argue about preferences, only facts. If you tell them you want to work at a particular office because you like a certain industry, because you read an article from them which resonated with you, and because it’s your hometown location, nobody can argue with these reasons

    Sly Fox Tip: this is also how you avoid arguments in general

If you use these three tips, you show a deep understanding of the work they’ve done, the sectors, and their priorities. It shows you’ve done your homework

  1. Tell me about a time you led a team through a challenging situation

I have my students prepare for this question because it can be used to address multiple scenarios and has many moving parts:

  • handling a leadership role

  • managing a team

  • examining your definition of teamwork

  • your behaviour within a team

  • managing conflict

  • dealing with clients

  • making promises

  • persuading others

  • how you made tradeoffs

  • knowing which details are important

  • whether you hide behind ambiguity

It’s also a good question to prepare for because if you’re asked about leadership, it gives you an opportunity to discuss your conflict resolution skills even if the interviewer doesn’t plan to ask about it

5.6 Interviewer Habits

Be ready for these three interviewer behaviours:

  1. Judgment Based on First Impression

If an interviewer thinks you’re unintelligent, you’re going to be treated as such. They will expect you to fail. And if the interviewer expects you to fail, they won’t help you

You’re going to feel this during the interview and become nervous. It becomes a self-fulfilling prophecy; your nerves make you behave even more clumsy, which makes you seem worse

This cycle occurs in many social interactions, such as parent-child relationships, where punishment → worse behaviour → worse punishments

Pay close attention to your first impression based on the following factors:

  • Organized: If you are late, nervous, stumbling over your words, flipping your pen out of your hand, spilling your drink, giggling awkwardly, using filler words, not taking notes, unhygienic, poorly dressed, it demonstrates either you are not prepared or not interested. You are wasting the interviewer’s time

  • Likable: If you think about all the people you know, it’s clear some make you feel good, others make you feel bad, and the rest are in between. Think about how you respond to the people you’re drawn to: you’re happy, you smile, you want to be around them

    The common thread between the likable people is that they are positive, energetic, sincere, don’t put anyone down, and don’t say anything negative. You don’t need to be the life of the party–it’s about not having ill-intent, not making people feel bad

    Overconfidence and cockiness makes people feel bad
    Sounding doubtful or questioning makes people feel bad
    Being arrogant and thinking you’re special makes people feel bad

    Why?

    Not because of envy, but because the contrast can revive and sharpen pain: failure, loss, unhappiness. Being positive is not about being dishonest–it’s about avoiding remarks that are critical, cutting, belittling, condescending, biting, spiteful, sour grapes. This is what it means to “mind your manners”

    You don’t need to stress your virtues in anyone’s presence. It’s not about evaluating by comparison, but rather being self-assured; not “I am better than you,” but “I am good”

    You can be unintentionally negative as well. Sometimes, people overprepare and their answers are cold. Your small talk is uninteresting. You cut the person off with short responses. It seems as if you don’t want to be there

    I could give you hundreds of tactics, such as learning how to deliver criticism. But the general mindset is to start with good intention, assume best intent, and be honest

    If you approach someone assuming bad intent, then people will feel worried, insulted, and defensive about their character. Instead of “me versus you,” think of it as “us versus the problem”

    This is important because if people like you, they’ll want you to succeed. Yes, it’s the interviewer’s job is to be unbiased–but biases exist in the first place because we’re all human

    Mature: This comes from having confidence in your abilities and treating your interviewer as a peer. For example, an immature person would ask, “I have just one question, could I ask one question?” You only say this because you view them as a superior to request permission from

    In contrast, if you view someone as a peer in a natural discussion, you ask, “Let me think about that (pause). Why did you say that, because here is what I believe. Beau, that makes sense, however…”

And if you have a hard time with these traits?

Surprise! You need more…

volyoom

Aristotle tells us, “if you want to be more x, do as x people do, to build habits of x people”

Want to be more mature? Hang around more mature people. Do as mature people do. Build habits of mature people. Your personality is just a collection of habits. “Sheesh, them oldheads got rizz~! 😮‍💨” as the youth say

Aristotle doesn’t miss!

  1. Frame Control

Suppose the interviewer doesn’t like you. Don’t rely on the interviewer’s mood because they may have other things going on that are not your fault. Maybe Starbucks ran out of soy lattes. Tragic.

Never let the interviewer set the tone. Hold your frame. Regardless of how the interviewer feels, you can influence their frame of the interaction by behaving positively

Even if your interviewer says something such as, “That is the stupidest thing I’ve ever heard,” if the candidate laughs their way through it, you bring the right energy. You lighten the mood. The best candidate is one that rolls with the punches, puts criticism in context, and doesn’t get frozen. Nobody wants to feel as if they’re walking on eggshells

Laugh, make jokes. Defuse the tension. If you handle the interviewer in a nice, polite way, the interviewer will mimick your positive behaviour and fall into your frame

  1. “Digging” or “Probing”

Even if the interviewer likes you, they can still be difficult. You may see them challenge your answers and ask lots of questions. Candidates often mistake this as a sign of doing poorly when it’s entirely the opposite

People challenege you because they think you’re good. I want to know if you’re saying things because you’re lucky, or because you truly understand what you’re saying

They’ll dig into your responses to understand:

  • what you did

  • whether you understand what you did

  • whether you understand the underlying story

  • whether the individual pieces of information match with your story

Why did you decide that? How do you know that’s correct? Are you sure? How did he respond when you did that? What did he say exactly?

There’s different styles of digging. Some interviewers may interrupt your story. Others may wait for you to finish, then interrogate at the end

Interviewers do this because we know that candidates memorize and train for interviews. We want to know if what you actually did is different from what you wrote in your résumé bullet points. We’ll keep probing until we find what we’re looking for

And I do the opposite with a candidate who has absolutely no chance of making it. I let them down gently and politely. I don’t say anything

Smile, nod, agree :) !

5.7 Asking Questions

This part also has to be taken seriously. Your questions reveal your level, which means you can use this as negotiation power

If you’re asking baby questions about work-life balance and company values… definitely a junior. Why are you asking about Google-able things? And let’s be honest, your interviewer probably has no idea about “company valyooos” besides the quarterly “we’re a family” stickers right before a layoff

So what kinds of questions show that you’re more senior?

Let’s think about it. Which questions would you ask if you were thinking about the quality of the team and the work? How do you find out what kind of company they are? What are your dealbreakers?

If I were a serious engineer, I’d be asking things like “What is your approach to balancing new functionality and optimizing existing code?” I want to know whether I’ll be working on something interesting, or they just want me to clean up someone else’s mess

These are the kinds of questions someone would ask if they had a dozen offer letters. Sure, you could just go with the highest compensation, but if you have to work on an ancient system from 50 years ago that drives you insane, you’d probably take a -10% cut to go to a more modern company

Good questions are also a sign of confidence. “I am the prize” as those chad alpaca male podcasters say. You’re evaluating them as though you have multiple options. People like being around successful people. Winners win

5.8 Following Up

When you get an email that says:

Salutations Beau Ty Faukes,

We’ll email you back in a week with your interview results

Very respectfully,
Xenia Deli

The best approach is to treat them as ordinary people in a casual, yet polite tone. Just respond with a relaxed, “Thank you, looking forward to it”

Instead, I get exotic responses such as:

uwu thank you SO much 🥹 for giving me a chance to intervyooo 🙈 I had a gr8 time even if u reject me I grew as a person 🤗

The alcoholics at uni careers service have polluted young minds: “ALWAYS send a thank-you note to your interviewer if you want a job 👏”

Or it could be TikTok. Because I’ve also had someone respond to a rejection email with, “Don’t worry, the universe has a plan for me. And I meditate every day.” Okay shroomer?

I think it’s just inexperience. Confidence comes naturally with more volume, by interacting with more people AKA “touch grass” as the youth say

Sly Fox Tip: I can’t think of a single instance where oversharing has benefitted me, especially online. It’s better to say nothing than to say something stupid. Yapping is low-status, increases the probability of saying something incorrect, and prevents you from spotting opportunities by being a good listener


6 Conclusion

Let me know if you have any questions, comments or requests

I am always open to feedback

Find me on twitter.com/bowtiedfox or bowtiedfox.com


Subscribe to Sly as a Fox

By BowTiedFox
Practical, up-to-date research on AI agents for workflow automation. Weekly case studies on AI tools used in e-commerce and SaaS businesses. Zero fluff, sponsors, or ChatGPT slop–only the latest news on how to stay ahead of the competition.
Finneas Buick (Finn)'s avatar
woottpp.5g@gmail.com's avatar
youri's avatar
keerthan shetty's avatar
Ayomide's avatar
142 Likes∙
13 Restacks
142

Share this post

Sly as a Fox
Sly as a Fox
3 Steps to 6 Figures: How to Survive AI
Copy link
Facebook
Email
Notes
More
15
13
Share

Discussion about this post

User's avatar
Jefferderp's avatar
Jefferderp
Jan 3, 2024

This was great.

Do you have a good litmus test for knowing whether someone would become bored/burnt out after a couple years?

Expand full comment
Like (5)
Reply
Share
2 replies by BowTiedFox and others
Akash Mohan's avatar
Akash Mohan
Oct 3, 2023

this was very informative. can you write a guide for senior system design interviews

Expand full comment
Like (1)
Reply
Share
1 reply by BowTiedFox
13 more comments...
Résumé Optimization
Perfecting your resume with a comprehensive guide, covering everything from how the recruiter's mind works to advanced LinkedIn strategies
Apr 11, 2024 • 
BowTiedFox
24

Share this post

Sly as a Fox
Sly as a Fox
Résumé Optimization
Copy link
Facebook
Email
Notes
More
5
ChatGPT Makes History: Text in Images is Solved
Introduction
Mar 30 • 
BowTiedFox
22

Share this post

Sly as a Fox
Sly as a Fox
ChatGPT Makes History: Text in Images is Solved
Copy link
Facebook
Email
Notes
More
8
Networking Optimization
A comprehensive guide to networking your way into the top companies
Apr 18, 2024 • 
BowTiedFox
39

Share this post

Sly as a Fox
Sly as a Fox
Networking Optimization
Copy link
Facebook
Email
Notes
More
10

Ready for more?

© 2025 BowTiedFox
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share

Copy link
Facebook
Email
Notes
More

Create your profile

User's avatar

Only paid subscribers can comment on this post

Already a paid subscriber? Sign in

Check your email

For your security, we need to re-authenticate you.

Click the link we sent to , or click here to sign in.