preface

This book was recommended by a friend before, but I haven’t read it. I think it is a very boring book. The whole book is not about programming at all. What the book says is all heresy stuff. That’s what I despise, a programmer who doesn’t code well and improve his code. It’s no use doing such nonsense all the time.


But in the last few months, I’ve been craving this book. I changed my job recently. I thought I jumped out of one pit, but I jumped into another. I wanted to jump away again, but I thought about jumping one more time.

I have worked for 5 years and experienced 3 companies, each of which is a pit. When you talk to your friends, what you have experienced is a pit, so there is no point in jumping around. Why don’t you study how to improve your other abilities and make more money? After all, you work to make money. Of course money is for a better life

Contents summary

The following chapters are divided according to the contents of the original book. Since the words of the original book are not refined, I summarize the contents in the following chapters according to the author’s point of view. (The division of the table of contents is really weird.)
Contents summary
This book doesn’t talk about code. It focuses on the development of software developers themselves, including career, mind, and physical health. The book can be roughly divided into the following parts: career, self-marketing, learning, productivity, financial management, fitness, spiritual and other seven, are closely related to “people” work. It aims to enhance human value




Chapter 1 Why is this book so different from anything you’ve read before



What makes a good software developer: Being a good software developer is not about being good at coding, bug solving and unit testing. A good software developer is someone who takes control of their career, reaches their goals, and enjoys life.
The first is a career chapter, which teaches you how to proactively manage your career so that you can achieve the results you seek
The second is self-marketing, how do you sell yourself
The third is learning, how to teach yourself, which is the most valuable skill of all, right
The fourth chapter is about productivity, how to improve their work efficiency
Part five is about money management. It teaches you the basics of money management and allows you to start planning for your financial future
Part six is fitness, which teaches you to lose fat and gain muscle and improve your physical fitness
Chapter seven is spiritual, real, practical advice for adjusting your emotional state and attitude


Soft Skills – Survival Guide Beyond Code ii

Soft Skills – Survival Guide Beyond Code 3 (Self-Study)

Soft Skills – Survival Guide Beyond Code 4 (Productivity)

Soft Skills – Survival Guide Beyond Code 5 (Finances)

Soft Skills – Survival Guide Beyond Code 6 (Fitness)

Soft Skills – Survival Guide Beyond Code 7 (Spirit)

1. The professional

One of the biggest mistakes software developers often make is to believe that they work for someone else, so they lose job security and that the drive for career advancement should come from within. The job belongs to the company, and career development belongs to you.


Personal comments: This article is very short, just say such a sentence. Indeed, it is also a reminder that I did not pay much attention to my career before, and I think that I need to master certain skills in the future. Careers do need to be considered.


2. Extraordinary

2.1 Embrace a business mindset

Software developers often think of software development as a business, and writing code is no different from moving bricks. We need to think of ourselves as a business, and that’s right, as a company, not as a wage earner.

2.3 Think like a business

  • Focus on the service you are providing and how to market it
  • Find ways to improve your services
  • Think about the specific types of customers and industries you can serve
  • Focus on becoming an expert


Personal comment: The same argument is that one should be a single-minded person, having a unique expertise in one area, rather than being a man of all trades.

3. What is the goal

Most software developers go through life without goals or working towards them. Most software developers are afraid of setting goals, both because they’re afraid to get them wrong and waste too much time, and because they’re afraid to limit themselves. Most people want to be able to make choices on the fly. We still had to have a goal.


3.1 How to set goals

First, set a big goal, not very specific, as long as a general direction is ok. Then set a course and break the big goal into smaller ones. Reward yourself when you achieve small goals, so that you will continue to be motivated


3.2 Track your goals

Goals are not set in stone, but need to be adjusted constantly. We need to check our goals regularly so that we can adjust them in time.


4. The contacts

The problem with most programmers is that they just want to write code in silence and do nothing else. This is not true, even as programmers we communicate with people most of the time. We write code for people to see. So it is necessary for us to improve our interpersonal skills.


4.1 How to deal with people



We are all self-centered when interacting with others, so keep this in mind when interacting with others. Try to put yourself in their shoes, don’t overrule your colleagues, avoid arguments, and never criticize others. Rewarding others is far more effective than punishing others, whether for colleagues or subordinates.


4.2 Avoiding arguments

Programmers like to think logically, but it’s not something everyone can introduce. For example, you call reason with your girlfriend, afraid she can’t understand, the voice is bigger. Then all the arguments turned into “How dare you yell at me”. I’m sure a lot of guys feel the same way. So when you’re arguing, think about whether your disagreement is worth defending, and if not, take a step back.


Of course, the forest is big what birds have, some people are really not to get along with, for these people. We also should not criticize others or make suggestions, as we will only get ourselves into more trouble. Stay away from him. Just don’t touch him. (This is the point of the book, with which I strongly agree)


