The Power Law and Your Career

By Jake from AlgoDaily on 2020-01-01 09:55:48 UTC

What are their secrets?

I've recently had the opportunity to spend a considerable amount of time with some friends who are thriving. These individuals are "successful" in both the traditional financial sense, as well as in the way of all being top performers who truly enjoy what they do.

Because they were people I wanted to be like, I naturally took some mental notes about their habits and quirks. I have a possibly unhealthy, but hopefully all too human, tendency to try to find patterns in people who inspire me. This stems from the idea that, if I could just find that one additional commonality that's shared amongst them - whether it's meditating, reading, working out, taking nootropics - I could do the same and emulate their results.

Big Wins versus Distractions

Ramit Sethi has written about this idea of Big Wins vs. Distractions before. Big Wins are the important items to tend to. Distractions are aptly named as such. As an example, a personal finance big win could be setting up automatic investing into a target-date fund. The counterpoint distraction would be to "agonize over 13 different money apps".

You can find examples of this in any field of interest. For students preparing for a standardized test, the big win could be taking practice tests and reviewing them. Distractions in that scenario include being choosy about the brand of their study materials, or spending time figuring out which section is an experimental one.

Another way to describe this phenomena is as an expression of the power law. Here's a great description: it implies a small amount of occurrences is common, while larger occurrences are rare. For example, where the distribution of income is concerned, there are very few billionaires; the bulk of the population holds very modest nest eggs. I've learned that this readily extends to one's career and professional life.

Power Law
(Image Credit to EdgePerspectives)

Sound familiar? This is also the basis of the famous 80-20 principle.

Does the Slight Edge Exist?

Every time I make mental notes about what breeds success, I quickly realize this: for every person who does one thing, you'll find someone in their same standing who does the polar opposite.

For example, I went to a conference recently with a buddy who's had an impressive track record in the open source development community. He made Staff Engineer at an early age, and had been featured in several media outlets for his work.

One thing I noticed about him was his tendency to always be learning. This isn't an exaggeration - it seemed like he was constantly absorbing knowledge. We shared a room, and I observed that in any free time that he had, outside of the main conference events, he was learning.

I'd wake up, and see that he was on his phone, checking Twitter for updates from those he followed, mostly developers themselves, who had a habit of teaching quick software tips or thoughts in 280 characters.

Whenever we were waiting for the first talk of the day to begin, he'd review the videos and blog articles of many of the speakers of the day. He was particularly fond of dipping his toes into subjects or areas he wasn't familiar with. When we would get back, he'd start reading a book he had brought on the trip, on something completely different from his line of work.

I thought, oh wow, I'm on to something. Perhaps his results stem from the fact that he keeps up with learning. Learning is the secret to success. I'm going to learn something every day!

(Image Credit to BrainPickings)

Then I had the great fortune of immediately spending a weekend with another wunderkind in tech. Like my first friend, he had speedily risen through the corporate ranks and had achieved a reputation of getting things done in his sector. Yet shockingly, his behavior was the exact opposite of the other's.

At any free moment, he was on social media or gaming on his phone.

He was up all hours of the night watching sporting clips.

I asked him what books he'd been reading, and he said he didn't really read books.

I thought, wait, I thought learning was how you propel yourself to greater heights. But this second friend doesn't seem to care and he's doing so well. What gives?

Too often we miss the forest for the trees in our careers. We focus on how our social media profiles look, or prioritize keeping up with the latest New York Times bestsellers. We let the distractions drag our focus away from the big wins we could be making. We forget about the power law.

Commonalities

In the case of these two friends, their overlapping behaviors were concentrated in one place. The only shared quality between the two friends was an intense interest in their work. Notice I didn't say passion - it was just pure excitement to approach the tasks at hand.

Both talked about their upcoming work to anyone who would listen, and were constantly thinking with others about pushing the boundaries of their work. Both were pulled into meetings while we hung out, and both were actually excited to have the discussions with people they enjoyed working with. Both had bet their careers on products that they really intrinsically liked.

Back to Boring

As boring as it is to say that doing good work is the secret sauce to professional success, it bears repeating. In an age of too many thought leaders lacking substance, let this serve as a reminder to refocus on where the true value is. You can try to decipher what your role models do outside of their craft, whether it's what books they read or how they wear their hair, but don't neglect the thousands of hours spent on the craft itself. All the meditation in the world wouldn't have made Ray Dalio a billionaire had he not competed in the financial realm and only read books about prominent financiers.

