当前位置:网站首页>What is the difference between programming in real work and that in school?
What is the difference between programming in real work and that in school?
2022-07-02 21:01:00 【hsm_ computer】
Learn programming in school , The purpose of the lecturer is to finish the teaching materials , Complete the course design , And pass the exam .
Like learning java, Generally speaking, teachers speak according to some books , No matter what's in the book java Whether the technology will really be used in actual development , Or say , Many lecturers usually don't do projects , They also don't know what skills will be used in project development , And to what extent each skill will be used , This is why many schools are still talking about swing Interface programming , Still talking ssh This long unused framework .
I usually see some school textbooks , Here is to spring boot Technology as an example , Tell me about the differences between the relevant technologies used in the school and the project .
In school , Usually from spring boot Start class , Talk again jpa Operational data , Let's talk about some comments on the controller layer , such as @RequestMapping etc. , When talking about some skills , Will focus on grammar , For example, what does a certain method mean , What is the meaning of relevant parameters , To implement a function , Which methods can be called to enter which parameters , Let's focus on the meaning of some annotations .
in other words , In the course of teaching in school , The teacher will focus on grammar , Clarify the meaning of an object and a method , But in practice , Developers are task oriented .
For example, use spring boot Do development , The project manager can at most give developers some examples for reference , Let developers realize a certain business function . At this time, if the developer still follows the steps of the school , To understand first api Usage of , Then understand the meaning of many parameters , Further development on this basis , It will definitely delay the development progress .
Next, we will further explain the differences between school programming and work programming from many dimensions .
From the development language used , Just java aspect , Can you say that it is more practical now spring boot The number of frame schools has only increased in the past two years , Many schools are still talking about ssm frame , Even ssh frame , I don't know if there are schools that only talk about java The core , Don't speak Java web Development framework . But in the company , At least ssm, Most of them should be spring boot.
From the perspective of project management , Generally, companies will use maven In charge of the project , use git Tube code , use jenkins Deployment , use jira Manage progress , Even use docker and k8s, And in school , At most, use an integrated development environment +Maven Well .
From the perspective of project deployment , Generally, companies will deploy projects on at least one machine , Many words , It is also possible to deploy with clusters , And it is possible to introduce some distributed components or spring cloud alibaba Microservice components to cope with high concurrency , But in school , Generally speaking, we only talk about the functions of the stand-alone version . Even now , It works spring boot( or ssm) The framework clarifies the school of a complete set of addition, deletion, modification and inspection processes , It's already better .
From the perspective of functional complexity , The school will talk about the whole development process from front-end to back-end to database , But in practice , In every process , You also need to consider various exception handling situations , For example, what if the parameter is wrong , What to do if there is a problem with the database connection .
From the perspective of work tasks , It is estimated that the school will only require students to write code , At work , Programmers not only need to be able to write code , More importantly, you should be able to do unit testing , Do code quality management , Participate in database design , Participate in project release , And solve practical problems by reading logs .
From the perspective of code writing , Schools generally require that code be written in a way consistent with textbooks , For example, the design data table should conform to the specification of three paradigms , Try to avoid writing code repeatedly , Duplicate code should be written to functions, etc . But at work , Everything is about schedule and cost , For example, a piece of code should indeed be refactored , But close to release , Too late to optimize , So it can only be written in a low-quality way , Or a project team has no budget to find front-end development , So we can only use comparison low To design the front-end framework .
From the perspective of project deployment and maintenance , When writing code in school , It is generally believed that the database is pre installed , And the database and other servers will not have problems , So students in school usually only write code , It is not easy to install programs and monitoring systems . But in real development , Only those who can do development belong to the lowest level of development , The salary will not be high , Advanced development and even architecture , Less talk about installing components , Or monitor the system by installing components .
From the perspective of analyzing and troubleshooting problems , When writing code in school , If something goes wrong , Usually only through debub To analyze the problem , But in real projects , Generally, we investigate and solve problems by reading logs .
From the operating system used , Programming in schools is generally limited to windows,mysql Is in windows Installed on ,java The program is also in windows Running on the system , But in real projects , Development can be in windows Environmental Science , But the developed results , And database and other components , It's usually deployed in linux On the operating system , This requires programmers to master the operation linux File and run linux Skills such as procedures .
In terms of measuring the results of programming , In school , As long as relevant business functions can be realized , But in development , It is more necessary to ensure that the business system can work under abnormal conditions , Further more , We also need to use various distributed components to achieve high concurrency .
From the purpose of programming , The purpose of programming in school is to pass the exam and graduate , So in case of any problem , It should be OK to find someone to accommodate , But in real projects , The purpose of programming is to make money , Purpose is different , The way of working and the pressure on programmers are not necessarily the same .
The above differences are enough to explain the differences between school programming and real project programming . For the majority of college students who are about to step on the programmer's job , If you adapt to this difference after work , It may be a little late , The price of this may be that the salary of the first job is relatively low , And the first job of the company is relatively small . So how to adapt to this difference as soon as possible ?
1 The best way is to practice as soon as possible , Go to an outside company for internship , Or help some doctoral tutors and master tutors .
2 Go to see the recruitment requirements of other companies early , In order to plan their own learning , At the same time, go out for an interview as soon as possible , Try and make mistakes through the initial interview , Go to the field and feel the difference , Feel through this , It must be deeper than what I said .
Generally speaking , Fresh graduates , Need to pass through 3 To 6 Be familiar with the transformation of roles for months , And adapt to the above differences , But if you are in school, you can do real projects and interviews as soon as possible , I am familiar with this difference , Then you will be ahead of others 3 To 6 Months , in other words , It may be earlier than others 3 To 6 I successfully entered the company in the last month .
But on the contrary , If the friends of students in school step into the society , Still holding the mode of writing code in school , Then it is estimated that it may not be able to adapt well to even the most elementary development work , In this way, let alone further upgrade to advanced development and architecture , It's estimated that it's even difficult to get a foothold .
边栏推荐
- Jetson XAVIER NX上ResUnet-TensorRT8.2速度與顯存記錄錶(後續不斷補充)
- The first of the classic quotations of correspondents is heartbreaking
- Interpretation of some papers published by Tencent multimedia laboratory in 2021
- 7. Build native development environment
- 5 environment construction spark on yarn
- Analyze comp-206 advanced UNIX utils
- Web3js method to obtain account information and balance
- Basic concept of database, installation and configuration of database, basic use of MySQL, operation of database in the project
- [question brushing diary] classic questions of dynamic planning
- Research Report on the overall scale, major manufacturers, major regions, products and application segmentation of the inverted front fork of the global market in 2022
猜你喜欢