5. The interview

When many techies are interviewing for the same job, technology isn’t the biggest determinant. It’s your ability to influence, network, etc. Most interviews are actually done before the interview.

5.1 How to Get a Job



  1. Find the company you want to work for
  2. Develop close relationships with people at the company
  3. Get a personal recommendation
  4. The interview


5.2 What should we do now

  1. Improve your technical skills and make sure your skills are above average among the same people.
  2. Build your own influence, such as blog forums open source libraries, and try to become a big V in a certain area.
  3. Expand your network and network with people from different companies in your field
  4. Get experience interviewing, even if it’s not for a job, sometimes.


Personal assessment: this point may be difficult for Chinese programmers, or not suitable for China’s national conditions. Chinese programmers tend to be introverted, not good at communicating with others and unwilling to waste time in social circles. May also have a lot to do with the working pressure of Chinese programmers. You Yuxi once said on Zhihu that Chinese programmers go to developer conferences, they just listen, then leave. He barely communicated with other attendees. The main purpose of the meeting is to get to know people in the same industry, not just a little bit of technology.


6. The employment

6.1 employees

Being an employee is the most common and default choice for programmers (and for everyone, really). The benefits are ease, responsibility is limited, and the path is clear. As the title of her song describes it, the future is almost predictable. The upside is stability, the downside is certainty of income, it’s not easy to get rich.


6.2 Independent consultants

I hadn’t heard of it when I was working, so MAYBE I didn’t. The equivalent of this occupation is freelancing. The benefits are no reporting, free hours, free to do whatever you want. The downside is income instability. Do good may go to all tender models, do not be good may overpass begging. Freelancing has a lot of potential to make money, but it’s all about personal skills. Skills are fundamental, but other skills are also important.


6.3 entrepreneurship

Starting a business is the most difficult and uncertain option with the most reporting potential. Complete freedom and complete unrestricted earning power. The disadvantage is that there is no income security and great pressure. It is ok for a person to start a business, but a group of people have to consider the problem of feeding a group of people. The ability requirements are enormous and require many other skills as well as long working hours


7. Become a professional

Many developers are afraid to specialize in one area, worrying that they won’t be able to find a job if they have a narrow vision. Specialization will shut you out of some doors, but it will open them much more often. There are fewer doors, but more openings.


7.1 Selecting a Major

There are many areas of expertise, such as the following:
  • Web development
  • Embedded system
  • An operating system such as ios or Android
  • Mobile development
  • Framework development
  • The software system


How to choose a major, many people do not know, if you do not know, you can consider from the following perspectives
  • Become an expert on the pain points of your job search
  • Look for areas where no one else is doing it or where there is a lack of expertise
  • Look for topics that come up most often in meetings or in the mouths of clients
  • What are the most common difficulties you encounter in your work or on your website




8. Companies are different from companies

  • Small companies: Small companies are focused on growth and profitability, and software developers may have to wear multiple hats, which is ideal for dynamic, energetic people who like to take on challenges.
  • Mid-sized companies: Mid-sized companies are the most stable of all and work at a slower pace. Suitable for those with slow pace and steady work
  • Large company: complete process and standard, training opportunities, stability. It must be bureaucratic and unfulfilling


The difference between an operating company and a technical company:
  • Operational companies: Developers are ignored (often blamed) and technology is slow to innovate.
  • Technology companies: Put more emphasis on cutting edge technologies and tools.


Personal comments: In China, most companies are pits, job-hopping we just jump from one pit to another pit. It’s just the pits are different.


9. The promotion

9.1 Taking Responsibility

One of the best ways to stand out in any company is to take on more responsibility. When money and responsibility are in conflict, responsibility tends to pay off more in the long run.


Personal considerations: many times we will face such a problem, is overtime, or the company gives us a low salary but too much work to do. The author suggests that we should take more responsibilities. I think the author’s idea is a little too idealistic. Taking on more responsibility is better in the long run, but only in the long run. If you want to stay at a company for 3/5 years or for life, it’s worth investing in. Many people around me usually jump once every 1-2 years, because the salary of job-hopping will double a lot, without doubling it can increase thousands, but in the original company to give you a few hundred will feel very right to you. The use of staff is also completely cheap labor, you want one person to do the work of four people. In this case, take the responsibility to move more bricks, I think it is not a wise move, will waste a lot of their baby’s learning time.
Add that responsibility is not the same as doing more, doing more things is actually sometimes a very silly thing, for example, when I do the page, some material design did not give and do not want to do, the product said to let me casually find the net. The next plot you should have guessed, is that THE picture I found was ridiculed a lot, the leader scolded down, but also have to carry the blame. So it’s important to understand that taking responsibility is not the same as doing more.