It's certainly important to be aware of the influences of others, and to know when to step in and out of a situation. However, there is an inherent power law when it comes to careers, and most of what you're looking for derives from a very small number of inputs. Keep on honing your craft, going deep and mastering what you can, and the results will surprise you.

What Programmers Can Learn From Rappers

By Jake from AlgoDaily on 2019-07-12 14:18:13 UTC

I was fortunate enough to grow up in Queens, New York, which contains many of the literal most diverse zip codes in the world.

This meant that growing up, I was exposed to a lot. Obviously I experienced Chinese language, culture, and cooking at home-- but I also went to school, church, and played basketball with the local Irish, Filipino, and Puerto Rican kids. Then I went to Bronx Science and saw the dichotomy between its adolescent culture and what the rest of the neighboring Bronx schools had to offer, before attending CUNY and Fordham and seeing two completely different socioeconomic levels.

All that's to say, my background is pretty eye opening for most people around the world, though it's pretty common to New Yorkers. These experiences were also what introduced me to perhaps two of my favorite loves in the world-- computer programming and rap music.

Though they seem completely unrelated at first, they do share some commonalities. Otherwise this video of Nipsey Hussle investing in cryptocurrency wouldn't be as captivating as it is. And of course, you wouldn't have Ben Horowitz quoting rap legends in the beginning of every chapter of his book.

What could they possibly share in common then? It's firstly the endgame: programmers and rappers want the same things:

  • A sense of "making it", from either getting signed to a deal or joining a public software company
  • Status, from either Platinum albums or Twitter/Github mentions
  • Influence in their small circles (e.g. BET Hip Hop Awards, MET GALA, etc. versus tech conferences )

And what's the most interesting commonality?

Both professions are writers, simply using different mediums to express their thoughts.

Computer programming and software development is literally taking the knowledge and solution in one's head, and expressing it in symbols that a machine can understand.

Rhymes and bars are poetic memoirs of one's current state of mind.

They also share a need for a flow state. When Kendrick Lamar wrote "Bitch Don't Kill My Vibe", he was talking about being in a frame of mind where he could innovate, create, and harness his mental powers without distraction. If you're a developer, you know exactly what I'm talking about here.

Since most of you reading this will be programmers (hello to the few rappers reading this blog), I think it would be interesting to explore some things that software engineers can learn from hip hop artists.

Requirements, Winning, Copycats

You gon' have to pay the price if you get wishy-washy / This a Tallageda Night, I think I'm Ricky Bobby / My advice quit the music, get the different hobby / All you ***** sound the same, just a different copy - Joyner Lucas, Broke and Stupid

These bars are underrated as hell, bro. So many gems here.

Without clear requirements, "wishy washy" asks are going to lead to failures of projects. They are also, indeed, usually very costly-- so make sure that you know exactly what you're trying to build before starting to code.

Secondly, Ricky Bobby in Tallageda Nights was all about winning initially. However, winning (and trying to be the "rockstar developer") got him in a world of hurt and trouble. You ultimately have to realize software is a team sport, and that ninjas/rockstars/superstars hurt morale instead of boosting it.

The last two lines are especially true for developers who identify as IndieHackers. You don't want to be a copycat. AlgoDaily is not like any other interviewing site-- it is meant to be the ultimate remix, and serve as a career coach, habit tracker, and community combined into one simple platform. If you "sound the same" as a rapper or developer, go find yourself a niche that you can excel in.

Career Advice From Kendrick

I was born like this, since one like this, immaculate conception / I transform like this, perform like this, was Yeshua's new weapon / I don't contemplate, I meditate, then off your fucking head / This that put-the-kids-to-bed, this that / I got, I got, I got, I got / Realness, I just kill shit  / 'Cause it's in my DNA - Kendrick Lamar, DNA

Kendrick drops a lot of hidden gems in his bars, but this is one of my favorite. What he's saying here is for top performance, you need to be at 0 or 100, but never in the middle.

That is, you either need to be meditating, or kicking ass. You need to be putting kids to bed, or killing shit.

This is because software engineering is not just a mental game, but a physical one-- long hours slouched in front of a screen wreck your body. If you want to really attain peak performance at all times, you need to be willing to be an absolute bum sometimes.

