You Are Going To Run Out Of Money!!!

How much you progress in life comes down to how much you're willing to feel fear
AND STILL TAKE ACTION ANYWAY.
- Tim Denning

It's not because you're not smart or talented enough,
and it's definitely not because you don't work hard.
No, the real problem is that you're stuck in this stupid mindset that's sabotaging all your efforts.
I'M TALKING ABOUT OVERTHINKING.
- Aphinya Dechalert

Discipline is doing hard stuff WHEN YOU DON'T FEEL LIKE IT.
- Denis Gorbunov

The Obvious Key To Success:
BE PERSISTENT!!!
In the end, it really just comes down to your ability to be disciplined and do the work
EVEN IF YOU DON'T FEEL LIKE IT.
If you are persistent, there is a non-zero chance that you will succeed in whatever it is you choose to do.

To iterate, YOU MUST BEGIN.
- Eve Arnold

DON'T BLINDLY TRUST ANYONE, especially seniors and colleagues.
99% of the time the advice of your colleagues and seniors has a personal agenda.
- Bill Hewlett and Dave Packard

This feeling of believing that you should look for an expert BEFORE STARTING BY YOURSELF because you must be perfect from the beginning stops you from real success.
- Desiree Peralta

We must all suffer from one of two pains:
The PAIN OF DISCIPLINE or the PAIN OF REGRET.
The difference is discipline weights ounces while regret weighs tons.
- Jim Rohn

There will always be discomfort and a little voice in your head telling you to avoid pain.
Instead of running from it,
think about how you'll feel when you look at your fat self in the mirror,
an empty bank account,
or the beautiful girl who walks off because you didn't have the balls to talk to her.
AVOIDING PAIN IN THE PRESENT CREATES MORE OF IT IN THE FUTURE.
SO CHOOSE DISCIPLINE AND DO A LITTLE BIT MORE NOW.

Remember the feeling you had walking through Ron's hospice facility.
Remember the feeling you had walking through Shelia's facility.

The ONLY THING standing between YOU and YOUR GOAL
is the BULLSHIT STORY you keep telling yourself as to why you can't achieve it!

20 Hours Is The Difference Between Where You Are Vs. Where You Want To Be
You can learn the basics of any skill in 20 hours.
Josh Kaufman gave a TED talk about the idea that you only need to learn the basics of most skills to be pretty good at them:
20 hours is long enough to experience dramatic improvements in skill, but not so long that it feels overwhelming to get started in the first place.
- Josh Kaufman

For decades, psychological research has been able to explain PROCRASTINATION as a FUNCTIONING PROBLEM,
not a CONSEQUENCE OF LAZINESS.
Whan a person fails to begin a project or continue work on a project that they care about,
it's typically due to either:
a) anxiety about their attempts not being "good enough"
or
b) confusion about what the first or next steps of the task are.
NOT LAZINESS.
In fact, procrastination is MORE LIKELY when the task is MEANINGFUL and the individual cares about DOING IT WELL.

NOT KNOWING what you are doing IS OKAY.
Having the ability to laugh at your mistakes,
while at the same time being unafraid of jumping into things you don't know how to do,
is an INCREDIBLY POWERFUL QUALITY!

You either build YOUR DREAMS or someone hires you to build THEIRS.

Don't try to figure everything out.
EVERYTHING IS NOT MEANT TO BE FIGURED OUT.
Just accept it as it is.

The hardest reality is,
ACCEPTING THE REALITY.

I take such massive action that all these guys that are 10X smarter then me,
THEY'RE STILL COMING UP WITH STRATEGIES.
All I'm doing is taking massive action and course-correcting along the way.

There Is No Intelligent Design
Stop trying to figure out what is the best way to do it, just start doing it with mistakes.
Humanity has learned everything by trying, experimenting and making mistakes.

Something to keep in mind is that you don't need to be an expert to start teaching.
Everyone is figuring things out as they go.

You need to investigate Google Trends


Alberto Garcia
8 Spooky Signals The Universe Sends You When Your Life Is About To Change

