May 27, 2017

Success Formula

Before I wrote that success is boring. It still sounds true to me now, but I noticed a simple yet powerful formula for success. It works in almost all cases as far as I know based on dozens of biographies and autobiographies I’ve read and heard.

Success is talent plus hard work plus luck.

Talent is about up-brining and genes. It’s related to luck but the luck formula component itself is more about present and future than predetermined past of early childhood, country of origin, language or culture.

The luck in the formula could be generated by more hard work (more activity leads to more opportunity), but it’s not a guaranteed linear relationship because statistically numbers could be low for the cause and effect to play out.

Hard work is self explanatory. More talent can require less hard work and vice versa if you are less talented you could compensate to a certain degree with hard work.

So three components are related and might affect one another but as a general direction this formula clear and universal. It makes going for success in any area straightforward.

April 08, 2017

How to Use Social Media Right for Much Benefit and to Stay Sane and Productive

Most people use social media wrong. They scroll through what seems to be a never ending timeline…down, down, down. They come back in half an hour and scroll again to see something new. Down, down, down… and when they see the posts they’ve already seen earlier in the day, they switch to another app: Facebook, Instagram, Twitter, Google +, Vine, Snapchat, WeChat, WhatsApp, Facebook Messenger or Skype. When they’ve checked everything they have installed and signed up for… it’s time to repeat the cycle.

People check social media on their phone, but then they are on their laptops or desktop computers. It’s time to check everything again because, you know, something new might have happened or after all, Facebook website and Facebook mobile app are so different from each other! 😏

Wrong, wrong, wrong. You are just consuming low quality content for a thrill of dopamine released by your novelty seeking lizard brain (Amygdala) 🐲. You are a gambling addict, a slot machine junking pulling the lever down, down, down. You are wasting time, getting full of ads, and losing your brain cycles (where the focus goes energy flows).

The right usage of media about harnessing the power of social media to your benefit, here are some of the examples:

  • Message, video, chat with friends and organize in-person meetings. Connecting has never been so cheap and easy.
  • It’s not what you know, it’s whom you know so keep your contacts saved for future interactions (your rolodex), both business (Twitter, LinkedIn) and personal (Facebook, WhatsApp)
  • Post valuable, useful and interesting updates. Sorry but what you ate for breakfast or what is the view form of your window does NOT count unless you are a celebrity (they are forgiven).

I check my social media accounts just once a week. I almost never look at the timeline and never for a long period of time. I proactively reach out to people, search topics and hashtags, and then message and comment. I check my notifications and reply to the ones that need replies. I deleted all the social media apps from my phone and don’t miss them. It helps me to focus on important matters and act instead of reacting. 😇

Use social media to your advantage and don’t let social media consume you!

March 31, 2017

How to Create an Online Course in Five Simple Steps

Create an online course to learn something yourself, to promote one of your other products, to help others and to make millions. Here are the five simple steps.

First, pick a topic. To create an online course, you are NOT required to have expertise in a topic. Although having it will speed up the process from a few weeks, or even months, to a few day, or even hours. Seriously. It took me 0 time to create my first online course on Node. I just invited a friend to record my workshop. I already knew the material. The course has close to 20,000 students now.

Then, create an outline. Give it to someone who is not your lover or close friend because they are NOT likely to give you an honest feedback. Even better, ask someone to pay you for the course based on the outline. It’s called MVP and pre-sales. It’s the best way to test an idea.

Third, create slides. I use Deckset but you can use Powerpoint or Keynotes. Whatever you already know or the fastest to learn. Google presentation is the best choice after Markdown.

Fourth, find a quiet place, and then record voice overs. If you’re on macOS, then you can just use QuickTime. I use Screenflow which is just $100. You might need to re-record a few times before you get it right. It’s normal. No pressure. No one will see your failures.

Fifth, upload videos somewhere. You can use simplistic YouTube or Vimeo, or more advanced Teachable or Thinkific. It doesn’t matter at this point too much, so don’t spend hour upon hours on research. The goal is to find at least 10 customers for your course and get their feedback. After that you can always update slides, re-record videos or change platforms.

To summarize,

  1. Pick a topic
  2. Create an outline
  3. Create slides
  4. Record voice over videos (slides + audio)
  5. Upload videos

What are you waiting for? Your students need you. Go and create a course!

PS: If you are interested in hearing my full story on how I transitioned from writing coding books to being an online course creator, then I wrote a book about it. Check it out. It’s called ProgWriter 2.

March 11, 2017

Idiocy of Open Offices

I’ve been doing software engineering for over 15 years now, and I always had to sit in an open office space. Sometimes like at FDIC or NIH, I had a short wall to form a noise barrier- sort of a cubicle. The walls are only shoulder length so they are still a galaxy away from being sound proof. Especially when the desk is in the hallway like how mine was at FDIC, or near a chatty NIH colleague who spends hours everyday talking with someone on the phone in loud Cantonese. Argh. Human voice is very distracting even when you don’t understand it.

