$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.

You Have Plenty of Time

By Jake from AlgoDaily on 2019-04-24 04:03:22 UTC

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.

The Speed of the Engine

How many of us in software dream of moving up to the detriment of today? Have you ever spent more time thinking about your next role than getting good at your current one?

Here's the truth-- careers are thought of in years and decades, not weeks and months. Despite this, smart and ambitious people tend to seek ways to speed things up. Much of it can be attributed to a so-called "digital comparison trap"-- the idea that the internet gives us an impossible standard to attain in every matchup.

This afflicts developers especially, who are in constant connection with this endless stream of perfection and achievement. It's simply too easy to feel bad about where you're at and headed when you have TechCrunch showing you multi-billion dollar exits, Instagram overloading you with physical perfection, and TeamBlind destroying your soul.

Pause

What to do instead of sprinting to the finish line? Pull back.

Slow it down. Instead of trying to learn multiple technologies at once, focus on one language or framework a year. Rather than gunning for a promotion this year, be alright if you get it next year instead. If your side projects haven't bloomed in six months, take some time off and come revisit it.

You have plenty of time to achieve everything you want.

Some final words from Jeff Bezos:

If everything you do needs to work on a three-year time horizon, then you’re competing against a lot of people. But if you’re willing to invest on a seven-year time horizon, you’re now competing against a fraction of those people…Just by lengthening the time horizon, you can engage in endeavors that you could never otherwise pursue.

Action item today: find a way you've been rushing through life and see if you can slow it down.

What The Everything Store Revealed About Jeff Bezos's Path to Building a Tech Giant

By Jake from AlgoDaily on 2019-04-03 19:55:49 UTC

Ever found a book full of unexpected insights and wisdom? I recently finished reading one of those-- The Everything Store: Jeff Bezos and the Age of Amazon by Brad Stone, and found it to be chocked full of wisdom– primarily because it detailed the mindset and attitude of Jeffrey P. Bezos. As most know, Bezos is the masterful founder and CEO of Amazon.com, where you’ve likely made a purchase from in the past.

The book was primarily about Amazon’s early founding, operations, survival, and growth; but it does talk quite a bit about Jeff. I thought there were some fantastic take-aways from the book about how he approached life and career, and thought it would great to jot it down for future reference.

I’ve always admired Jeff’s tenacity and leadership, and it was great to get a close look at what made his career thus far so remarkable.

Most people don’t know that Jeff was actually an uber-successful financier even before Amazon ever existed. Prior to become an entrepreneur, he was a computer scientist at the infamous D.E. Shaw, building computer software for traders.

It wasn’t until he stumbled upon a report talking about the internet’s hyper growth did he apply his (now popular) risk minimization model: believing that when he turned 80 years old, he’d greater regret missing out on the internet boom than leaving a cushy Wall Street gig. This brings us to our first lesson from Mr. Bezos:

Think (Really) Long-Term

Applying the Risk Minimization Model to most people’s problems instantly resolves them. At age 80, what would you regret more: missing out on a night with some random at a bar, or missing out on the love of your life?

Taking a job that pays 5% more, or contributing something really great to the world?

Getting that next promotion, or being able to travel and see the planet?

These are decisions that are made easy, and to Bezos, it was a no brainer: an computer scientist from Princeton, with a decade’s experience in finance, he would always be able to return to Wall Street; but at the rate the internet was moving, he may miss his chance to be one of the primary movers.

Additionally, Amazon didn’t make a profit until over a decade after its inception, and while investors and spectators were tense and up-in-arms over being in the red, Jeff never flinched. Numerous times in the book, he has described long-term thinking as one of the most valuable abilities we have as human beings, and truly believes that it’s easier to succeed in this way.

Instead of thinking about the next few years, he encourages thinking about the next decade or two, which should theoretically give you an advantage because so few people and companies do so. Jeff’s commitment to long-term thinking has also been demonstrated in his investment in the 10,000-year clock.

Read Like An Animal

I can’t recall the exact number, but Stone made it clear that much of Bezos’ thinking and way of life was derived from the multitudes of books that he has read. In The Everything Store, Stone is constantly referencing books as Jeff’s source of inspiration, knowledge, and entertainment– and claims it’s one of the reasons Amazon did so well with books. He simply loved and understood them deeply.

At the end of the book, Stone kindly makes a list of Jeff’s favorite books that “have nurtured Amazon since its creation and shaped its culture and strategy”, and include classics such as The Remains of the Day, Sam Walton: Made in America, Memos from the Chairman and The Mythical Man-Month. This not surprising in the least– where better to learn about business and life than through the written wisdom of those who’ve lived it?

Interestingly enough, Jeff also claims that he actually learns more from fiction than nonfiction novels. This is something that’s been echoed from by the likes of Tim Ferriss and others. Perhaps my next venture will be into fiction reading, and what kind of knowledge one can expect and obtain from that.

Be Data Driven

It’s hard not to see Amazon’s data-driven nature. Metrics are kept on everything: employee productivity, budgets, cash flow, logistics, call center wait times, etc. I believe Peter Drucker once said that “what is measured is improved”.

Bezos employs this theory radically, making all decisions based on cold, hard numbers– which, most will agree, is the best way to be decisive. This belief is also held at other great and innovative companies, including Google and Bloomberg.

Gamify Everything

Bezos treats his work and life like a game, and allows himself to have fun with both through experimentation. When there are so many metrics kept, it is hard not to see it as an input–>game–>output format.

Such a mentality affords the control at helm the opportunity to step back and not tie themselves emotionally to the outcome. Jeff employs this beautifully, constantly changing strategies and employees, and later demanding intense self-reflection of himself to best himself, and Amazon, as best as he can.

We'll send you 100+ of the most common coding interview questions, once a day with visual explanations. Join over 53,000+ users who are doubling their salaries in 30 minutes a day.

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 learning now

Subscribe to newsletter