Today I just start selling the book I've been writing for a while online! It's a book about how to be a topnotch software engineer from nothing ground up. I don't want to lie to you it takes many many years of hard working, so that's why I pick the title rough road. It's more like a marathon. It covers topics normal tech book won't like how do you find your motivation, find a positive feedback loop to keep you moving forward. Also cover meta-learning, how do you teach yourself everything, how do you find a job, how do you practice your programming skills and etc.
I am adopting lean publishing model, it's like 10% done only for now, and I am adding more content over time. At first the price is set to be lower, and will raise over time when more content is added. So that early supporter gets discount for cheaper price, and I can collect feedbacks early on.
Hopefully this book is helpful for some people on their road to be a great software engineer. Here's the preface of this book:
Software is eating the world, and the force behind this trend is software engineers. As the software jobs demand surge, more and more people want to ride on this once in a lifetime wave. Programming is not that hard to learn, but it's challenging to master. Just like many people can swim doesn't necessarily mean they can all swim as fast as Olympics champions. As you can imagine, it takes years after years training and practice to be an Olympics champion, so as a topnotch software engineer. However, given the high demand for engineers, you can find plenty of software books or courses out there claiming absurd things such as mastering programming in a few weeks. Surely if the goal is to learn fundamental programming skills and find a job in the tech industry, yes it's possible. But to master it, certainly not.
Like all different kind of skills, programming takes if not decades but many years to master. And yet to be a great software engineer, many skills other than programming are also required. It's a marathon rather than a sprint. When we look at the history of sport world records, the numbers were renewed year after year. Is it because human beings evolved in these years to be able to run faster and jump higher? No, the key is knowledge. People learn the experience from the past, think about what can be improved, such as the way we train, or the tool we use. The same applies to being an engineer. While there's no lack of books teaching you specific programming languages, frameworks and project management, but what about learning to program and building the career as a whole from the ground up? There aren't many books talking about this aspect, be it what programming language to learn, how to develop and practice your skills, how to find your dream job or even create one your own.
As a programmer, I was lucky to find out what I love to do in my life at a very young age and dedicated almost every single day in the past twenty years to programming. Twenty years is not a short time, assume I spend 5 hours a day in programming, twenty years means 36,500 hours spent on it so far. It's not an exaggeration to say that I dedicated my life in programming. When I look back at the years of a lifetime spent on learning programming, the hard way by teaching myself everything, I recall this is very challenging. But I never felt regret that I took this route since it's also rewarding at the same time. I enjoy the journey and would do it again without a doubt if I can make a choose another time. However, from time to time, I wonder, wouldn't it be nice if there was someone who could guide me. Even if it just helps to move the progress forward say one year in the long run. Given how much money a software engineer can make in a year nowadays, it's tremendous. So far, I didn't find a mentor in my life, but yet I still came pretty far by myself. With the experience I gain in the two decades, I want to write a book I wish I had twenty years ago, for you, like me, who enjoys programming and thinks about dedicating their time pursuing to be not just one, but a great one. Brace yourself, it's going to be a rough road, but the view is going to be beautiful.