However, that set up is luxury compared to the idiocy of open offices practiced by startup and large corporations on the West Coast. There are rows upon rows of narrow tables with 50 or 100+ people in giant rooms. Tables to tables. Rows and rows. This is a 21st analog of an industrial age factory.

But in this information age, the metrics are not tangible goods. They are harder to measure, and this is what fools senior leadership, office designers, founders and CEOs/COOs. Activity is not “result”. Do they put everyone in the open to reduce slacking because they can’t effectively measure results? (Slack and IM are constant distractions too but that’s a different story. At least you can turn them off!)

In fancy San Francisco unicorn “startups” or giant Silicon Valley corporations, you can be next to a ping pong, foosball or a product manager. With all this noise and distractions, people can’t work. They tire quickly because they go to chat with co-workers, laugh, and play another stupid game which should be banned from any office, which only adds to the noise even more. Catch 22.

Since there’s little work that can be done between 9-5pm, people come early or stay late… or work from home to get at least something done. When they are in the office from 9 to 5, only shallow work gets done. Deep work is almost impossible in an open office. That, and distractions in the form of useless meetings, social media, email arguments, long lunch breaks sprinkled with lots of coffee breaks and gossiping- just anything to kill the time.

And no, noise cancelling headphones are not a solution because the music is a distraction itself and none of it will help from a nerf dart being shot at you (as often happened at DocuSign and was source of constant(something is missing here)).

The bottom line is that open office employees become dumber because all they can do is shallow work. Also some of them will become:

  • More negative: Social media, procrastination and late night works at home to catch up
  • Dissatisfied: Deep work is very rewarding
  • Fatter: All the stress, and the extra snack (typically free), and coffee breaks will increase your chances of survival if you ever will be marooned on a deserted island

Companies waste money because they are paying for unproductive time. Yes. Companies save on real estate, but if there are more remote workers there would be virtually zero demand for office space for them.

I’ve noticed, most of my best work happens in early mornings or late evenings when I’m at alone at the office or at home and the neighbors’ twin toddlers are not crying. I hate open offices. They are just a bit better than working from a cafe or an airplane. At least in a cafe you are surrounded by strangers and not obligated to talk to them.

People are in the open office trap. Some escaped it by working only remotely. Good for them, but for the rest of us it’s a vicious circle of frustration, stress, dissatisfaction and becoming dumber due to inability to perform at peak level and do deep work.

Let’s come up with a solution. How about having library rule in an office like what BaseCamp has? No games, no nerf guns, no talking on the freaking phone (even if you’re a product manager). And the community areas and kitchens can have all the collaboration, chat and noise they want. :)

PS: Michael Lopp in his top-seller book Managing Humans, which I highly recommend reading, refers to collaboration as “a word used to convince you to work with people you’d rather avoid.”

March 04, 2017

Why Goals Are for Losers, How to Generate Luck and to be Promoted for Being Unqualified

Last week, I finished reading Scott Adam’s How to Fail at Almost Everything and Still Win Big: Kind of the Story of My Life. Scott is the creator of the Dilbert cartoon series. He is also a hypnotist and a master of the mindset. I highly recommend his book. Here are the three nuggets:

Goals are for losers. Use routines instead. Routines will make you have progress without constantly focusing on how far your goal is. So keep your goals but don’t obsess over them being too far. Instead build routines and system to make progress towards your goals daily or at least weekly.

Luck can be generated. It’s a product of your skills. The more relevant skills you have, the better. Learning skills like public speaking, hypnosis, writing, programming, or second language (or third like I am doing right now) - all will increase your chances and luck.

Promotion could be given for being unqualified. This is how Scott was promoted in not one but two big companies. His job wasn’t what he was supposed to do but finding and interviewing for the next job. Think about it. Interviewing and day job are often two very separate things and skill sets. This is very true in tech and IT field! My own experience of frustration over tech interviewing is described in I will puke if I hear array search interview question again.

Scott has many other gems in his book. He is also funny, but not too funny since the book is actually on a serious topic of success, career and the proper mindset. Get your own copy and read it!

February 04, 2017

How to Find Time: Stop Finding and Start Creating It

When people hear that I published 14 books and several online courses while speaking at 17 conferences in 2016 and working full time at Capital One on hands-on projects, they ask one question: “How do you find time?”. Simple answer is I don’t.

I never lost time to find it. Every day each of us gets 24 hour. Not more and not less. Generally it’s not a lack of time but a lack of energy. Have you ever come from work and felt tired, then had dinner and vegetated on a sofa watching yet another TV show? I use this time to write books, blogs, and courses.