Yishan Wong, former CEO of Reddit, has written about this before:

Exceptional focus does not mean that you are able to work during all your waking hours. During your "downtime" (time when you are not being productive but also not sleeping), don't try to work on lower-priority projects. Instead, make sure you are goofing off. The most focused people maintain focus over long periods of time (months, years) rather than working obsessively on something over entire days (which is likely to lead to burnout), so make sure your daily schedule involves breaks where you deliberately don't do anything productive. The idea here is to not fatigue your mind with focus, but to continually "re-attract" it back to the thing you want to focus on.

This is why AlgoDaily advocates just one problem a day. Not two, or five, but ONE. One a day gives you the rest of the day to do whatever you want.

You know this'll never be a tie, just look at they laces / You know careers take off, just gotta be patient.

These words came from Kendrick Lamar.

Yep, that Kendrick Lamar. The man behind HiiiPoWeR, Swimming Pools, Humble, and many more huge hits. If there's one guy who can lay a claim to king of the rap game, it's him.

But did you know he started rapping and making music at just 8 years old? It was when he witnessed Tupac and Dr. Dre film California Love. From then on, he knew exactly what he wanted to do.

He didn't achieve commercial success, however, until Section.80 came out in 2011-- meaning he had to hone his craft for 16 years before blowing up.

Careers take time, but don't worry. Your competition is rarely as prepared as you, provided you do just a little bit each day-- because ultimately, the average person does zilch to improve upon their standing in life.

New Developers Are Trying Their best

I'm just a man of the people, not above but equal / And for the greater good I walk amongst the evil / Don't cry, Mama, this the life I choose myself / Just pray along the way that I don't lose myself / This is for the ***** that said that Hip-Hop was dead / I went to Hell to resurrect it / How could you fail to respect it? - J. Cole, Let Nas Down

Look, Javascript was my first programming language, and it doesn't feel great when older developers trash the Javascript ecosystem.

Yes, there are some libraries written that aren't up to par for production use, and it seems like there's a new framework every few days-- but to new developers, as J. Cole says, "for the greater good I walk amongst the evil".

This is the environment that new developers are coming into-- the world where programming mostly happens in, or for, browsers. As a result, the average "not above but equal" developer is coming into a terribly chaotic world and trying to make sense, and their dent, in it. It's not easy.

So give the new wave of developers some respect. They are coming into a web full of unlimited possiblities, but very little guidance (many are now self taught through sites like this), to make things. That is difficult, and bad works will happen, but great things are coming out of it too. And that's progress.

$60k to Learn to Code, And Why I Built a Leaderboard for AlgoDaily

By Jake from AlgoDaily on 2019-07-06 01:43:43 UTC

When you hear the term "peer pressure", what immediately comes to mind?

Many people will quickly think of associations with bullying, bad decisions, and building anxiety. The immediate reaction to "peer pressure" is usually a negative one, and generally folks would agree that decisions made without influence from members of one's peer group are better than ones with.

That's definitely a fair assessment. After all, many bad acts throughout history have often been a result of someone being forced to do things they wouldn't have individually done. There is a significant amount of evidence that social influence is an effective and strong force in motivating people to abuse substances, commit criminal acts, or make otherwise poor life choices.

Peer Pressure For Good

On the other hand, Seth Godin makes an intriguing point in his article, Digital Peer Pressure, saying that peer pressure can used for good:

But the digital peer pressure that pushes us to use social media a certain way can also have more positive effects. It can challenge us to understand the details in that Do lecture or to edit a Wikipedia article to make it better. Digital peer pressure can push us to level up.

Thousands To Learn to Code

Though Godin is talking about peer pressure online, it applies to real life as well.

I've used this insight in the past-- believe it or not, social influence was the only thing that allowed me to learn to code. As I wrote about in The Best Way to Learn to Code, I initially tried to teach myself, but could never keep up a practice. I'd do a tutorial here and there, and perhaps skim a programming book, but would fall off the wagon for weeks afterwards.

However, the second I enrolled in a university program, it was mentally a different ballgame. The first class I took as part of the prerequisites, Introduction to Computer Programming in C++, was significantly harder than the most challenging resources I had previously used to teach myself. However, by the end of the class, for the first time ever, I could code a working program alone. Why's this?