kernel tty_ struct

Exemple complet d'enregistrement du modèle pytoch + enregistrement du modèle pytoch seuls les paramètres d'entraînement sont - ils enregistrés? Oui (+ Solution)
![[shutter] statefulwidget component (create statefulwidget component | materialapp component | scaffold component)](/img/04/4070d51ce8b7718db609ef2fc8bcd7.jpg)
[shutter] statefulwidget component (create statefulwidget component | materialapp component | scaffold component)

MySQL learning notes (Advanced)

kernel_ uaf

SBT tutorial

Roommate, a king of time, I took care of the C language structure memory alignment

Web3js method to obtain account information and balance
![[question brushing diary] classic questions of dynamic planning](/img/31/fcd8230f809d6178f11e7095c1ef94.jpg)
[question brushing diary] classic questions of dynamic planning

Properties of expectation and variance
随机推荐
在券商账户上买基金安全吗?哪里可以买基金
Common authority query instructions in Oracle
「 工业缺陷检测深度学习方法」最新2022研究综述
Internal/validators js:124 throw new ERR_ INVALID_ ARG_ Type (name, 'string', value) -- solution
Function, function, efficiency, function, utility, efficacy
7. Build native development environment
Lantern Festival, come and guess lantern riddles to win the "year of the tiger Doll"!
Roommate, a king of time, I took care of the C language structure memory alignment
Research Report on the overall scale, major manufacturers, major regions, products and applications of swivel chair gas springs in the global market in 2022
Research Report on the overall scale, major manufacturers, major regions, products and application segmentation of the inverted front fork of the global market in 2022
5 environment construction spark on yarn
ctf-HCTF-Final-Misc200
Google Earth Engine(GEE)——Landsat 9影像全波段影像下载(北京市为例)
The metamask method is used to obtain account information
Use graalvm native image to quickly expose jar code as a native shared library
Codeforces round 651 (Div. 2) (a thinking, B thinking, C game, D dichotomy, e thinking)
Common routines of compressed packets in CTF
想请教一下,我在东莞,到哪里开户比较好?手机开户是安全么?
Volvo's first MPV is exposed! Comfortable and safe, equipped with 2.0T plug-in mixing system, it is worth first-class
B-end e-commerce - reverse order process