YASSSP = Yet Another Seven Secret of Successful Programmers
- Love programming, problem solving, good "hacks", ideas that seemingly effortlessly get something done well, and read a lot of other people's code. Find the principles of aesthetics in all of this.
- Don't fixate to any one programming environment if you want to make a long-term living. You will need to learn many new programming languages and tools, some far worse than what you were used to. Ideally you pick you tools according to the problem at hand, but sometimes they are mandated by management.
- Don't be disproportionately good in any one thing, otherwise you will be kept doing it until the thing is obsolete and you're fired. Becoming a specialist tends to be a career-freezer. If you are the best a company has for something, learn also other skills.
- Have a healthy amount of cynicism. You should be loyal to your employer, but only to a reasonable limit, otherwise you will be exploited. For example, if the the company can pay dividends, it can also pay overtime compensation. Or, if the employer requests for your services after you have been fired, don't work for your prior hourly salary. Instead, require typical consulting fees, for example 100 e/h.
- But don't be malicious or extort your employer either. For example, don't leave deliberate bugs, trapdoors, or purposefully write unmaintainable code. Otherwise you risk not getting another project from them.
- Have a life outside of programming. Don't use your friends, spouse, or children as lightning rods, but let them take your mind off troubled times at work and have a chance to relax. Hobbies and physical exercise are good for this as well.
- Don't fixate on programming, since times are tough for programmers and will become tougher for some time. Very few programmers make a living comparable to upper management or similarly deeply skilled individuals in many other professions. Those programmers who have made money, have many other talents and insights in technology and business as well. The only chance to make a fortune by being predominantly a programmer, it seems, is to become an entrepeneur some years before a bubble, and take all the risks and other less nice things that come with it. So unless you're willing to go up the management ladder, at least consider having wealthy spouse or parents, some savings, or a second profession, such as plumbing.
The last rule may appear controversial, but its justified by noting that economic success often follows from taking some risks, and if you have a Plan B other than living on the street, you are better able to take risks.