I also create time. People like to watch movies while flying. I write this blog post right now as I’m 10000s feet up in the air. People like to play games on their iPhones and Android while in a subway commuting to work (I hope not while driving!). I listen to books and podcasts to educate myself and stay on top of current technologies and events. People spend time looking at social media to become negative because they can’t keep up with the Jones. I get my relevant news from digests and newsletters while automating social media postings.

In the end, time is not the problem and often times you can create more time. Having enough energy is more important, and flow and paleo helps me with that.

January 22, 2017


Flow is a blissful state of activity in which time is distorted and reality is ignored. Programming, writing, painting are all examples of a flow.

Distractions kill flow. Emails, IMs, noise are examples of such flow killers. Each distraction not only robs you of your amazing flow time, but it also taxes the mental capacity to get back into the flow. So a 5-minute detour typically cost 15-20 minutes because it takes time to remember the last step, focus and remove residual thinking. That 30-minute call actually ate 1-1.5 hours because you stopped the flow 15 minutes prior the call at a stopping point so you are not in the middle and have plenty of time to dial in. Then you had to get back into the flow after the call which took at lest 15 minutes more. That’s a 3-4x increase which don’t account for. But that’s not the only problem with work fragmentation.

It is more exhaustive to multitask (which is a form of constant switching) than to be in the flow. Most of us had a tiresome day when we can’t name a thing we accomplished because there were meetings, calls, conversations, urgent things, emails and IMs. I feel more tired when I try (and fail) to multitask in a meeting by checking emails or taking notes.

So flow feels good, it’s more productive and produces a higher quality results (Deep Work). Good. Then why the multitasking habit is so prevalent in our day and age? I’ll blame the internet.

You see, the Internet is a network built on server client architecture. Clients, a.k.a. as browsers, make requests to remote servers to fetch information or to send it. There’s delay. The delay was way worse a decade ago. That’s why there are tabs in a browser. I noticed that I tend to open multiple webpages using “Open in a New Tab”, then start with the first while others are loading. It was saving me minutes a decade ago but now the time saved is negligible. However, I’m distracted by jumping from the content of one task to another.

For programmers, compilation time is something they utilize by multitasking. So tempting to check IM messanger while my Webpack is transpiling JavaScript! Or Maven and Java for you, Java devs. Engineers are great of optimizing after all. They try to optimize their time too… at a cost of breaking the flow. They are also very curious (as noted in Managing Humans) which makes them good at learning but prone to losing focus.

The solution is to resist to optimize the waiting time. Use the waiting time to continue to work on the same task… or just sit and stare at that rotating loading icon. I despise SMS/text messages for this because you can drag a 5-minute call into a multi-day correspondence. If you send me anything other than an address, phone number, price or your SSN, I’ll ignore you.

To add to the habit of optimizing the waiting time, there’s over-reliance on external resources like online search, documentation, colleagues and forums. Every time you need to look up something, you risk of going down the rabbit hole, getting distracted by unrelated content. If I can write a book without a research, I can do it in a few day. (In fact, I wrote ProgWriter in a day while on a internet-less train ride from Portland, Oregon to Oakland, California.)

The solution is to get all you need offline. Some email clients like Outlook allow you to switch to offline mode. The programming library APIs can be remembered after you use them a few times. Offline docs like man command, reading source code in node_modules, or Dash app are other options. If not feasible to remember something, then just leave a TK or TODO and batch up the search for a later time.

Finally, the third type of distraction is the distractions are the easiest to eliminate because they are external. Things like noise, email notifications, etc. Sitting near a ping pong table, foosball or sales team is the worst! Solution: turn do not disturb mode ON, stop working in cafes and/or office, download music without words (Spotify has music from video games), process emails instead of checking them, and let people know that you respond only once a day or even better once a week.

It might be hard to adjust at first. You might feel good about being in the flow for an hour or two. Maybe three. But then feel an urge to peek into email or news or social media. What is someone needs you? What if something important happened? Resist. It’ll go away. Take a walk in the park or around the office if needed, and get back into the flow of your task. I read somewhere that humans can only spend two to four (2-4) hours per day in an intense focus. You are a human, right? The do the important things first while your brain is still fresh and will power the strongest.

PS: I remember I was able to have a TV in the background and still work (and play) on my computer when I was younger. I am sure that I wasn’t doing as much focused and advanced work back then. My guess is that over the years of programming and meditation practice, I developed the ability to focus deeper on my work by using flow. Conclusion? The deeper your work (which requires flow) the more sensitive and damaging the distractions are.

January 03, 2017

I Don't Need Your Feedback

I was at a conference and some guy told me after a quick chat “I’ll give you my feedback on Node University”. No, I don’t need your feedback. I don’t even know if you are my target audience. 👊

