My Opinion on getting started with software development.

Source: Internet
Author: User

1. Be steadfast
I accidentally saw the article "Advice for beginners-coming from the C # craze" on the Internet. one of them is that I agree to avoid "impetuous" and advocate "practical" learning methods, but I always feel that the author's title "-advice to beginners" is too great, so I think we can discuss some of the specific "operation methods" listed in this article, just like what we have accumulated in software development at a corporate summary meeting?" After chatting with colleagues for more than half an hour, one of them mentioned that I hope I can continue to refine this question, as soon as they entered the industry, they had more "operational" Guidance on how to develop. At that time, I told them that this was just my experience in this line for more than five years, it is too far away to talk about the "Guidelines", but we can discuss them.

2. Do not decode the code excessively.
Do not really think that "many masters of computer technology researchers do not understand programming", coding for software development is the most basic thing, you only have a solid grasp of this foundation before you can go up. Whether you do analysis, design, or project management, you need to be clear about how things are implemented? Can it be implemented? Otherwise, there will certainly be a lot of problems: "design is design, encoding is code", "products are implemented by code personnel from start to end", "How much time is required and how difficult it is, developers say "," Quality/Cost/progress are black box "... phenomenon, if you are encoding, the encoding is more important :). therefore, individuals who are interested in this industry (software development) must first begin with "focusing on coding. after this, we can consider system analysis and project management...
Each stage of software development is complementary, analysis is important, design is important, coding is important, and testing implementation also has its own position, the failure of any link is like the barrel theory we are familiar with. "The Weakest Link restricts its total capacity ".

3. Since encoding is important, how should we learn encoding?


4. Concentrate on learning a language
There are also a lot of languages you have used (typical stuff written in this language in the ARC), C (DOS version of the image/icon editing tool, according to the "Computer newspaper" for 96 years), c ++ (square games with custom block shapes are included in the attachment CD of software magazine for 99 years ), compilation (DOS Chinese character system, completed by the end of 97 years), Pb (School automatic course arrangement/examination module, 98 years), ASP (a Web-based enterprise information system, 99 years ), VB (Core Component of enterprise information system, 99 years), Delphi (workflow platform, Component GIS system, etc.), Java (collaborative implementation of Delphi client + J2EE server ),. net (rule engine), phh...
It seems that there are quite a few. Looking back, I think there is only one language that I really learned seriously, that is, "C". In the DOS era, tc2.0, I used it to write a large number of small programs, I have a systematic understanding of what programming is like. I remember how software was implemented when I saw it? What should I do if I want to implement it? It also imitates a lot of things, although mostly superficial imitation, but it is very good for the exercise of their own programming thinking. later, I used the help in other languages, and then looked for its DEMO code to see it, and soon it could enter the status.
The language is almost the same. The important thing is the "coding idea". With this idea, the language is just a tool, and it is similar to what tools are used for implementation, the formation of this idea requires "training", that is, "concentrate on using a language" to hone the training (or even require the "bit-and-Chew style "), then, you can use "one-way communication". Otherwise, you will not be able to learn any more languages on the surface. cannot be used for real development. cannot understand the meaning of "encoding.
For example, when I saw too many graduates who are proficient (or skilled) in any language during this year's recruitment interview, I used to give him or her a pen and let him or her) write a factorial function in the language you know best. You can see this question as simple as possible. Well, I will ask you how many methods can be implemented: loop, recursion... What else? How many types can you write? (The basic structure of the Code). How is the code quality? Are you sure you want to handle the error (too many people write code will enter an endless loop, for example, the input is a negative number )? What is the upper limit of Int? If the input value is large, is the result calculated? How can we implement this function that can calculate a large number ?... Look at the code he or she wrote and ask questions one by one. No matter what language you use, no matter how many languages you are "proficient" in, I only want to ask the basic things that need to be used to solve the problem, that is, the idea of coding ".
On the basis of learning a specific language, new things certainly need to be followed. Otherwise, it is difficult for you to "mix up" in this industry, but with the premise of "learning a specific language, it's easy for you to keep up with, rather than always "Catch Up "~ In the process of "specialized" a language, to solve the problem, you will find that "algorithms" are very important. This is what we will talk about next.
5. the basics are very important.
During interviews, I usually ask, How do I learn basic knowledge? The following are important questions: data structure, compilation principles, and database principles. as mentioned in the document "by": "assembly language", "windows programming" I will not ask. these are things that can be further learned, but they are not necessary for current development. I have never asked questions about software engineering. The theory and practice of teaching materials are too far away ~ Data structure is very important. Many codes that do not know the data structure are "very dry", and they often complicate the "simple problem" and even make it impossible to solve the problem. seriously Studying data structure and making more attempts to implement the algorithms in the language you are familiar with, you will find "the world is amazing "~ Do not think that you will not develop a "Programming Language" and do not need to learn the "Compilation Principle". The "Compilation Principle" contains many "wonderful" thinking cases for developing software, seriously understanding that you will surely be impressed by the solution to the problem, from which you will be able to experience a lot of things, which will be of great help for future software development (whether it is design or coding, there are many existing methods available in your project, and these are complementary to the data structure. based on these, you must read the design patterns book.
Many applications are inseparable from databases. In the end, you have to find a place to "manipulate, store, and analyze data". You have to know about the paradigm, locks, SQL, and flute, otherwise, you won't be able to get started, so you need to study database principles. it is far from enough to know a few SQL statements. How can we ensure data integrity and security? How to improve efficiency and so on all need these basic support ~ Of course, English is also the foundation. Reading English documents is really important, not only books, but also a lot of information on the Internet, forums... Don't be afraid when you look at it. After all, they are all well-educated. If you have learned English for so many years, you should at least use it. With these two tools: Kingsoft and Google.com, A word that you don't understand is "Translation". However, many terms or basic knowledge are not clearly explained by words. You can check relevant information with the search engine and remember one thing, you can read things that you don't understand several times, but remember for a while. Over time, you can understand more things.
6. Interest
The last thing you should talk about is interest. If you are really interested in it (if you are not interested in software development, cultivate your interest first ), I want others to watch martial arts novels and watch football matches, just like reading technical materials. I will cooperate with the above mentioned points (Be steadfast, be professional first, be broad, and have a solid foundation) I believe that something can be done in this line ~~



My Opinion on getting started with software development.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.