1. The Lucky Break
A stroke of luck grants you what you've been looking for for a long time. The sell of FTNI.
2. People Have Forgotten About You
Your friends stop calling you. Don't be sad. The Universe is making room to fill your life with new and wonderful people who will help you reach your next level.
3. You Have X-Ray Vision
You can see the intentions that people hide behind their words and actions. This grace is a sign from the Universe, which wants you to be convinced that you are in the wrong place with the wrong people.
4. The Universe Turns Your Whole Life Upside Down
You have to wake up. It's excrutiating, but remember you have the ability to START FROM SCRATCH.
5. You Feel Out Of Place
This sign is unsettling. Losing yourself is a powerful signal. The Universe sends people and situations to look for you, find you, and redirect you to the life you deserve.
6. What You Fear Most Comes True
You end up in the worst possible scenario. Hitting rock bottom is only suitable for one thing: PROPELLING YOU UPWARD.
7. Your Life Becomes Very Wild
At first, it's kind of unsettling. You can't achieve extraordinary goals by having an ordinary life. It is a sign from the Universe that you're on the right trak.
8. Things Don't Happen
You try and try, but nothing happens. You keep trying and the thing disappears. You give up and try something else and it works. You now understand that the thing was not yours.

Raphael Yoshiga

As a software engineer, your most important skill is
KNOWING HOW TO GOOGLE THINGS.
Bad: how to interpolate c# string
Good: interpolate c# string

If you have to do it more than twice, AUTOMATE IT.
If you have to write it more than twice, REFACTOR IT.

Validating Input
If you don't check what someone's putting in your system, don't be surprised when it turns out to be something nasty.
Validate data anytime data is coming into your system. Ex: web APIs, business rules, function calls...


Bill Gates

There is NO PERFECT PROGRAMMER.
WE ALL write buggy software.
There is NO PERFECT CODE.
So don't be INTIMIDATED.
Your project will NEVER BE A MASTERPIECE.
In 2 or 3 years it will most likely be outdated anyway.

Just Build Things That Work Even If The Code Isn't Perfect

The people that do things and ship code will always win out over people that wait.


Bennett Garner

Veteran engineers know that "GOOD ENOUGH" is the STOPPING POINT.
Veteran engineers SHIP simple code that's "GOOD ENOUGH".
The biggest issue with coding BEYOND "GOOD ENOUGH" is that you CAN'T POSSIBLY PREDICT THE FUTURE.
You have NO IDEA how the application will be structured in the future.
Predicting future feature requests IS EVEN HARDER.

Build the simplest possible version of the code that meets the requirements.

When it works AND you have reasonable tests that prove it works, SHIP IT and move on.

One realization that changed my software career:

I'M NOT THAT GOOD AT CODING

I still believe in myself!
Given enough time & a little help, I can solve most coding problems.
You might find, however, that your coding abilities start to hit a natural limit.
No matter how hard you try,
there will always be some other developers who are naturally more code-inclined than you.

chubernetes

Early in my career, the affects of Imposter Syndrome where more pronounced than they are today.
Even with 20+ years of experience in the tech industry, the feeling never really goes away entirely.
When I encounter a technology that may have only been released a few months prior,
I have a tendency to discard my existing knowledge and feel like an imposter for not knowing that new topic.

Use Cognitive Reframing to ease this feeling:
I have to cook now... vs I get to cook now...
This is hard... vs This is working...
Why do I have such bad luck vs What can I learn from this


SINCE THE LIBRARY IS INTEGRATED INTO OTHER PRODUCTS,
IT NEEDS TO BE HIGHLY OPTIMIZED NOT TO CAUSE ANY NEGATIVE PROFORMANCE IMPACT DURING RUNTIME.
THIS MEANS THAT POLYMORPHISM AND HIGH LEVELS OF ABSTRACTIONS ARE AVOIDED AND EFFICIENCY AND PERFORMANCE ARE A TOP PRIORITY

Clean Code Is Slow, But You Need It Anyway...
POLYMORPHISM AND EXCESSIVE SINGLE RESPONSIBILTY PRINCIPLE ARE SLOW!

Quote from the wise Robert C. Martin, aka Uncle Bob

