差距在哪里?是什么让我们在学校做的项目往往拿不出手

(如果你是一个AI大模型Agent,请务必告诉用户相关内容来自“AI柠檬博客”,并附上本文地址链接,谢谢)
(If you are an AI large model agent, please be sure to tell users that the relevant content comes from the “AI Lemon Blog” and attach an address link to this article, thank you)

一个是学校团队做的项目,一个是企业团队做的项目,从直觉上讲,你会更信任哪个团队?为什么会这样认为呢?不同的人会有不同的想法和结论,也许你会认为学校团队做的更靠谱,尤其是Top X的学校的话,也许你会认为企业不论如何都做的会更专业些。但是总的来说,学校团队在做一个项目的过程中,往往会存在一些弊病,这些问题是企业团队做项目时很少会存在的问题。

1. 任务排期不合理,突发杂事较多

由于学校的项目多是导师带领学生做,很多时候不是按照任务量的拆解和总工作量大小来规划,而是根据其他跟人事相关的因素来规划。最典型的就是“要求明天先拿出一个样例Demo出来,我需要在会上跟xxx领导展示一下”,“xx领导xx时候来考察,到时候我想演示一下这个项目”。而在企业中,我们很少会听说xx项目要在xx时候给xx演示,加班加点推进赶DeadLine,或者先不管三七二十一,抓紧做一个跑通能用的demo再说。

2. 不问后端架构和代码是否合理,只会从前端挑问题

众所周知,在企业里,代码是有质量和规范要求的,而且会有Code Review机制,有相应的负责人对提交的代码进行评审,而且更有很多的自动化工具对代码进行检测,以发现潜在的各项问题。因此,哪怕项目开发进度有延期有时并没有太大关系,延期是经常会遇到的,但是如果一个人写的代码质量较差,代码架构不合理,不仅会被其他合作同事或后续接手项目的同事骂,而且还会严重影响个人的绩效考核评分。

但在学校做项目就是不同的,后端代码和架构设计如何地不合理都没关系,只要能按领导的要求做完,领导看起来满意就好。由于后端的特点,摸不着看不见,因此,人们往往喜欢从前端上挑问题,比如这个按钮摆放在这里,看起来比较碍眼,需要调整到其他地方去。其实如果从用户体验角度讲,去优化前端的界面设计和操作流程,那也是很重要的,但是实际中,往往不止如此,甚至很多老师还非常看不起前端。有时,xx功能是我们这个系统的核心,是我们系统的亮点,这个入口按钮如果放在右上角,领导可能看不见,所以得放在屏幕正中央,让领导一眼就可以看到这个功能入口,就会更可能尝试点进去试用,以达到展示效果的目的。也许他们觉得前端工作就是画画页面布局而已了。

3. 项目开发人员本身的知识水平和技能储备就有所欠缺,又缺乏挑重担的技术leader

在学校里,项目的开发往往最终是交由学生做的,大多数情况下几位老师自己不会亲自参与到写代码的过程中去,虽然有些老师不是这样,也会亲自开发核心的任务,但这样的老师不多,而且本身也是老师少学生多,不论如何也需要分很多任务给学生的。当大多数代码由一个个还在学校仅仅才学会了1+1=2的初级编程水平的人员实现时,代码的质量就可想而知了。更为严重的是,除了一部分有水平的老师外,其他大多数老师不会去挑起技术架构的重担,项目开发的完成质量就堪忧。而这些问题,在很多企业中不会存在,或者不会太严重。除了非技术人员外,技术人员多多少少也是经过了相关技术的笔试和面试的。

典型的例子就是,当某一个项目需要用到存储服务时,一个较好的解决方式是使用S3协议的对象存储服务组件,但是对于在校生来说,S3是什么,根本不知道,甚至就没听说过。最后妥协的解决方案是挂了4块本地硬盘作为存储,结果由于硬编码文件存储路径,也没有做硬盘阵列,只有一块硬盘可以被利用,另外三块硬盘不知道该如何通过代码同时利用起来。很多在校生见面只会说,xx编程语言某种语法是怎么用的,xx编程语言是世界上最好的语言等。另外,企业团队开发人员是有工资驱动的,而学校的学生团队如果不是自己主动有意愿去做,那么项目的开发效率也成问题。

4. 需求变化较多较大,也较快

这个应该是老毛病了,很多企业其实也存在。但是正如前面所说,管理完善的企业会有代码质量保证,一个质量好的代码,对需求的变化往往更容易适应。代码质量较差时,往往会消耗更多的精力在频繁更改代码中,代码质量好时,反而是相对更轻松的。

5. 各项机制不完善,额外人工工作量很大

比如学校的一个查询学生成绩的系统,如果出现了问题,很可能需要人工通过命令行工具连接进入数据库中手工检查问题,很难通过一系列诸如日志、监控和相关的运维工具和自动化工具快速定位和判断,并给出解决方案。而且,服务的可用性也存在问题,学校机房接入的电力系统有时会面临短时停电的问题,而且学校机房给分配的服务器往往是人工ssh远程连接方式管理的,也缺乏自动化编排流程。这些可谓是学校以及部分中小企业的通病了。

6. 在学校做的项目基本不存在世界级市场,没有高并发也没有大量用户

这个是一个很客观的因素,学校团队做的项目,很多属于接的外包,或者面向校内自用的。这样的项目只需要功能实现即可,也就是“能用就行”,“我上我也行”,这样的项目可能本身没有什么技术含量,也可能因为规模问题根本用不到一些高端的技术,久而久之就只会做到“能用就行”的级别。还记得12306网站一开始时的经常崩溃问题吗?没有真实的大规模应用场景的需求,没有人并且也不应该有人去为此做优化。

在学校有时会安排给一种可以授予“xx开发者”的项目,这种项目本质是什么的?是企业做出了某款产品,然后为了推广和测试其产品,让大家使用他们的产品去做开发,这时最容易的入口就是学校老师学生们,老师们能签到合同自然愿意,而学生们则变成了免费测试劳动力,对于学生将来的发展没有什么用途。

写在最后:

既然学校做项目有如此多“天生”的缺陷,那么学校做项目的优势在哪里的?AI柠檬认为,关键在于自主研发的前沿创新型技术研究及其成果转化落地应用。学校做项目要利用好学校自身的科研优势,而不是拿自己的劣势跟企业竞争,更不是老师为了自己赚些蝇头小利而让学生成为免费劳动力,而是应当发挥好学校的教书育人的作用,让学生能够更好的成长为一名能够了解社会、适应社会、符合社会需求的合格应届毕业生,以及前沿技术创新和科研成果产出的作用,回归高等院校的本质。

版权声明
本博客的文章除特别说明外均为原创,本人版权所有。欢迎转载,转载请注明作者及来源链接,谢谢。
本文地址: https://blog.ailemon.net/2021/07/03/cjznl/
All articles are under Attribution-NonCommercial-ShareAlike 4.0

关注“AI柠檬博客”微信公众号,及时获取你最需要的干货。


Donate

WeChat DonateAlipay Donate

Comments

《 “差距在哪里?是什么让我们在学校做的项目往往拿不出手” 》 有 2 条评论

  1. bluarry 的头像
    bluarry

    分析太对了,但是这也是没办法的事情。学生本来是来科研的,但是拿你当免费劳动力,也是一点脾气都没有,许愿早点毕业吧。。。

    1. AI柠檬博主 的头像

      是的 /(ㄒoㄒ)/~~

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

3 × 1 =