Sometimes we assume all feedback is good. The more the better. Bring it on! This is especially true if you’ve been feedback starved which usually means you didn’t have enough users or no one really cared. Ugh.

Let’s put aside Lean Startup, most of feedback is garbage because the person who is giving it:

  • Not a customer 💰: They are NOT paying you money and most likely never will, therefore they are NOT your target audience. Of course, first you must have a paid product or a service. You can replace paying with actively engaging.
  • Not a majority 💯: Minority which means you should NOT cater to their needs — use 80/20 rule.
  • Not an expert 🎓: They don’t know what’s best. It’s your job to be on the cutting-edge of innovation and bring the goodies to the user. It’s not the user’s job to know about the new stuff. (Think Ford and horses.)

The downsides of listening to too much wrong feedback is a feature creep, fashion-driven development and lack of innovation. For example, most of my negative reviews on Amazon are written by people who never read the books’ introductions and most of them never finished reading the books either. Ignore.

Feedback is proliferating. Uber ride? Leave your feedback. Hotel stay? Fill out a survey. Meal in a restaurant? Comment on Yelp. Listened to a conference talk? Fill a survey. Watched an online course? Leave stars. Read a book? Write a review… But we know so little about the background of those reviewers! Be careful who you are listening to, because you are missing on other opportunities… use some feedback filter like the one I listed above.

January 01, 2017

Shaming is Good

Shaming is good because it’s a strong motivator to change. If you have a trouble with the word itself due to negative bias, then substitute it with peer pressure or environment.

Humans as tribal creatures evolved to conform, for the most part, to our environment. It’s done via shaming. Let’s take an accent for example. Most people will adapt to the accent of their region to fit in. They do it automatically, both adults and children. Children do it faster, because there’s more shaming from other children. Thus, there’s a stronger motivator.

To expand on accents, when I worked on the East Coast in the IT industry as an app developer, I was surrounded by other foreigners and native English speakers. But neither of them who would correct pronunciation or point out. The foreigners didn’t care or knew and native speaker were polite to correct such trivialities (which are not trivial at all). As a result, there was very little motivation and even awareness to not just to change an accent, but event to pronounce words correctly. It seemed like no one cared… and of course adults and professionals just more tolerant and mature to laugh (form of shaming) at other adults’ pronunciation.

Lack of shaming could be one of the reason why despite being dumber kids learn accents faster than adults do. The latter just coast in their blissful ignorance once they acquire the minimum functional level. I’m sure you can find other examples of good shaming like switching to macOS from Windows, picking up a new programming language because PHP is not cool anymore, finding a better job or to dumping that crazy girlfriend. :)

Shaming is an important fail check that prevent individuals to fall below a certain level. Of course, too much shaming like too much of almost anything is bad… however, no shaming at all can lead to no personal or career growth at all.

December 27, 2016

What I Learned Reading 200 Books 📚

I’m not a huge fan of reading. In fact, I don’t like reading. But I love getting better, finding out something new and useful.

You can talk only to few interesting people in-person. The limit is in time, location or just that they won’t talk with you. Books are a transferable information. Good info can change career, life, relationships… everything!

So three years ago I start reading and logging books I read or listened to in a spreadsheet. Also, I was writing number of page or hours along with brief book summaries. I reached 200 with this breakdown:

  • 2014: 33 books
  • 2015: 67 books with 26 audio and 41 digital or print
  • 2016: 101 books with 75 audio and 26 in digital or print

Just the audio books for 2016 amount to over 400 hours of content. That’s 50 days of 8-hour listening per day. Almost all of the books were non-fiction. So here’s what I learned:

  • Books are not created equal: So books are junk or should be 50 not 350 pages because they don’t have than much substance. Most modern non-fiction books are junk.
  • Listening on 1.5x and speed reading rocks.
  • I really don’t like printed books. Kindle is a way to go!
  • Successful people have different rules, habits, approaches which often contradict other successful people. Thus, don’t listen to their advices. It’s not what brought them success. (Icons and Idiots by Bob Lutz).
  • History and biographies (especially auto biographies) tend to be the better books.
  • Eat my frogs first to get things done.
  • Black Swans can be good and bad. To benefit from good black swans, you have to take risk and action.
  • Writing books is more fun than reading books. I should write a non-technical book next.
  • Monopoly is good if you are the monopoly (Zero to One)
  • Wheat, bread, and GMO are evil. I knew it before but it’s good to be reminded.
  • Why steak houses make you eat in darkness (Mindless Eating).
  • Less is more (The Paradox of Choice).

That’s more or less all. It’s extremely hard to summarize books. The way they work, is that they take you on a journey and influence your subconscious. In the end you might have new ideas or perspective without realizing it’s from a book.

Bonus! My top 5 list:

  1. Antifragile
  2. Deep Work
  3. The Next 100 Years
  4. Made in America
  5. Grain Brain