The social pressure. I didn't want my family and friends know that I dropped out of the first class. I didn't want to be the only student in my cohort who didn't turn in their assignment. And I certainly didn't want my brilliant professors to think poorly of me.

Regardless of whether I should have cared about others' opinions, the subconscious desire to look good worked in my favor, and ultimately launched a new and fulfilling career for me.

So with that said-- I'm proud to announce that AlgoDaily has a new feature: the leaderboard. It's meant to be just a bit of peer pressure to challenge and inspire you to do the daily practice of solving a problem.

Today, it tracks just two metrics: number of challenges completed, and days in a row that a user has done a problem-- but we'll be sure to expand this. Can you get on it? If so, where do you fall on it?

What's the Leaderboard For?

The same way that The 4-Hour Chef was a guide to rapid learning that had been masked as a cookbook, AlgoDaily's purpose goes beyond passing a technical interview.

Instead, it's about having a system, any system, that incrementally moves you toward your goal regardless of the direction luck sways.

It's about cultivating daily habits that ensure you're at least a little bit better than yesterday in any area of life.

It's about having a community and peers on the same path that motivate you to get better, slowly but surely.

This is also why we have the AlgoDaily community. After every question, you'll see a link that says "Having trouble with this question? Click here to ask the community for help"-- which will bring you to helpful discussions like this one.

I'm hoping that this message gets people thinking of ways social pressure could be used as a force for good. Until then, can you get on the leaderboard?

P.S. - I am in the works on open sourcing the entire AlgoDaily curriculum-- more to come soon. The goal is to improve upon the quantity of questions, build more test cases, and write the solutions in other languages. If you've benefitted from AlgoDaily, and would like to help me prepare the curriculum to be open sourced, please comment or shoot me an email at team@algodaily.com. Together, let's create the largest open sourced repository of technical interview challenges so that any developer can be economically empowered.

Forget Thought Leaders, Seek Out People Who've Actually Done Shit

By Jake from AlgoDaily on 2019-07-03 14:25:33 UTC

In recent years, due to the abundance of communication methods both electronic and analog, the concept of the influencer has been brought to center stage.

We're talking about "thought leaders". These men and women are supposedly deemed experts in their field, knowledgeable about the world in ways the common person cannot comprehend, and are impeccably mimicked by their followers in every way.

With their huge social media, blog, or mailing list followings, their ideas command the absolute attention of their listener or reader's minds, and often subtly-- very humble-braggingly, implant this notion that they know best, and they know better than you.

This idea can be devastating. We humans are social animals, and will thus have a tendency to seek out wisdom and advice externally. This is how we as a society have improved upon shared knowledge over thousands of years, and there's nothing wrong with this habit-- the key is to be discriminatory in your absorption of such information.

I'm here to to remind you of this quote by Steve Jobs, who himself idolized, and was idolized by, so many:

Life can be so much broader, once you discover one simple fact, and that is that everything around you that you call 'life' was made up by people who were no smarter than you. And you can change it, you can influence it, you can build your own things that other people can use.

I would argue that we should especially emphasize the "no smarter than you" aspect.

Look, the internet has given a voice to many brilliant people with wonderful ideas to share. This has led to incredible gains in education, science and technology, enabling meritocracies, and economic growth.

It has also birthed a movement of folks who don't have anything to say, but say it anyway. You can sense the lack of substance-- they are the self help gurus whose only value is rehashing the experience, the teenager sharing career and branding advice on social media, the wantrepreneurs who critique the works of others while never producing themselves.

They are a loud group that pervades your feeds. When it's so easy to influence widely (the barrier to entry being a simple internet connection) it can be hard to tell what advice is good, and what is not.

I want to stress, in a similar vein that Jobs did, that these "thought leaders" are not leading any different thoughts than you are. Yes, kudos to them for putting out content, even if most is void of value, but they are just creators until their work has certified their proficiency.

And what of the perception of expertise, of knowing something you don't? Well, they may know just a bit more than you in some small areas, and there might be some value derived. This aspect of our modern information overload could obviously be helpful, but the key is to use your judgment and not blindingly accept an influencer's gospel. And even more importantly-- do not put them on a pedestal.

They do not have all the answers to life, and can sometimes be very open about this.

