I found in my personal journey to learn programming that design patterns were hard to understand at the beginner level. The reason for this is that until you have some experience with implementations, the patterns are not going to be as understandable and you won’t see the benefit to learning them.
Seeing the benefit to something is key to learning it because you become motivated by the benefit and that drives you to overcome the difficulty of learning.
Before I go on, there is a great introductory article to design patterns on tutsplus.com that will give you a nice overview on design patterns, and includes examples of the following:
- Strategy Pattern
- Adapter Pattern
- Factory Pattern
- Decorator Pattern
- Singleton Pattern
I wasn’t a big believer of the usefulness of these patterns in PHP until I studied the Laravel framework, which uses them extensively. Now I’m still not any kind of authority on these patterns in Laravel, so I’m not going to give examples. I’ll leave it to you to explore them on your own. That said, the article is a great starting point.
If you are unfamiliar with Laravel, I did write Laravel 5.4 For Beginners to get you started, which earned numerous 5 star ratings on GoodReads.com.
Laravel is an amazing PHP framework, which manages to distill things down to an intuitive syntax that is easy to grasp. Where design patterns can be incredibly abstract and formal, Laravel is intuitive and simple. It’s worth mentioning though that it achieves simplicity without sacrificing design principles and that is one of the things that makes it so powerful.
Anyway, I’ve always been inspired by Laravel and it’s community, since I was introduced to it a few years ago. More recently, I listened to one of their podcasts, and the subject turned to books on entrepreneurship, which is one of my favorite subjects, since I’m also an entrepreneur.
Anyway, Matt Stauffer, the host of the show, talked about being disappointed by the book, “Rich Dad, Poor Dad” by Robert Kiyosaki, how the book didn’t seem to offer anything concrete, other than some musings about the psychology of success.
Personally, I’ve read that book. It’s not a bad book. On the other hand, I could see why programmers might not relate to it.
First of all, Kiyosaki is from an older generation that wasn’t very technical and that creates a disconnect. It’s great that people were able to build empires through sheer street smarts and willpower, but programmers tend to admire the tech that has been built more than the money that it generated.
So if you did a bunch of real estate deals, and made a ton of money, it’s great, but not exactly inspiring to programmers.
A lot of books on entrepreneurship focus on the biography of the entrepreneur, which, while interesting, is not all that useful. Richard Branson, for example, was thrown into a river as a five-year-old child by his father, so that he could learn to swim, which made him tough. It’s a great snippet, but how does that help anyone else? Personally, I won’t be throwing any of my kids into the water…
So I though about how a programmer would approach the subject of success and I realized that we could relate to it in terms of patterns, which as programmers, we have a natural affinity to.
After mulling it around a bit, I decided to step up to the plate and wrote 100 Patterns For Success, which draws on the success of millionaires and billionaires in tech. I use their quotes, case studies, and my own observations to break success in tech into discrete attributes and patterns that you can adopt.
Here’s a short list of some of the people quoted in the book:
- Peter Thiel
- Elon Musk
- Bill Gates
- Mark Zuckerberg
- Steve Jobs
- Jack Dorsey
- Larry Page
And many, many more tech millionaires and billionaires. The quotes from these people are not simple quips or throw away lines. They are mantras and insights that successful people live by.
We also look a case studies of successful entrepreneurs and the companies they founded. We talk about why, for example, Youtube was able to sell to Google within 1 year of founding for $1.6 billion, without ever having made a nickel in revenue.
That was not an accident and the odds were stacked in their favor from the beginning. The book has many other stories like this and shows you what they have in common.
The patterns in the book are meant to be helpful to you whether you are an entrepreneur or not. In fact, I don’t recommend entrepreneurship to people. Becoming an entrepreneur is not a rational act, since the odds of success are always stacked against you.
Instead, entrepreneurship is more about self-expression than anything else. Yes, there is a financial motive, but if that’s all there is, then that entrepreneur is doomed before they even start.
Ever since I struggled to learn programming, I dedicated a lot of time to helping educate programmers from all over the world, to help them get past the barriers that would otherwise stop them from achieving their goals. I know firsthand how hard things can be, nothing ever came easy for me.
Anyway, I hope you enjoy this book. I put hundreds of hours of research into it. The book is 298 pages in length, but it’s a gentle 298 pages, with a lot of white space. We’re gotten some early reviews that have come back at 5 stars on GoodReads.com.
I’m very much aware that educational dollars are precious. I’ve priced the book low so that my international readers will have access to it. I’ve done my best to make it a fundamental resource that is critical to your development, both as a programmer, and as someone who wants to get the maximum benefit from your work. I’m right there with you, in terms of wanting to benefit from programming work.
Thanks again to everyone who has supported my work over the past 4 years, I really appreciate it.