Not Only Money

来源:互联网 发布:落叶知冬是什么意思 编辑:程序博客网 时间:2024/05/16 06:34

 

Not Only Money

Wisdom Guo


Preface          

 

In this wonderful and increasingly competitive world, there are many various kinds of job, why do you prefer to choose Software development to as your career? What has you learned and gotten from the process of developing software?

 

Software development is a complicated process to control, which involved many sciences to keep the product high-qualified, high-performance, high-secure and low-risk. Since that, we would indeed take in or assimilate some useful and beneficial knowledge during we are developing the software system. There are some issues we maybe encounter when developing, which is just a variety of the issues we maybe met in our daily life.

 

In this article, it layouts that: what we should and can learn from the process of developing software

 

·        Not only money

·        Get away, exceptions!

·        Happy and sad

·        How to be man

·        Communication skill

 

Besides that, I append my personal experience and thinking into this article for FYI.

 

If you have any question, please don’t be hesitated to contact me.

 

 

                                                                                          Wisdom Guo

zhguo@ecwise.com

                                                                                    


What’s the software?

Software is the system which runs at the hardware of computer, and complete some given functionalities.

 

It can be categorized into two main kinds: operation system, application system. The former includes that Microsoft windows, Mac OS, and Linux, etc. the later one includes many various kinds of products, such as IM (instant message tool), CRM (client relationship management), and ERP (enterprise resource project) and so on. Actually, most of programmer is working at the later one, using Java, C#, etc.

 

Many people think that developing software only includes coding. It’s not true. It’s far from that. Coding is just small part of software development. It includes the process of development, the management of process. The process includes requirement analysis, design phrase, implement phrase (coding), and support phrase. Testing activity is made from requirement analysis to support phrase. And the management of the process includes that resource management, risk management, qualify management, etc.

See the following diagram:

software process

Diagarm1: the common process

 

 

 

Diagarm2: the common sections of software Management

 

Overall, Development software is not simply coding, and it is a complicated

Engineering which need to be managed carefully and is hard to be controlled very well.


Not Only Money

 

“Is the money the only thing you get from developing software?”, if you throw this question to anyone who have been working at software development, the answer to this will be irrefutably no.

 

  • ·        It can practice and enhance your logic ability.
  • ·        It can improve your English ability.
  • ·        It can consolidate our social ability.
  • ·        It can impact the way of your life more or less.
  • ·        It can teach us how to perform a good teamwork.

 

Logic ability

 

Undeniably, one programmer will encounter some problems; during he is working on developing. When you are facing a bug or issue during developing software and you are trying to solve it. Then you must think about how this happen? What causes it? Then you will follow the logic of the software to locate the bug or issue and exclude the causes which are never possible, and list the potential factors, and check it one by one, finally find the real factor(s). Then solve it.

 

After a long time, you will be smarter in logic gradually. Therefore you can fix the problem more quickly then before.

 

English ability

 

Since the program language is mostly written in English or English letter, the programmer must be familiar with English.  And besides that, most of software books are printed in English. So it forces people to learn English if they are indeed eager to grow to be an excellent programmer.

 

Communication skill

There are many different ways to communicate with someone else. Talking, diagram, words, and codes, are the tools of communication. As a teammate in a software team, it’s unavoidable that you must talk with some one else to get information or convey your idea. You should know information in software development is very important, maybe one message is very vital and costs a lot of money. So when you are trying to express something, you must make sure that the expression is clear and understandable to the listener. So communication skill is very import for one person who wants to be tenable in a software team.

 

So since you are indeed in a team, you will and must have a good communication skill. You have to talk with people everyday by IM tool, face to face, email, etc. Anyway, these are all the ways to improve your ability of communication.

 


The way of your life

After being one person who is working at software development so many years, the way of his life will be impacted definitely.

 

It is purported that it could pose some badness for people who are working a long time in software development. Every day, one programmer must deal with the computer. Gradually, he maybe becomes more and more unwilling to talk with people.

 

The above idea is not true. Since Software must be developed by a team, not a single man. So the communication among the teammates is inevitable. When this process is undergoing, the speaker must endeavor his best to make the audience to understand what he really wants to say, to convey.

See the following diagram:

Diagram 1: The common way of communication

John must do his best to convey his information to Tom, by talking directly, sending the relevant diagram, code file and so on. The worse case, Tom doesn’t understand what John’s trying to say, and says ‘I don’t understand, would you explain this again?’ So after trying and trying, John will be a better sender gradually. So the ability of communication will be improved day by day, since it is unavoidable in software team.

 

Meanwhile, in your daily life, when you want to convey something to somebody else, you will be also a good speaker or sender. You will get used to talk orderly and reasonably, so as to make yourself clear. However, when you are too careful of this, probably you will be too meticulous to convey even the receiver (listener) has understood your meaning. In that case, you will be somewhat loquacious in the eyes of receiver.

 

Another important point which will probably has a deep impact on the way of your daily life is that you are always thinking about all kinds of scenarios (including exceptions) you might encounter when you are planning to go some where and do some thing, such as traveling, taking a long time train, climbing a high mountain and buying some very costful things. When you are implementing a feature of software system, you will think about all the exceptions as possible as you can, so as to control all of them to keep the feature run correctly. Analogously in your daily life, let’s take the traveling as an example.

Case#1:

John who is an American and works at software development wants to go to the Everest Mountain with his wife to celebrate theirs 10years wedding anniversary. One week in advance, He makes a very complete and great plan to ensure everything will be fine. First, considering the security of them, he searches online the internet and records down police telephone number in China, and all the emergence telephone number; secondly, considering the reasonable travel route, he calculates the better route for this travel to save money and save time. Finally, he takes his credit cards in case the case he has taken is not enough.

 

Suddenly, he is wondering that if his credit card does work in China, if not, what he should do? Then he is going to check if his cards can work in China;

 

What’s more, he is thinking that if he should take an electric torch in case that it happens to power cut. Then he is going to get a torch into his luggage;

 

……

……

 

Case#2:

John who is an American and works at supermarket wants to go to the Everest Mountain with his wife to celebrate theirs 10years wedding anniversary. One week in advance, he is excited to this traveling. He searches online to check that how many locations they can visit. He takes the necessary stuff, clothes, money, and no torch, because he is positive to that case, and doesn’t consider the exception. Then at the weekend, he and his wife take the plane he has ordered to go to China!

 

In these two cases, you will see that the experience of software development indeed has an impact on your daily life. You are always considering all the exceptions you can get in mind, even if they are probably never got happened. In another way, once the exception’s happened, your plan will handle it, you will be fine because you have thought about this before it.


Team Work

Just like playing basketball, developing software also need teamwork.

 

No one can live alone forever. Every one needs friends and teammate to talk, to communicate. A good teammate will be very helpful for you to learn, to grow. And in this way, the expansion of your knowledge will be increased quickly.

 

Team, what’s it really? Our PM once tell us that: a team means that a lot of people stay together to learn from each other and to grow.

 

As long as every one in the team is trying his best for the same goal, they will find the way to success, and they will.

 

 

This is only my personal minds, any suggestion is welcome.

Thanks.

 

 

Wisdom Guo

 

                       

 

 

 
原创粉丝点击