Here's what Tim Ferriss has to say:

Though I’ve occasionally done profiles like A Day In The Life with Morgan Spurlock’s crew, I rarely let journalists follow me for a “normal” day. Why? I’m no superhero. I’m not even a consistent “normal.”

Think for yourself and be discriminatory in the advice that you seek. I have a general litmus test for authors and writers of non-fiction in particular:

Is this person undoubtedly experienced in what they are teaching?

In programming, this is easy: if they're walking you through how to build a Vue app, they by definition must have done it before. It might not be clean code, nor the "right way" to do it-- but it's hard to falsify getting an app up and running. If the divs load, and the content renders, and it looks the way you want-- then you've gotten the result you want.

We don't do this enough for non-technical knowledge, and that's a shame, as it's now more important than ever to parse through all the advice and knowledge for what will actually be helpful to you. But it's actually really easy to do. Just focus on asking the following two questions:

  1. What am I trying to learn to do or be?
  2. Has the teacher done this thing? Or have they demonstrably embodied this principle?

With that said, I'd like to leave off with some of my favorite books by people who've actually done shit. Heads up that these are affiliate links that help support the costs of running AlgoDaily:

How to Consume Books In Whatever Way You Want

By Jake from AlgoDaily on 2019-06-20 14:12:48 UTC

Warning, this is a bit of a rant. There was a post this morning that was quite popular called How I Consume Books. In it, the author makes the point that he prefers audiobooks for fiction to "save time" and that to maximize his consumption of non-fiction, he takes notes and collects them in a bunch.

The author can read books however whatever he wants-- I have no qualms about people doing what they need to do for their goals. However, if we think one level higher to why we read (I'll explain in a second), his techniques seem to be missing the mark.

I'm arguing that articles like the one referenced are a sign of how we overoptimize, and that the marginal gains that are being sought out with these techniques aren't worth it.

Look, here's something almost everybody knows and nearly no internalizes because it's a strange realization: in terms of density of applicable knowledge on a page by page level, books are no longer the best medium.

Let's take non-fiction for example, which should have more "useful knowledge" than fiction books. Most people consuming non-fiction are reading either business books, memoirs, self help literature, or textbooks. Only the last one was designed to pack the knowledge in-- every paragraph should provide some information, whether theoretical or applicable.

The others in that list are usually filled with narratives and stories that meander around a certain point, ultimately revealed in the last paragraph of a chapter. The average 200-300 page non-fiction book of that nature will have one to three actionable ideas.

If people were really looking to apply advice from a non-fiction book, it's actually much more straightforward to google the notes, watch a youtube video, or listen to a talk from the author than to read the book.

The same goes for fiction. The idea that you read fiction to efficiently gain knowledge of a concept is ridiculous. Usually these ideas are a few societal observations that are reinforced in 300-500 pages of imaginary events. To go into Harry Potter looking for sage wisdom is a bit like joining a startup to get rich-- very small chance it'll happen in reality, and it's more about the ride and experience.

So why do people actually read? It's the stories-- humans are hardwired to love narratives that make sequential and logical sense. It's all about letting your mind relax, enjoying the events as they unfold, and letting the big ideas seep into your subconscious naturally. Someone did this, so this happened. This person approached something this way, and met this person, and this was the result. Our brains love this.

If you're collecting notes and bundling them to refer back to them, you're overoptimizing. These notes will probably never feel like re-reading a non-fiction book because you're necessarily missing out on the backgrounds and stories that were provided, and thus won't be satisfying the deep human craving that draws us to such works in the first place.

Similarly, if you're rushing through a piece of great literature or switching to a different medium entirely just to "get the knowledge", you're also trying too hard to maximize. If you wanted the raw techniques, advice, or wisdom, you can find them in an abundance of summaries, videos, or short articles.

Here's what I'm saying-- just read the book however you want, without worrying if you're "getting anything" out the experience.

Are you enjoying it? Then you are! And that's good enough.

Latest Posts

Ready for your dream job?

Welcome to the most accessible guide to technical interviews. AlgoDaily was created to be a gentle, visual introduction to patterns around solving data structures and algorithms challenges.

We believe that technical interviews are a matter of practicing well. We've referenced hundreds of resources on habit change, education design, and algorithms to design the best and most streamlined learning experience.

Start the course now

Subscribe to newsletter