最近发现未毕业的学生都在秋招找工作、毕业找工作、去大厂or中小厂这些问题上徘徊和困扰,同时还担心去的公司的工作没有含金量。
这里我分享下个人的观点,可能不对,仅供参考。
一、含金量的问题
这个工作含金量的问题,很多人都会关注,会认为自己进不去大厂,就废了,那可以想一想,去大厂的那些人难道都是直接进去的吗,除了天赋和后天的一些的努力会让一部分人进去,另外一部分人还是需要经过一些行业的工作经验和人生阅历以后,进去的。比如字节做CRM,难道开发团队会招聘所有人都没有类似经验的吗,当然不会,更容易会的是招聘不同性质的人,共同完成,有的人做过,有的人类似搞过,有的人算法不错,有的人想法不错等等。
而且,在想想,一个初出茅庐的小伙子,你认为公司会多大把握让他接触核心业务的开发,大部分更多的还是从最基础的CRUD开始(积累到一定的量,或者做的出色),逐步获得信任感以后,开始交给他一些挑战或者未接触过的事情,根据这些事情的工作方法、工作进展、工作结果,来评估接下来的发展。那么有人会问了,那前期做的CRUD我怎么获得含金量?这里我说下个人的想法:
1、自己开发的代码工作,从代码质量上确保无明显问题。(比如:常量问题、equals使用问题、代码单个方法函数过长等)
2、自己开发的代码工作,从代码安全上确保无大问题。(比如:参数边界校验、XSS控制、SQL注入、幂等、防重复、名称重复等)
3、自己开发的代码工作,从代码执行流程上确保无严重接口性能问题。(比如:循环内查询数据库、敏感字段返回给前端、for循环耗时、接口不加缓存等)
如果在开始工作的前期,你对自己从代码质量、代码安全、代码性能者三个方面上,有所研究和深入和防止,我相信你的未来一定会很好。
读到这里,会不会有人问:项目工期这么紧哪有时间干、公司都不考虑这些事我干个锤子等等?真实环境中,确实存在这个问题,但是,但是,但是上面的3个问题中,要学会区分哪些是开发一个功能必备的功能,哪些是短期内不用的功能。
很多刚参加工作的同学对真实的项目的CRUD会有个严重的误区,会认为自己开发的CRUD流程通了,就代表功能开发完成了,这个问题是一值会有的,根本原因个人觉得就是因为上面的那3个问题,没有想过。真实的项目中,一个CRUD功能的完成,不仅仅代表的是流程无误,而是从各个方面的请求测试中,不会出现明显的、影响系统使用、后期还需要大量修改的操作。
说道这里,阅读文章的你还会觉得,CRUD没有含金量吗?有人还会说有,我想说一般一个业务模块的功能,不是只有基本的CRUD,都会有业务的CRUD功能。通常为了解决如下问题:
1、多个人访问,如何屏蔽和设计当前模块的数据范围。
2、多个机构/子公司的人访问,如何屏蔽和设计。
3、A模块要做导入导出、A模块要做业务日志记录、A模块要搞个启动/停止等等
B端项目会比C端多了机构范围的功能开发,C端可能大部分通过userId就可以解决大部分问题了。
不管那种类型的项目,项目含金量的问题,个人觉得都取决与自己,公司即使短期没时间干,自己要提前想到这个问题大概会怎么解决。
二、大厂 or 中小厂
这里我想说的是,两者的工作模式吧,大厂的某些项目可能不会很着急完成,通常会有很规范的流程进行开发。每一步进行评审以后,在进行。而中小厂,某些项目会比较急,尤其是正在拼市场的B端公司,通常前期不会进行各个流程的评审,需求定了,实现方案明白了,就开始干了,等交付时在进行优化和评审。
如果某些B端公司去银行或者某些机构做很正经的项目,那么也会严格实行软件开发流程,确保每一步有输出有评审,确保按时上线和需求方向无误。
B端去给甲方做项目,什么时候会严格执行软件开发流程呢,或者必须要执行严格流程呢。目前获得了CMMI这个级别认证的甲方公司都会做某些核心项目时或乙方重大公司获得了CMMI认证且项目也不着急,基本上也会严格执行软件开发流程,且不同级别严格程度也不高。一些中小创业公司,前期都没有这个认证的,软件开发流程很简单。
一般CMMI 3级、CMMI 4级、CMMI 5级都已经很严格了。
而且不同的工作模式,也会造成某一时间段,同学A和B在不同类型的公司,完成的CRUD数量和CRUD质量也是不一样的。
留下的思考:你现在的真的会开发真实公司中的用户管理、角色管理、菜单管理、权限管理这四个通用功能吗?
读完本篇文章,希望对大家有帮助,你还有哪些疑惑,可以分享一下,我也会持续分享个人想法。