当前位置:网站首页>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 .
边栏推荐
- Research Report on the overall scale, major manufacturers, major regions, products and application segmentation of shock absorber oil in the global market in 2022
- I drew a Gu ailing with characters!
- How to realize the function of detecting browser type in Web System
- Cron expression (seven subexpressions)
- An analysis of the past and present life of the meta universe
- JDBC | Chapter 4: transaction commit and rollback
- Internal/validators js:124 throw new ERR_ INVALID_ ARG_ Type (name, 'string', value) -- solution
- Go cache of go cache series
- 「 工业缺陷检测深度学习方法」最新2022研究综述
- Sword finger offer (I) -- handwriting singleton mode
猜你喜欢

burp 安装 license key not recognized

Use graalvm native image to quickly expose jar code as a native shared library

Customized Huawei hg8546m restores Huawei's original interface

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)

CRM Customer Relationship Management System

疫情封控65天,我的居家办公心得分享 | 社区征文

I drew a Gu ailing with characters!

Interested parties add me for private chat

qwb2018_ core kernel_ rop

Detailed upgrade process of AWS eks
随机推荐
Research Report on the overall scale, major manufacturers, major regions, products and applications of sliding door dampers in the global market in 2022
How to realize the function of detecting browser type in Web System
rwctf2022_ QLaaS
pytorch 模型保存的完整例子+pytorch 模型保存只保存可训练参数吗?是(+解决方案)
想问问,现在开户有优惠吗?在线开户是安全么?
Sword finger offer (I) -- handwriting singleton mode
[fluent] dart generic (generic class | generic method | generic with specific type constraints)
kernel_ uaf
现在券商的优惠开户政策什么?实际上网上开户安全么?
Research Report on the overall scale, major manufacturers, major regions, products and applications of capacitive voltage transformers in the global market in 2022
1007 maximum subsequence sum (25 points) "PTA class a exercise"
通信人的经典语录,第一条就扎心了……
在网上炒股开户安全吗?我是新手,还请指导
kernel tty_ struct
Cron表达式(七子表达式)
Share several map bed websites for everyone to share pictures
sense of security
证券如何在线开户?手机开户是安全么?
[fluent] dart technique (independent main function entry | nullable type determination | default value setting)
26 FPS video super-resolution model DAP! Output 720p Video Online