How can I take more responsibility for myself
  • Take charge of an underappreciated project (I don’t think this advice is comprehensive, but the correct interpretation is that if you are a junior, try to be a responsible person, even if the project is underappreciated).
  • Help new people in the team grow up quickly
  • Responsible for the documentation process of the company. And can ensure the timely update of the document
  • Take the initiative to do the work you don’t want to do and optimize.


9.2 Eye-catching

Many people spend years in the company being unknown. The author does not recommend that you be unknown, but conspicuous. (There are a lot of benefits to this, including a little snack for a promotion and a raise, and your boss will think of you)


How to make yourself stand out
  • Keep a daily log of your activities and send it to your manager
  • Provide presentations and training to the team
  • Speak up
  • Meet with leaders regularly to ensure “visibility”


Personal assessment: Actively expressing opinions can attract attention, but also often offend people. Will also be rated as “doing more” elements, Chinese are very face-oriented. And your advice is almost useless. So make your comments privately or in a more euphemistic way


9.3 self-study

Another great way to get promoted is to study. You can take training courses. When you don’t know what to do, you can rely on a certificate. And you can’t just study software development. You need to aim for a higher-level job. So you have to learn about leadership management and business.
Be willing to share what you learn. This will help you establish authority in your field and make you seem more valuable to the company. (Also can let oneself learn things, more profound grasp)


9.4 Be a problem solver

In our work, we will always encounter difficulties, and there are many people who tell you no. You need to be the person who can always provide solutions to problems. This will make it easier for you to get promoted.


Personal assessment: This is a bit idealistic, there are a lot of problems that can’t be solved, you have to do it alone for a long time, sometimes
Technical problems, mostly personnel problems.


9.5 About Politics

Every company has its own politics, and we should be wary of the political climate of the organization, and need to know who to avoid and never cross paths with


10. Become a professional

10.1 What is a Professional?

Professionals take their responsibilities and careers seriously, and are willing to make hard choices to do what they believe is right — often at great cost. Professionals can’t be great at everything, but they must be great at everything.
The difference between professional and layman
professionals
layman
Follow your own rules
Do what you’re told
Focus on getting the job done right
Focus on getting the job done
You’re not afraid to admit you’re wrong
He who knows nothing but pretends to know
A steady
Unpredictable, unreliable
Accept responsibility
To avoid responsibility


I really envy the foreign working atmosphere. These are all ideal. If you follow the authors’ criteria, you’ll probably earn another label as a professional — low emotional intelligence. If you want to be a professional, be tactful and learn to read people’s faces. Otherwise, your life will be miserable and what you want to do will remain mostly on paper and not be implemented in practice. There are times when we have to do something we know is wrong. Of course, we do not rule out that some leaders are very wise, but very few.


To be a professional, we must develop good habits, the most important of which is time management. The author recommends the Book The Power of Habit.


Being a professional is also about staying on the straight and narrow and having the courage to say no to your boss, even if it means getting fired.


To become a professional, you must constantly set high quality standards and strive for excellence. Meet difficulties to constantly improve themselves, meet the challenge, rather than lower standards.

11. How to quit

Resignation is a very simple thing, walk into the boss’s office to submit a resignation report. But this is not the recommended way.
First of all, you must have savings in the bank, because when you quit, you will be completely on your own.
Quit your job with a realistic plan. And make sure it succeeds, even with a big pay cut, to make the transition.


11.1 a sideline

The authors highly recommend starting the business you want to build in your spare time and switching to full-time only when the business is strong enough to make a living. The process can be long and arduous, but there are many benefits.
You never know how much work will be involved in working for yourself until you quit. But when you start your business as a side hustle, you have a rough idea of how much work you’re going to do each day.


11.2 Working hours

The author confesses that he is a good employee at all the companies he has worked for, but that he does not work hard for more than four hours a day. 8 hours a day, 1 hour for socializing, 2 hours for checking and responding to email, 2 hours for meetings, and 1 hour for chatting and surfing the Internet.


Working for yourself is not the same as working for someone else. Working for yourself requires a lot more effort and you need to fully adapt to the workload.


Personal evaluation: in fact, the author is too strict with himself, people can not really spend 8 hours a day all knocking code. You want to and your brain won’t let you. Responding to team building, emails, meetings, and requests are all part of the job, so don’t feel like you’re not doing productive work if you don’t code. And these non-intuitive time investment, will save a lot of time for the future, win more opportunities. Chatting on the Internet is not very good, but I think it is understandable, people also need to relax, also need to socialize.


12. Customer acquisition

The best way to get customers is through people you know. People who know you are more likely to trust you. Before you leave your job to start your own business, make sure that your time allocated for your side business is too full to take on other work. Because if you can’t fill in the time for a side job, chances are you won’t be able to fill in the time for a day job when you leave.