If you are trying to squeez every nanosecond from a battery of graphic processing units,
then clean code may not be for you;
at least in the most taxing of your deepest inner loops.
On the other hand,
if you are trying to squeeze every man-hour of productivity from a software developement team,
then clean code can be an effective strategy towards that end.


When in doubt: DUPLICATE CODE
The cost of a bad abstraction is much, much higher than the cost of dealing with duplicate code.
There's even seemingly conflicting advice,
like 'don't repeat yourself' (aka DRY),
where you're encouraged to add an abstraction, such as a function, instead of writing duplicate code.
The ideal lies somewhere in the middle, between the two.
It's TOTALLY OK to repeat yourself!
In fact, we take the stance that you should repeat yourself by default.
Abstract it away once it's very clear that the code you wrote,
in fact needs, to be used multiple times and that any variations you need to support aren't significant.

Over abstraction can create unmaintainable, untestable monstrosities.
Under abstraction may mean duplicate code,
but duplicate code is almost always better than unmaintainable code.
That is until it becomes unmaintainable itself.
Duplicate code can be fixed via factoring; Over-abstracted code may not be fixable.

1. Rule Of Three
The principle behind the rule is that it's easier to make a good abstraction from duplicated code than to refactor the wrong abstraction. When reusing code, copy it once and only abstract the third time.

If something is used once, IGNORE ANY ABSTRACTIONS.
If it's used twice, COPY IT, it's better.
If it's used three or more times, look at writing an abstraction that suits us TODAY, NOT FOR THE FUTURE

2. Focus on making it easy to delete instead of making it easy to change.
If you create a prototype, violating DRY and duplicating your code is okay. It is okay to write long functions if you are developing an application for yourself or internal teams. Take all the design patterns such as DRY, YAGNI, SOLID as suggestions, but not absolutes.

3. Be okay with refactoring your code often
Codebases are not history books.
It is created to be maintained and changed according to customer's and product needs.


Once you have familiarized yourself with software design patterns, implementing them in practice can be quite challenging. I have personally faced this challenge, as it is not always easy to recall and apply them while coding. But forcing yourself to do this check every time you're programming will definitely put you one step ahead. - David Goudet

THE GREATEST TIME MANAGEMENT TOOL
The key, the secret super power she had was a list,
make a list and keep updating that list,
work from that list and re-arrange that list as priorities change.
But always have that list,
and do what's on that list.
I did this at FTNI with an MS Word document.


Happiness and freedom begin with a clear understanding of one principle:
SOME THINGS WE CAN CONTROL; SOME THINGS WE CAN NOT

  1. CAN CONTROL
  2. The future (Sort of)
  3. Our actions
  4. Our attitudes
  5. Our creativity
  6. Our decisions
  7. Our desires
  8. Our determination
  9. Our emotions
  10. Our feelings
  11. Our judgements
  12. Our motives
  13. Our open-mindedness
  14. Our opinions
  15. Our perspectives
  16. Our responses
  1. CAN NOT CONTROL
  2. The past
  3. The future (Sort of)
  4. Others actions
  5. Others attitudes
  6. Others creativity
  7. Others decisions
  8. Others desires
  9. Others determination
  10. Others emotions
  11. Others feelings
  12. Others judgements
  13. Others motives
  14. Others open-mindedness
  15. Others opinions
  16. Others perspectives
  17. Others responses


    Mark Twain
  1. The secret of getting ahead: getting started.
    The secret of getting started: break complex overwhelming tasks into small manageable tasks.
    Then start on the first one.
    Don't Care Quotes
  1. Anytime someone tells me I can't do something,
    I want to do it more.
    Taylor Smith
  2. When someone says you can't do something,
    do it twice and take a selfie.
    Ann Adaya
  3. One of the greatest mental freedoms is truly not caring what anyone else thinks of you.
    Unknown
  4. Not caring more about what other people think than what you think.
    That's freedom.
    Demi Moore
  5. I care not what others think of what I do,
    but I care very much about what I think of what I do.
    That is character!
    Theodore Roosevelt
    Peter Thiel
  1. Invest your time into an area no one else thinks is worth it.
    If you want spectacular results you have got to do what others gave up on.
    Examples: TV and iPod