-
Software development, which development language do you want to learn?
-
If you can't think of it, then let's write first, why do you want to learn software development, and what do you use it for?
Are you involved in software development?
So what industry is software development in which industry? Banking, Internet industry, mobile Internet industry, communication industry, enterprise software ......The requirements are somewhat different for each industry.
If you don't know where your destination is, it's hard for others to give good advice, or you'll get lots and lots of advice without knowing how to make trade-offs and judgments.
Yes: 1. Think about what you want to do, for example, after 3 years (if it's too long, look at 1 year), what kind of state do you expect yourself to achieve? For example, can you get into the BAT for a developer with a medium salary, or mix in a senior developer in a small company?
2. You can first search for what requirements are needed to achieve this goal, in fact, it is very simple, search for the recruitment requirements of these companies or positions, and you will probably understand. However, it should be noted that in general, in order to reduce the pressure of screening resumes when recruiting, the general recruitment requirements are relatively complete or high, so you don't have to mind too much, just pay attention to what requirements are in them.
3. Have a general idea of these requirements or skill levels, how much time and money it will take to achieve them, and how difficult it will be.
4. If you feel the previous information almost, it's time to come out and ask the masters, ask everyone, if you start from these angles, if you want to achieve your goals in 3 years (or 1 year), is it a reasonable expectation, and then adjust your plan or expectation according to everyone's feedback.
5. According to the plan that has been compared to a bit of a spectrum, search or ask the masters, whether there is a learning experience that can be shared, not to copy a shortcut (technical things, there is no shortcut to copy), but to avoid detours.
Of course, all learning is not as fast and good as working with a master, but there is one point, since people are masters, why should they work with you? If you can figure this out, it's pretty much it.
-
Self-study steps of software development: Self-learners need to understand the process of software development before purchasing relevant books and online courses. Since software development involves a lot of professional knowledge, such as software requirements analysis, module design, coding and debugging, etc., learners need some guidance, and it is recommended that self-learners purchase relevant online courses.
Software development process: The software development process is the general process of software design ideas and methods, including the first demand analysis of the software, the design of the software function and the implementation of the algorithm and method, the overall structure design of the software and the module design, coding and debugging, program joint debugging and testing, as well as writing, submission of a series of operations to meet customer needs and solve customer problems, if there is a higher demand, the software needs to be maintained, upgraded, scrapped.
How to conduct a needs analysis.
1.The relevant system analyst has a preliminary understanding of the requirements from the user, and then uses the relevant tool software to list the major functional modules of the system to be developed, and what are the small functional modules of each large functional module.
2.The system analyst has an in-depth understanding and analysis of the requirements, and uses word or related tools to make a document of the functional requirements of the document system according to their own experience and needs. This document will clearly list the general functional modules of the system, what are the small functional modules of the large functional modules, and also list the relevant interfaces and interface functions.
3.The system analyst reconfirms the requirements to the user.
-
1. First of all, if you can, it is not recommended to learn alone, and if you have money, you still have to sign up for a training class. It can be much faster with a teacher's guidance.
3. Look around to see if there are any colleagues or friends who are doing development, and ask them to give you advice. Asking them to tell you what to focus on can be more efficient.
Only what you are interested in can you do wholeheartedly, you have to like it, otherwise you learn what it does, and I personally think this is very important. Then you have to have self-confidence, you have to believe that you have the ability to learn well, if you think that you can't learn well, and always feel that this is not good, that is not good, then you really can't learn well.
-
1. Foundation. This is the starting point for every developer. The developer has just learned a language, such as C, learned basic data structures and algorithms, and consolidated the knowledge with some exercises.
These exercises are mainly after-class exercises, which are exercises on simple basic concepts such as printouts, receiving input from the user, traversal of arrays, sorting, or linked lists. The next step is to do some simple projects, which do not have complex algorithms and advanced domain knowledge, such as statistical analysis of data, after-sales management system of products, etc. These projects, although simple, are a real and complete project.
It not only practiced the developer's ability to apply the language, but also experienced the whole life cycle of software development, that is, software engineering, from project demand analysis, to design and development, to software release and project acceptance, and finally to software maintenance. Through simple projects, I mastered the ability to navigate the language and became familiar with software engineering. As your ability improves, you will gradually get in touch with more complex projects, so that your ability can be further consolidated and improved.
Competence enhancement includes proficiency in the use of language and software design. Exposure to and familiarity with more languages, such as dynamic language pyhton, scripting language bash, emerging language golang, swift, etc.
Through the comparison between languages, we can have a clear understanding of the advantages and disadvantages of languages, so as to choose a reasonable language in the project.
2. Architecture design and system analysis, as more and more projects are done, you will find that most of them are repetitive and reach a bottleneck. It is possible to read a lot of books and make the transition to software architecture and systems analysis. When designing software, pay more attention to the architectural design.
Software architecture can be derived through evolution. But if you can see farther and do some design in advance, you will get twice the result with half the effort. At this stage, it can take a lot of time to spend in the business area.
Because software technology doesn't need to invest much energy for the time being, there is also time to focus on the business area. Familiar with the business field, able to analyze the needs and constraints of users, write information system requirements specifications, formulate project development plans, etc., and be able to evaluate and select appropriate development methods and tools according to the actual working environment; Able to write system analysis, design documents, etc. in accordance with standard specifications. Exercise system architecture and system analysis skills in real-world projects.
The failure of the design solution will lead to the failure of the entire system and eventually the loss of everything. >>>More
In fact, if you want to engage in software development, you must first master the basic knowledge of C++. >>>More
Software development itself is a special process, because there will definitely be some bugs after software development, which can only be found in the process of use, and can be fixed and upgraded in subsequent versions.
Many people think that students who graduate from junior high school are too young and have too weak a cultural foundation to learn such a lofty major as software development. But that's not the case. >>>More
"Management by Objectives" is more suitable for software developers. >>>More