The best way to get customers is through engagement marketing, building your brand through blogging, writing books, doing shows and other means to get your customers to come to you (literally, to be famous). The only problem is that it takes a long time.


12.1 the charge



How much most freelancers underestimate how much they charge clients and how much they need to charge clients.
Freelancers don’t have to pay their own bills for electricity, computer equipment, Internet, etc. They still can’t guarantee a job every day. So make sure you charge a lot, at least twice what you would charge full-time.


Personal assessment: I don’t know about freelancing, but WHEN APPLYING for a job, I know that even if the company knows you have strong skills, they will still try their best to lower your salary, even to an unreasonable degree. This is unfair to people with low confidence. Once in the job, you may find that many people who are worse than you make more money than you do. So don’t be afraid to ask for a salary. At least 20%, 50% or double is ok.


How to get customers to accept your pricing?


You want to show the client that they can save a lot of money or dramatically improve their business based on your services.


13. Create a product

To find an audience, develop the product first, not develop the product and find an audience later. Because without an audience for your product, your product is likely to be a self-fulfilling thing that doesn’t bring you any revenue.
You can build your audience through blogs, presentations, videos, etc. You can also use crowdfunding to test the market. If you have a lot of support, build the product. If there are few people who are interested, drop the product and say thank you and apologize to those who supported you.


14. Entrepreneurial faith

In addition to having a good idea, it is more important to have the passion and drive to see it through.
There are two types of startups: 1. Companies looking for outside investment and 2


To start a company, you have to have an idea for the company, and usually the company has to have unique intellectual property that makes it impossible for larger competitors to copy what you’re doing. Good candidates are new technologies and methods that can be patented or protected.


For extra help in starting your own business, sign up for a startup accelerator. It’s a startup incubator.


14.1 Obtaining investment

Investment is generally divided into the following stages
  • Seed funding: Invested by angel investors (don’t get confused by the word angel, they invest to make money, and angels are usually individuals, not companies or teams)
  • Series A: When the seed money is burned out and the project is still operational, A series A investment can be made. The other side will inject a lot of money into the company in exchange for a large stake. After Series A, VCS may own more shares than you do.
  • Series N: Series A is usually followed by several rounds of investment until it becomes profitable or acquired.


15. Work remotely



15.1 Time Management

Working from home we are constantly distracted by things that seem to go on forever and we are faced with temptations. Because we must do a good job of time management. The more regular and appropriate the time management, the better.


15.2 Motivate yourself

When working in an office, we face the threat of being fired if we don’t do our job well. At home, we don’t have that kind of supervision, so the onus is on us to motivate ourselves and discipline ourselves. The book Drive is recommended.
Schedules and routines are very important when you’re tired. And eliminate distractions and temptations as much as possible.
When you don’t feel motivated, set yourself a small amount of time, such as 15 minutes, to work hard. Usually after about 15 minutes you’re back to work, so it’s not that hard.


15.3 loneliness

People are social animals, and working from home may be exciting at first, but after a while you’ll feel lonely and miserable and crave human contact. The cure is to get out and make sure you meet new people every week, as well as using tools to connect with others.


Personal assessment: People who have worked at home should know that home is not a place to work, and working at home may not solve a small problem for a whole day. Working from home is terrifyingly inefficient. My personal approach is to go out, to McDonald’s, to a bookstore, preferably to the office.


16. Pretend you can make it

As a programmer, there are going to be situations in your career that you can’t handle, and instead of backing away from them, you have to challenge them and pretend that you can succeed. We must mobilize our spiritual strength.
Pretending you can make it
  • It’s as if you already have the skills and talent to do something
  • It’s as if you’ve become the person you want to be
  • It’s like the battle is over, and you’ve won, because you know that persistence is victory.
  • It’s as if you’re at home in the path of skill


Inner power is very powerful. If you believe you can succeed, you can make your dreams come true.
It’s natural to feel fear, embarrassment, and excuses in the face of embarrassing situations and obstacles. But if you can overcome this tendency, you will feel no more than this in the face of all difficulties, and you will learn to fake success.


17. A resume

Resume is a brochure to sell yourself, so we must pay attention to, a good resume can make you worth twice.
How to make a good resume?
Since we don’t do resumes every day, there’s no need to learn how to do it. We can find someone who specializes in making resumes to help us create them.


18. Don’t get caught up in the technology craze

Please don’t get caught up in the cult of any one technology, each technology has its reasons. We don’t have to choose one over the others.


Personal comments: 1 to 18 are career chapters, which cover all aspects of career. After reading the book, I think I have the following key points: 1. Comb my own brand; 2. Improve your skills other than your major