Gizhigara (worked in foreign companies, listed companies, their own business failure, encountered a lot of failure, even sleeping on the street, but finally still survived), is a programmer for more than ten years, which introduced his relevant experience, as well as his experience, whether for the beginner programmer, Programmers who have worked for ten or eight years have a few lessons to learn. Here I also share some of the essence of this book with you, I hope to help you!
It is worth noting that the author in the book is a young man himself, who has worked in large enterprises for a long time before graduation (mainly.net development, and hunting for C and Java). He was able to undertake enterprise projects by himself three years ago, but he still encountered many setbacks later, mainly painful experience in entrepreneurship.
Through this book, you will see that even if you don’t have the talent to be A Steve Jobs or a Jack Ma, you can still achieve something and be a happy person.
(I) A project experience three years ago
The author helped his company with a government project, but due to his lack of experience, the price was very low, and there were many details that he didn’t talk about at the beginning. Later, it was like receiving very little money to do a relatively complete project for the government. My experience in this section is: Programmers generally should not talk to clients directly about projects. They should talk to professionals who can turn a 100,000 project into 500,000 or more.
(2) In 2005, I set up my first software business, which cost 300,000 yuan and wasted two years
-
Lesson 1. We have technology, but no customers and no products. We rely on passion for entrepreneurship and love for software industry!
-
Lesson 2. The team was unstable, and the system was not perfect enough for various expenses, miscellaneous expenses, water and electricity supply, rental fees and equipment fees, and the cost was not well controlled.
-
Lesson 3. Their hard training of technical personnel, by the customer three or two will go! Ideological work of personnel should be done well.
-
Lesson 4. Do not turn over your financial resources to others, even acquaintances. The likelihood finally business failure, oneself a money all can’t get!
-
Lesson 5 do the company is not to do technology, more is to be a person, I am not in place to do the company will fail!
-
Lesson 6. Problems in entrepreneurship: (1) Why do I want to start a business (2) Am I a person with management mind (3) How to judge a project is a good project (4) Financial budget and control (5) how to partner with others (6) To position oneself (7) In fact, starting a business can not change a failed worker (8) understanding of the industry, (9) Be careful not to harm others; (10) Rely on others to buy and sell is the most unreliable; (11) chance and inevitable probability…
(three) deliver resume please empathy and front page design is more valuable than background implementation
-
- A resume should be well-informed and well-formatted.
-
- Foreground design foreground design is art, this is not so easy to learn, the more in the future to write the program will be more worthless, the design will be relatively valuable. Program is technology, design is art. Technology can be mass produced, but art cannot be mass produced.
(4) Team working atmosphere is very important, without a good atmosphere can not produce good products and projects
A development team, software company need to have a good atmosphere, everyone’s heart is stable, everyone is methodically busy with the actual work of things, every day a little bit of results, we usually work happy, step by step development. Organized projects, customer satisfaction, timely collection, this is the survival and development of software companies. If the software is not good, the software company is certainly not open!
(5) What are programmers in their late 20s usually busy with? Want to what? What are your future plans?
Everyone always have to find a direction for themselves, everyone needs to have a faith, without faith, alive is boring, boring, feel no look forward to. The author is more like to do the technical kind, can do the 50 or 60 year old kind, and has seen older programmers!
1. I like technology and often learn. I need to keep improving or I will easily fall behind. Read some technical books, management also read, after all, it is very likely to be on this road. 3. Care more about worldly affairs, contact friends, colleagues, relatives, and strive to build a harmonious society! In fact, because the network is more important than technology! 4. Communication skills are very important, and writing skills are also needed. There will be communication in all aspects of report writing, after all, technical skills are not low. 5. Participate in part of the company’s sales work, and do technical sales is also very important, and let customers know that our company’s technical ability is very strong. 6. The core part, common component part, key part, standard style part and standard framework part of the software system are the core of the software system, which cannot be expected to be completed by novices. 7. Coding isn’t just something you do in your 20s. You can go the management route, or you can stick to the technical route. 8. Life is not only a temporary existence but also poetry and distance!
(six) you want to have big customers, to have good economic benefits of customers, you earn poor money is very difficult.
Quit also don’t become the enemy, a happy departure, there will be cooperation opportunities in the future, perhaps also a great opportunity. You have to have strong technology, let customers believe you, feel that you are an expert in this matter, let you do it right, you have to always make their own technology beyond the level of ordinary people. Attracting customers requires a process. Only when small things are done well can people trust you to do big things. It is impossible to reach the sky at one go. Don’t do too cheap labor, that is breaking the market, respect yourself respect others, free to others can of course, but if you do that, IT is even less valuable. The opportunity to make money is not every day every year, to learn to seize the opportunity, missed the village would not have this shop. Big projects are compared, not just given to you, the price is not arbitrary, the money earned by others is not floating down the world, you need to beat your competitors, in order to get the opportunity.
(7) Go astray and turn behind closed doors. NET crazy framework experience sharing
There are plenty of good things, depending on how you look at them. Just like the 1 gigabyte of C# files I downloaded, there is a lot of e-waste and it is hard to extract anything from the new technology. Because you never keep up with The Times. Your accumulation will also become your burden, unless you have amazing perseverance, constantly improve your accumulation, then at least you will not play games for several years, save time to refine it, or the company pays you to burn, can burn it. Not new technology comes out, your previous accumulation toppled, unless your previous accumulation is not able to withstand the test, otherwise it will not be toppled, new technology is just icing on the cake. The overall development of software will not easily happen big changes, you need to constantly absorb new technology, understand the advantages and positioning of new technology, and then need to digest the new technology, use their own overall framework.
(viii) Experience of software projects in recent years
1. My experience in software outsourcing tells me that software requires crowd tactics and a lot of physical labor rather than mental labor
2. The dominant idea of our TECHNICAL VICE president is how to deal with the changing needs of customers? Customer needs have changed, which is not a bad thing. Let the customer fill in the change form, and give the change of workload to the customer for confirmation. Isn’t a job just a little work and a little project? What’s different is that the project is getting more work and more money, which is not a bad thing.
3. What if my own dominant mind wants to make more money? Go straight to the higher-ups. What are you gonna do? How much do you want? How long does it take? What’s in it for the company? All talked clear, the boss will also allow, everyone is good, are affecting their mood, can not work well.
4. The fact that has been happening around me tells me that a good communication with leaders and a good report are dozens of times better than hard work! Don’t always bury your head in the grunt work, no one knows how hard you are, timely report to the leadership communication.
5. What if the business manager I admire tells me that I can’t finish the work? The stupidest thing to do is to pull an all-nighter, attack for a few days, then work your ass off, and still fail to finish on time and burn out. In fact, can not finish the work on time, at this time to analyze the reason for the delay, find the superior explain the reason, let them recognize your reason. Then arrange the next work reasonably and do it one by one methodically.
6. My own N years of work experience shows that why do software so tired? Because the software is a fine job, not perfunctory to deal with can, need a line of code to write out, can’t think of chaos, also can’t cut corners. No matter it is too theoretical or too idealized, there must be a dominant idea guiding practice by theory, otherwise it will not work.
9. Don’t give yourself too many excuses. Excuses are endless
Work to have strength, not always endless excuses, everyone can give their own weave a beautiful excuse reason, it sounds so reasonable, in fact, the reason is to make up their own, their own to their own set.
(ten) work and entrepreneurship different mentality of the past few years to work for people, I feel really happy, every month no matter how good business, no matter whether customers give money, the boss will give me wages on time, card rich, don’t worry about eating don’t worry about drinking, really happy. If you don’t start a company, you don’t know how hard it is to make money. If you don’t become a boss, you don’t know how high you pay your employees. Do not think that you can earn more money than working for your own business, I have seen many friends, their own business is very hard, but their work can easily get more than 10K salary, but they insist on starting their own business, must jump into the pit of fire.
(11) IT entrepreneurship technology is good, strategic positioning is not good, may still die very miserably.
You may have a good idea of starting a business, and you feel that starting a business with this idea will cost less, have a low risk and have a high probability of success. You will discuss your idea with your good friend, explain your business model and business philosophy to your good friend, and even take him to visit your company to feel your success. You may be making a bad decision, and your friend, who is not a vegetarian, will copy you and steal your business and opportunities. I think my accumulation is ok, also made the casino billing software. My old partner stole my work and sold dozens of them. Your achievements are easy to be stolen, you have to learn to protect your work, your work may not bring you any economic benefits, sure to bring more economic benefits to your enemies.
1. The first step in starting a business is to understand what you can do to make money that others don’t know or have yet to grasp. You write a good program, you write a good project, it doesn’t matter! There are a lot of good programmers all over the country. What are your efforts, more useless, the world efforts of many people to go! 2. Surrounded by monsters, monsters, people who want to drain your blood, people who want to follow you or take a bite out of you. 3. Don’t start a business with money and technology. Either burn someone else’s money or someone else’s technology. You’re out. It’s risky, it’s stressful, and you don’t even have the energy to beat the market. 4. You want to work with someone better than you are, someone you can learn from, not someone you can give to. You have nothing to lose by working with people who are better than you. If you start a business, playing with people is more important than doing projects and work. 6. When you’re done, you can start your own business. If you give an employee 1%, he’ll be happy. You can even raise money by selling shares to employees.
(12) Why do we always have to be tortured to death every time we do a project software
1. Software is a huge project, unlike building a small house, which can be seen and touched, software is an invisible huge project, so a decent project, generally not so easy to get done. 2. Customers’ needs change, and we have to toss and turn with them, without a very definite functional requirement. 3. Our technology is not good, the quality of the code is not good, confused, to deal with to deal with, our code can not withstand the customer’s toss, not toss a few times, may be killed by the customer’s demand! 4. Customers’ demands are endless without a clear scope. In fact, the scope of customers’ demands should be limited to a specific scope, and the work should be carried out within this clear scope. 5. Maybe we don’t have a mature development framework, so everyone is fumbling and every project is fumbling, which is a waste of human, material and financial resources. 6. We don’t have a strict idea of division of labor and demarcation, which functions should be done in which modules, which functions should be implemented in which modules, which functions should be done in the foreground, which functions should be done in the background, which may be confused. 7. We have been pursuing “just enough”, which has led to our programs not working well. There are too many bugs and mistakes to focus on the client’s business. 8. The company has nothing to accumulate. Everything has to be started over again. 9. Project team members, who are in charge of several projects at the same time, cannot concentrate on a single project, which is only half-finished and a nightmare! 10. Pull a project, recruit a group of people, different gods, different ideas, different styles of doing things, different code writing, donkey lips can not be on the horse butt, can not coordinate well! 11. The boss doesn’t know the technology and thinks a few people can do it. No testing, no quality management, no requirements analysis. 12 software is not like other industries, is the need for each line of code carefully written, carefully considered, can not be blown out by blowing, need to elaborate preparation, finally out of the results, is not to buy, sell the past so simple! 13. Most of the company is the guy with high aspirations and low hands, usually talking about the east talking about the west, not practical work, do some illusory things, no one do practical work. 14. In the company, the cows that plow the fields are often disliked by their owners, while the dogs that bark are loved by their owners, who prefer dogs. But you need cows for this project, not barking dogs. 15. When the company atmosphere is bad, the mood will be bad, the pressure will increase, and the code volume will decrease.
(13) What is the minimum that a complete software project should pay attention to
- 1. Who brought in the project? How did you get this project? How much does the company pay for the business? If you are a salesman, how will your income be?
- 2. Who calls the shots? Who are the key players in this project? Who are the stakeholders in the project, and how do they contribute to the project?
- 3. How long will the project take? What functions are required? What is the ideal time limit for an account manager? What are the customer expectations?
- 4. How are the members of the project organized? How are people managed? How is the division of labor divided in the project?
- 5. What is the budget for the project? Who’s in charge of the budget? What is the planned duration?
- 6. How are errors in the general development of the project managed?
- 7. How did you solve the problems encountered in the project?
- 8. What technical framework is used in the project?
- 9. How is the technical layering in the project achieved?
- 10. How to deal with the problems in the later stage
- 11. How did the launch work
- 12. Are you excavating this customer or a similar project in the later stage?
Of course, there are many more valuable points that can be learned through the actual project process.
Learn to improve to be active, good faith to treat others, others will be good faith to treat us
In a certain bottleneck stage, we should learn to think of ways to improve themselves, whether to colleagues, friends, net friends, can exchange learning, it is best to find a period of time to face to face actual communication. And to be sincere, to have an interactive process, not just someone to teach you knowledge, you also have to exchange knowledge, so that people will be willing to.
(15) How to break the monthly salary barrier
IT software life, several sublimation of life:
- 1. Able to complete tasks and projects independently.
- 2. Excellent technology, rigorous thinking, sublimation once
- 3. Learn to work with others, work as a team, and sublimate for once.
- 4. Take it to the next level as a project manager.
- 5. Run a company and take it to the next level.
- Settle down, have your own home, and take it to the next level.
- 7. Get married and take it to the next level
- 8. Be a dad and raise your kids for once!
If the ability is not enough or to improve themselves, ability enough can be asked to the superior, or job-hopping will have salary promotion.
16. Quit gracefully and make everyone happy
Things to note when resigning:
1. Resignation needs to be agreed one month in advance, and it is best to have a written email to the relevant leaders. When resigning, it is better to tell the manager of the department first, not directly to the boss, management attaches great importance to not “exceed the level”. Before you quit, clear your desk and wrap up as much work as you can. 4. If you are job-hopping to a new employer, don’t be too hasty and wait as long as you can, because you still need to deal with a lot of things, such as your files, pension, provident fund and so on. And the standard unit to the initial departure of a unit of proof, so do not and a company. 5 at the end of the year do not resign easily, generally a lot of units have year-end bonus, generally how many will have some. 6. Do not have a bad relationship with your colleagues, because your resignation will lead to some things to wipe the ass of others, and some grudges, accumulated, not good, people always have some friends, if you get married or do something happy, you want to invite some friends for fun, but not a few. 7 need to have a Thanksgiving ♥, our technology, level, opportunity, and not by their own efforts, many from colleagues to learn, is the company to give the opportunity to improve our level. 8. In fact, the IT circle in a city is not large. IT is very likely that you will jump to the same company or your former colleague will jump to your company and become the department head. Therefore, we should pay attention not to offend colleagues, and do not think that a good horse will not be turned back. In fact, the world is also big, even small. 9. Some opportunities are provided by friends, former colleagues, and former clients, so cherish the present colleagues, friends, and clients. 10. Don’t bad-mouth your company. If your previous company was bad, it means you were bad too. 11. Even if you resign, you should learn to speak English. Thank the company for its cultivation, the department manager for his cultivation, and the relationship with your colleagues. If you say something nice, the company leaders will see you differently. Maybe you are not good in the new unit, and you can return to the original unit to work! In fact, the owners of these software companies also have a circle of friends and contacts with each other. When you move to another company, they will learn about your performance, personality and skill level in the previous organization through other channels. 13. I used to be an unsuccessful boss, and I also felt the pain of employee job-hopping. Obviously, the company had outsourcing relationship with the customer, but when I saw that the other company was more powerful than my own company, I would jump to the other company. How can you make money from your clients when your business is losing and all the employees you’ve trained are leaving for them? So to choose good and the desired effect is at the expense of others to benefit oneself or at the expense of others? It is better not to hurt either. Job-hopping can be a good thing on another level. (1) from the perspective of the company: this company is good, others are willing to dig the company’s employees, indicating that the trust of the company to cultivate the staff. (2) From the point of view of employees and colleagues, people with similar level to us can enter better companies and get higher salary, then we can get higher salary and have a better future when we have opportunities in the future. In general, the company is your springboard, is a step, you need to be a little grateful ♥. When you quit, have a meal with a close colleague in your department. 16 resignation from the derogatory sense of understanding is “to escape responsibility, escape from reality”, in fact, no matter which company mixed, are almost the same, we compete is technical ability, character, behavior. You do not mix in this company, to another company is also difficult to mix open. 17 resigned, although out of the sea of suffering, but is likely to enter another sea of suffering. People go, do not make a clean break, can maintain, it is best to continue to maintain, can transfer as far as possible handover. Previous work is your blood and sweat, don’t waste, can let posterity reuse, reuse as much as possible. To put it bluntly, it was your child, too, and you really had the heart to abandon your child? 18. Resigned from the original company, the provident fund, pension stopped paying, the last month’s salary is controversial, to the new company, and three months of probation 20% off. In fact, carefully calculate, this one to one, the gap is still relatively large, so give more than four or five hundred do not job-hopping. My rule was to give $2,000 or $3,000 more.
(17) an old programmer’s plan and goal for the next ten years
Nonsense not to say, put their goals listed, for everyone’s reference:
1. Now I have no time to pursue a master’s degree, and then I will consider whether to pursue a doctor’s degree. Whether it is part-time, or pay for further education are options. Otherwise it may be very bad to mix in the future, sweeping the floor are undergraduate. 2. I’m getting old, and IT’s time to think about marriage and kids. 3. Now I am a middle-level cadre in the company, and I will strive to reach the top level of the company through hard work, with a stable annual income of 300,000 to 500,000 yuan. It is no problem to support my family. 4. Shift your focus from technology to people. They are not playing with technology, but pay attention to technology and management, and pay attention to colleagues and customers around them. In terms of technology, colleagues also hope to keep up with the pace of development, not too far behind, at least know a little about everything. Combine work and rest. Health is the capital of revolution. We should not sacrifice ourselves for making money. Pay attention to rest and exercise at ordinary times, and try to avoid serious illness and minor illness. 7. When I get older, I’m not interested in picking up girls anymore. I have to do something I like, such as fishing or collecting. Kill time. 8. Become an expert in a particular area of management (certainly not in software development, which is too cheap, too competitive, and updates fast) 9. Open up a few strong partners, there is no need for too much, fine a few can. 10. Focus on areas of knowledge outside of pure software, such as industrial manufacturing, data acquisition, fingerprint systems, artificial intelligence. Also do not expect to go deep into the bottom, as long as master some integration experience and application it is ok, after all, technology has specialized, with the expert is not comparable.
How do I learn a development language
1. Different generations have different ways of learning. I did it the way I did at the time, because if I wanted to go to the library, I would look through any book, and if THERE were more illustrations, I would be inclined to buy the one. And graphic many, look not tired, but also can have a reference, even if there is no computer next to, also can roughly understand what meaning. I prefer books written by Taiwanese, almost full of pictures, few words, and the learning effect is often very good. Still have be, I buy the book of press of tsinghua university commonly, relative quality can be a bit better, it is press of people post and telegram next. 2 learning will also be easy to cause the situation of standing still, because when you read a few books before school, you learn a lot of things, then read a lot of books behind, the content will be similar, so you need to grasp it. Buying books by myself is a waste of money, so I usually borrow books from the library. 4. After work, my way of learning has changed. I often look at technical articles on the Internet. 5 in fact, do not be afraid to buy books waste, you can harvest the value of knowledge than you buy the value of the book is much higher, the premise is that you buy to read, or do not buy. Secondly, don’t buy books that have been out of date for a long time, because knowledge is updated quite quickly now.
19. I once wanted to learn a lot, but found that I could only concentrate on a few essential skills
1. The final product of the software industry is the product, which is constantly optimized in a certain field and optimized as long as you work. Of course, to have a keen insight, like a prophet to know what customers need in the future, will need what, then you are not far from success. 2. Which sword would win in a fight with 1000 poorly made knives? 1000 bad knives couldn’t beat a sword. 3. Ten years later, I found that many things, discarded discarded, backward backward, eliminated, but such a lightweight development tool library has been accompanied by my strong growth.
Programmer 12 o ‘clock, have you gone to bed
Here’s what I learned:
Staying up late at night and not being able to get up in the morning is a great pain. Morning drive, crowded car, because your spirit is not easy to have an accident, or be patronized by thieves. Your boss, colleagues and clients will give you a bad evaluation when they see that you are not focused on your work at ordinary times, and you will not be able to do good things in the future, which will affect your future. 3. As a result of not having a good rest at night, work efficiency will be very low, thinking will be very confused, should do things not carefully done, confused, confused day passed. 4. I wouldn’t introduce a pretty sister to a man who doesn’t work regularly, who is sloppy and doesn’t do anything right. If you don’t have a rest on time, it will probably affect your family. 6. You worked overtime in the evening and few people saw you working overtime, but you were late in the morning and all your colleagues saw that you were late. 7. When you are young, your body is like iron. When you are over 30 years old, it takes three or four days of pain to recover from overnight pain. If young, do not cherish, after the age of 30, what disease are found, the money may not be more than the cost of medicine. 8. Wake up too late in the morning, usually too late to wash your face and brush your teeth, hair did not pay attention to, image or good idea, can give others a good impression. Students, often stay up late can really affect your future, or take a break on time, unless it is critical.
(21) Being interviewed after the Spring Festival and interviewing others’ experiences
-
1. The authors in the interviewed books will send resumes to positions with about ten years of work experience. There will be interview notice, followed by the explanation of results, and the introduction of projects is indispensable. Basic is also able to post, but still chose a bit of stability of that.
-
* (1) Resume link ① Do not have too many job hopping units, there should always be a few stay for a long time in the company, otherwise it is difficult to have a high salary opportunity. ② Project experience do not write those naive learning projects, write a hundred are useless, a look is the entry to fool children’s projects. ③ The project experience should not be too false, working for only two years, ten projects, so possible ah? A quick look? What is the experience? ④ Write clearly the working years and expected salary. ① We are not studying high and new technology, we test your basic skills, although the interview questions are very simple, but need to write carefully, code should also write neatly. ② Simple topics will not do, difficult topics will not do, boring time or to turn over the basic grammar books, SQL books and so on. ④ I have never seen anyone who did badly in the written test but excelled in the real work. The colleague in my memory is good at his work and his written examination is not bad. * (3) Interview part 1 First of all, you should not have bad breath, no matter how poor you are, you can buy a gum to solve the problem. ② Bring a pen and paper for emergencies. If you have a good source code or project, bring it with you. ③ Do you make a good employee if you can’t show your love for programming? ⑤ It is understandable that the written test is not good, but almost no one can say that they are good at things, is not good. ⑥ Poor communication skills, or their ideas of expression is not clear, it is generally difficult to find a suitable job. So usually work to learn to communicate more, don’t talk to your colleague next to you, learn to talk directly sometimes bad things. ⑦ We prefer to hire those who are pleasing to the eye, stable, goal-oriented, resourceful, experienced and have proven track record. * (4) Boss link ① Although the first two passes basically will not have any problem, but also do not be too casual, the upper leadership more value the performance of spirit. ② Some details should also be noted: for example, knock on the door to enter, and don’t sit with your legs crossed. ③ Your boss will also care about your communication skills, career planning, values, knowledge, etc
(22) Want to improve your skills quickly? You need someone who can give you an in-depth review of your code
- 1. Most of our domestic programmers are not good at communication. Even if they are good at learning, their improvement is not obvious. Many people who have worked for five years are essentially the same as those who have worked for more than a year. This kind of mark time state, can let a person feel confused.
- 2. Most of us like to read technical articles, but we don’t like to put our own code out for communication, let the expert read. To put it bluntly, experts don’t even bother to see rookie code, so you have to beg to see it! Because the masters give you a critique, you know where the gap between your abilities and theirs is and what you haven’t noticed.
- 3. I remember when I started to work, others pointed out that SOME naming habits were not good, and some logical thinking judgments could be easier to write. At the beginning, I was a little resistant, but later, thinking about it, many of the most basic things have not done well, how can I be a good programmer? Until now I think, even a letter case is not properly, or the package name is not well designed, are very should not, very childish mistakes!
- 4. Characteristics of People who struggle to improve: (1) the arrogant, self-righteous programmer (2) listen to not into the opinions of others, always want to rob to tell his own point of view of a programmer (3) don’t care about others, closed-door study every day, and with the decade eight years to a successful project programmer – the world is very big, many of the problems that you are studying, others do is solved! (4) in the work, did not meet masters and masters, want to exchange and learn from each other no way, can only test the network to learn east to learn west, and then buy a few books to see, it is difficult to master the knowledge of the system programmers.
In general, adoption is often the most effective. Effective communication is at least five times better than your own efforts. In many cases, it takes less time to study someone else’s work than to do it yourself. Programmers don’t always boast, still need to write, but don’t neglect the importance of communication.
(23) What is the Japanese IT software little old man doing at the age of 60? What can we learn from him?
A lot of software developers seem to get lost after 30, and they can’t live without a management position at 30. I still remember meeting a 60-year-old IT man in Shanghai and seeing what he was doing: 1. He chose the architecture of the entire system. For example, the whole system is divided into several layers, with what development language mostly, of course, including the selection of database. 2. Which tripartite components should be used, such as reports, tripartite protocol processing software and display controls, and I have a deep understanding of them. 3. He wrote almost all the examples of the whole system. Not only did he choose the architecture, he chose the architecture, he made it run, and he wrote the sample program (everyone installed his way of writing programs) 4. Coding specifications, matters for attention, are drafted by him, and write very standard. 5. He did almost all the design documents, including the initial design of the page. He knows how many pages the whole system needs, and what functions each page needs, and it’s very specific, very detailed. 6. He is responsible for the detailed design of the database, including the name, type, default value of each table, each field, etc. 7. The old man is responsible for maintaining and updating all the problems in the project, especially the special treatment of the controls. 8. The old man was in charge of project acceptance, communication with customers, project schedule arrangement and follow-up, and cost calculation. Compared with such people, those 10, 8 years of old programmers, it is a piece of cake. Without 20 or 30 years of work experience, where to come so strong technical ability. But it is not easy to insist on learning technology for twenty or thirty years! Everyone as a reference!
(24) Technical personnel need to learn to behave first, in learning to do things, then can succeed. Make a name for yourself.
1. In fact, two people working on projects can not only experience the fun of work, but also learn from each other, which makes them feel more secure and less lonely. 2. It’s okay to fail a lot, as long as you don’t let it beat you down. No hard lesson, no deep experience. 3. I always wanted to prove that I was the strongest with my strength. Think that if you bring out real strength, others should have to recognize your ability. In fact, competitive people tend to hit a brick wall when they first start working, and most of their colleagues hate them. Whatever we do, we should remember one thing. The first thing to get the recognition of the leadership, from the top down to the implementation of things, often with more smooth. 5. Some suggestions: (1) Suppress the aggressive mentality. (2) Don’t rush to do things, keep a low profile and then keep a low profile. (3) Don’t immediately communicate with your colleagues when you encounter something. Try to think clearly and try a feasible way first. Don’t waste a lot of their time.
(25) Programmers looking for a wife — some thoughts triggered by dating shows
To put it simply, it is not easy for a programmer to find a wife in a big city! When you get older, programmers often go on blind dates. Disadvantages of blind date:
One aspect of temperament is not cheerful enough, interest is not extensive enough, material advantage is not big. And I don’t spend much time with my wife. Remember to see if you are the One, a fragment, a blind date man said I was a PHP programmer, and then the field of lights, immediately out of a large, like machine gun, host are a face meng force. This is funny, but it is worth us programmers ponder!
(26) Why don’t regular companies employ these people with high technical level? In fact, the company is hoping to come are big, but also to the right.
※ It is not easy to be hired:
1. The more standardized a large company is, the less likely it is to hire more people. Because the people who come out of big companies generally only know part of the limited work, the comprehensive strength is relatively weak. 2. People who come from more standardized big companies often don’t like to do everything by themselves and are used to doing single jobs. 3. The bigger the company, the higher the salary requirement. 4. The bigger the company, the higher the qualifications, vision, management is difficult, how you command people may not listen to. After all, a person’s power is usually limited, even if such a big bull is recruited, he may not be able to make great achievements in a short time. 6. Many so-called bullies are empty-handed bullies. ★ Easy to be hired:
7. At least two years working experience. Intern is very torture, learn bad, the company does not want, learn good, and it is very likely to jump ship soon! 8. Worked on several decent projects and had a demonstration of actual work on hand. A lot of times companies don’t want your code, they want your ability to do the job. 9. Good written test scores, rigorous thinking, good program writing, database SQL statements are also written in a strong organization. 10. The closer the industry development experience, the better. 11. Bachelor’s degree. 12. Reasonable salary requirements. 13. Not necessarily handsome, but should not affect the image of the company, looking clean and tidy. 14. Experienced a complete project cycle, from the beginning to the end of the project, can not only write code, but also write some relevant documents, have certain design ability, have certain communication skills. 15. Willing to work hard and disorganized at times. Level almost, teach more, study hard can also improve. In fact, programmers only have a small salary, and they don’t expect you to make any amazing technology at the beginning. Of course, later development depends on individual circumstances.
Effective communication skills are more important than technical skills for ordinary employees
It is reflected in the following points:
1. Some difficult things are difficult to deal with, and they do not tell their leaders. Do not ask colleagues, do not ask technical leaders, just their own research, several days also do not do well. In fact, open your mouth, you have nothing idle lonely master will be willing to show a hand for you. These people have been there, they have a lot of experience. 2. The program module is written, but also do not talk to the leader. Write it and then study a new technology, or watch the news, etc. In fact, your program may have many unknown problems, or to modify the logic. 3. Modified the program without telling the team members. You can change whatever you want. This makes code maintenance difficult. 4. Fix the Bug without telling the boss. The testers did not know, and the modified annotations were not added… 5. Don’t tell your boss when you can’t finish your task. I do not know whether it is due to face problems, or to pat others on their ability is not good, in short, a lot of work can not be completed on time, and do not tell the leader about it. In fact, the task can not be completed is also occasionally, it is necessary to say in advance, so that the leader has a full consideration, reassign some tasks to others to complete some, so as not to delay the progress of the project. Failing to meet a deadline is not a big mistake. Failing to report on time is a big mistake. 6. Technology is not good, you can learn, you can imitate, you can copy to modify. But poor communication skills, sometimes a day or two can be changed. This requires you to pay more attention to effective communication skills.
(28) Feel the joy of life from code quality inspection
Because there is no code to check this step, it is likely that the final error will be magnified many times. There’s no code review, it costs testers time, it costs leaders time, and you end up having to change some features that you don’t even remember! It takes some time to clear your head! So it’s very necessary to check your code, to treat your code as your own child, would you like your child, born deformed?
A few reference points for code review:
1. There should be a more feasible coding specification, so that we can standardize everyone uniformly, otherwise I don’t know who is in charge. 2. Everyone should have a consensus, there is a good atmosphere of code quality mutual check, everyone consciously check each other. 3. Procedures are like people. Whether a program has bugs is the same as whether a person is good or not. The code I write is the quality of my person. Do not tolerate flaws in code programs. 4. Have a strong sense of responsibility. My software has a problem, where can I leave work on time, peace of mind life? 5. Checking code also requires a high level of sophistication, not just awareness. The ability to check code can also be improved! 6. It’s important to work alone, but it’s even more important to work together.
(29) On the stubborn way of thinking of certain programs
Here are some examples of stubborn programmer thinking:
1. No design documentationCopy the code
** Many people think design documents are a waste of time.
Actually, it’s better to have a design document. It’s like there are blueprints, there are models… The design of the program always logical page bar, there are necessary remarks. If a software, even decent design documents do not have, how to upgrade, how to improve? Design documents are also a kind of exercise of their own ideas, whether it is the use of tools, or the actual design…
2. Refuse refactoringCopy the code
There was a lot of misnamed, overlapping and misplaced code, much of which only the parties knew. Many people think that the process is stable, no problems can be, but the later maintenance? Sometimes hard or their own ah.
3. Reject current approaches and frameworksCopy the code
In fact, is afraid of learning, generally speaking, the new things have its value, the old things will be slowly replaced. For example, corresponding programming is all the rage these days. Listen to people with more experience and ability than you.
(30) Typical domestic small project experience sharing
Several typical characteristics of domestic projects:
1. The project is temporary and needs to be developed suddenly. 2. The project duration is short, only two or three months in total. 3. Project staff gets big and developer staff is unstable. 4. There are only a few project members, sometimes two, sometimes one.
(31) Questions to consider before starting your own business
Some people are not calm and blindly embark on the road of entrepreneurship. After starting their own business, they will not say that they are hard to do business, and they will encounter many problems of survival, capital, human resources, sustainable development and so on.
Here are some things to be careful about starting a business:
1. When one is working on a project at the same time, one’s energy will be concentrated and efficiency will be high. However, when several projects are completed at the same time, people’s energy will be scattered, and they are often in a superficial state, unable to give a strong push to the project. 2. Do your own thing and do other people’s things realm is completely different, often work for you or work with you, not so hard, do not expect too much. 3. The possibility of project personnel change is very high, and the development cycle is relatively long. And even if they do not change, it is very likely that the customer will change, the risk coefficient of the whole project is relatively large. 4. When starting a business, it is often difficult to take the product route, and most of them take the project route. The individual needs and business needs of each project vary greatly, and the labor achievements of the previous project cannot be fully utilized. 5. For sustainability, it’s time consuming and distracting to work on one project while working on the next. 6. If a project is not carried out by itself, it is often difficult to control its standardization and rigor. It is easy to get into a mess, and it will cost a lot of energy and time to clean up the mess. 7. A company also has a lot of expenses such as rent, office costs, daily operating costs, entertainment expenses, travel expenses and so on. 8. It will likely be difficult to win several wars simultaneously in different cities and industries. 9. Taking on a project is easy, but having projects every day is not so easy. Building a customer who trusts you is harder than stealing someone else’s. It is very normal to spend tens of thousands of dollars all of a sudden in the process of starting a business, and it is possible to toss about a few times on the deficit. Especially for software developers without a clear product direction, entrepreneurship should be cautious.
32. Feel the power of pair programming
It’s two people programming.
A person encountered a certain stage of programming will inevitably be lax, and the train of thought is relatively narrow. Two programmers can communicate, discuss and recognize their work together, and it won’t be so boring. And two people together programming, no one is embarrassed to be lazy, code inspection rate is also high, the probability of error will be much lower.
Experienced the power of pair programming, good, worth promoting.
(33) What mentality should be used to treat bad programmers
I’ve had a lot of bad programmers over the years. In fact, the number of people who are writing programs is about one-third of the average IT company, and two-thirds of them are not qualified to be programmers. And some of them are worse.
To reduce the number of programmers, consider the following: 1. When hiring, be sure to read resumes carefully, verify their authenticity, and try to avoid hiring bad programmers into your company. 2. There must be a written test for recruitment. The written test can be not difficult, depending on how basic skills, expression ability can, qualified programming ability on the line. 3. Try not to call the shots and do as many interviews as possible. 4. Make sure you have a probationary period, and extend the probationary period if you’re a bad programmer. 5. If a programmer sucks, report it to your boss. Better long pain than short pain. 6. Bad programmers write bad code, and post-maintenance improvements are a never-ending pain. 7. Bad programmers are disorganized. And can train an unreliable person into a reliable person, need to meet a master, if not this ability or let others to cultivate it. 8. When it comes to unreliable programmers, politely advise them to work in other industries. 9. Generally speaking, unreliable programmers have nothing to do with education or years of work.
(34) Domestic IT business is difficult to do, want to survive and develop we still have to think about, where is the way out?
The price of domestic projects has been very low, and some companies do business at a loss regardless of cost, leading to the current domestic project business is very difficult to do. Too many people buy cheap and sell cheap.
I hope that the cruel competitive environment of China’s IT industry can pour cold water on those developers who want to start their own businesses. If they do not accumulate, they should feel at ease and work hard, and their quality of life will be better.
Is management more important than work?
Used to individual heroism, now more focus on teamwork. Of course, valuing teamwork from the bottom of your heart is not the same as paying lip service to it.
1. Our country probably has more developers than the United States, but the management level is not as good as others, no matter how hard we work, we still can not do as well as others, because of the lack of core management. 2. Although our country lacks excellent talents, relatively excellent developers are not hard to find. 3. It is very challenging to be able to lead and command a large team. How many of us can manage a company like Microsoft, Oracle or Google? As a programmer who has tested for more than ten years, I have also found that what we lack is not ordinary developers, but people with management ability. China’s IT industry is not bad programmers, not money, but elite management talent.
(36) It is recommended to do the project alone. It is also recommended to use version management
Benefits of project management: 1. Sometimes due to operational errors, the program is covered and the original correct code cannot be found, which will be very hard. 2. If your peers see you writing code all by yourself using version management software, they’ll think you’re a professional and it’ll be easier to direct people in the future. 3. If you need someone else to change your code, and you’ve been using version manager for a long time, it’s easier and more efficient to add a few people to the mix. So it’s important to keep the code well. You should always upload your code to your own server, or to a company-designated server, and save it on a portable hard drive or other device from time to time.
(37) Why didn’t companies in the past outsource projects
1. Nowadays, many businesses are not honest enough and do not abide by the contract. In the process of outsourcing, they often adopt the strategy of poaching. 2. When confronted with a shameless, powerful client, he will ask for your staff. 3. In the process of outsourcing, there will often be employee dimission. At this time, new employees should be added and the project should be straightened out again. 4. In the process of outsourcing, many technologies and practices will be learned by the customers. After the customers learn by themselves, there will be few continuous cooperation, or the price will be very low in the next cooperation. 5. Although outsourcing projects can make small profits, they cannot make long-term profits. Because the copyright of successful things is the customer, not the development company.
(38) Personal experience of banking projects in Beijing
Conclusion: 1. Banking projects have high requirements for software security, and the sending and receiving of information need to be guaranteed. 2. Multiple passwords are required to ensure system security. For example, you need a password for login, a password for digital signature, and a password for transaction. 3. All data must be digitally signed. Public and private keys are used for asymmetric signature verification to ensure data security. 4. All forms, data, and buttons need to have strict permission management control. 5. Other…
(39) Several good working habits developed in the past few years
1. Do things in a planned way, not foolhardy or reckless. For example, make a list of all the things that need to be done, and tick them off as you get them done. 2. If there is nothing to do, tell the leader that the things arranged by the leader have been done and report to the leader in time. It is not easy to do this. 3. Record what you did every day, review it every week, and occasionally review it. What you did before, whether it was funny or not, whether you did the right thing. 4. Usually advocate “standing meeting”, we need to solve the problem, what has been done, what to do next, don’t talk endlessly. It saves time to have meetings standing up. 5. Try to use telephone + email to communicate, telephone communication is timely and effective, email has a basis, can leave traces and evidence. 6. At least read Programmer magazine, CSDN, Blog Park, and 51CTO to keep abreast of what’s going on in the industry before you become a frog in the well. 7. Usually pay more attention to accumulation, do not duplicate work, do not blindly work, try to reuse their own work. 8 just to make money to toss, not profitable things, do not toss, people’s energy is limited, toss and toss will waste a lot of time and money. If you have these traits, it’s easy to become managerial.
(40) It should be the privilege of my career to personally build software for thousands of people and large data volumes
General enterprise information management system, more than 20 people can sell the price of 200,000, of course, if the business negotiation is good can sell a higher price.
The hardest thing about doing a big project is convincing people that you can handle a high-concurrency, high-stress system. It’s not about connections or money. It’s about years of experience and proof that you can handle it, and that you can fix it immediately if things go wrong.
So what do you need to watch out for in big projects?
1. First of all, we need very good broadband. If we want to support tens of thousands of people to input data at the same time, we need at least 10M. 2. You need to have a great Web server and a great database server. Need to input more than 10 million data, preferably using Oracle database, stand the test of some. 3. Appropriate cache optimization policies are required. Not all data depends on database access, but use caching strategies as much as possible. 4. You need a foolproof database access layer. A bad database access component, or an unstable data access component, can easily cause the system to crash. If it takes up too much memory, it can also cause the system to crash. 5. Need to optimize paging access to data, as there may be 10 million or more pieces of data. If paging is not done well, it can also crash the system. If tens of thousands of people were querying a page of data at the same time, or at a similar time, the system would really crash. Paging access needs to be extreme. 6. Database index optimization is required. The performance difference with and without indexes is sometimes 100 times, sometimes 1000 times or more. 7. Rigorous and efficient database transaction processing. Because of high concurrency, and some data needs to be written to multiple tables at the same time, database consistency needs to be ensured. 8. Record all system operation logs and exception information. When the system is faulty, you can quickly rectify the fault. 9. The indicators of the system need to be checked frequently. For example, each service memory usage, CPU usage, network broadband usage. If the server is under pressure, load balancing should be done immediately. If the network broadband is insufficient, it needs to be added immediately. Do not wait for the system to crash to do these things. 10.HTML, JS, etc. can be considered in compression mode transmission, so that the network transmission efficiency will be higher. Other…
Mutual encouragement: Every time I see the scene of the disabled, I will have some feelings. When I saw two disabled people communicating with each other on the bus today, I was deeply touched. I couldn’t help thinking: I have hands and feet, why don’t I bloom more colors? I can’t regret when I lose something precious. In short, don’t let yourself regret later.