给大二学弟的建议:技术不是用得越多越牛逼!

大家好,我是程序员鱼皮,今天分享一个 90% 以上初学编程做项目的同学都会遇到的问题 —— 做项目时,盲目使用技术。

1

事情是这样的,编程导航里一位大二下的学弟前段时间找我做了好几次咨询,说自己已经学了很多微服务、中间件相关的技术,比如 Dubbo、Nacos、RocketMQ 等等,但是学完感觉没什么收获,很多知识和技术感觉并没有掌握。

这是很多初学初学编程同学的通病:学完技术不去用,结果过段时间就忘了。

所以我经常跟朋友们说,当你学完一个新技术后,要第一时间想着做项目,在项目中实践,知道怎么根据需求合理地运用技术,才算是掌握了。

因为他才大二下嘛,时间和机会还很多,所以就让他把主要的精力放在提升项目经验上,也让他去读了我的项目学习建议。

鱼皮项目学习建议:https://yuyuanweb.feishu.cn/wiki/Q4AdwjLDWiLZy0kAjHqcQinon8N

2

学弟很争气,过了没几天,就跟我说要作为队长参加中国软件杯大赛了,然后想问应该如何带领队友开始项目。

我一看,这是好事啊!我也非常鼓励大学生多参加竞赛,尤其是作为队长,可太锻炼人了。

结果让我有点意外的是,这位学弟想报名的赛题名称是 “涉诈 APP 智能识别分析系统”,赛题要求中涉及:APK 文件的解析、特征提取、训练基于 AI 的 APP 研判模型等。。。

然后我给了他几分钟的语音回复,学弟表示有点感动 hh。

我当时给出的核心建议大概是:参加比赛前首先要做的不是思考怎么具体去实现某个赛题,而是要先想明白参加比赛的目标和意义,比如为了获奖、为了提升自己,还是别的什么。参加比赛是好的,但是要选择和自己求职方向、擅长方向相关的比赛,目前这个赛题的核心难点不在于后端开发,会有更专业的学信安的同学来参加,获奖概率也不大,所以个人认为参与的性价比不高。更何况这位学弟的队伍只有 3 个人,还都是软件工程专业的,基本没什么竞争力了。如果实在要参加,就需要找到合适的队友,大家分工合作。

3

学弟很开窍,没过几天,就跟我说他们又换了一个赛题,这次要做一个结合 AI 大模型的 Java 应用。并且还参考我之前的建议,做了功能模块图和技术选型,现在想让我给点建议。

我看了他们的功能模块图,设计的简直太好了!功能简直太全了!

但也正是因为 “功能太全了”,给我的感觉是他们要开一家公司去做成熟的产品了,而不是要参加一个小比赛。

举个例子,他们要做的是一个 AI 工具,结果功能模块图里面有:用户素材库、数据可视化、多媒体提取、VIP 会员、消息通知、评论、热点发现等等。。。

于是我的第 1 个建议是:这么多需求,先做哪个后做哪个?有些功能真的有必要做么?

我大学时刚开始参加竞赛、包括刚开始做自己的产品时也是这样的,总想着功能越多越好,但是常常忽略了做新功能的意义,忘记了目标。比如现在这位学弟的目标是竞赛获奖,那么应该把重心放在能给比赛加分的、核心亮点功能的开发上,比如 AI 模块,像 VIP 会员、消息通知这些功能,都不是核心需求,也不影响核心业务流程,对竞赛来说都是可有可无的。

第 2 个建议是:找到你觉得最难实现的功能,并思考如何实现?有没有卡点?

我相信很多刚开始做项目的同学,是不会去做整体的方案设计和排期的,而是先把自认为简单的功能做出来,比如用户注册登录。但如果最后你才发现 AI 模块搞不定,你前面的 “一顿操作猛如虎” 还有什么意义么?起码对比赛获奖这件事来说,帮助没那么大了。

第 3 个建议是针对学弟的技术选型来说的。这个不涉及什么敏感信息了,都是主流的技术选型,就先给大家看一下吧:

大家看到这个技术选型图,是什么感受?

个人认为,虽然画的不错,技术也列举地很全面,但对于一个比赛来说实在是 “大可不必”!

因为我也是从这个阶段过来的,给大家看看我大学独立开发的、拿去参加竞赛的一个作品。一个在线刷面试题的项目,背后用了微服务、Redis 集群、甚至还搭了大数据集群和区块链节点!

结果去参加比赛的时候,人家才不管你背后用了什么技术,而是要看你是否符合比赛的要求,产品本身是否有亮点。

所以我让学弟思考:这么多技术,真的有必要用么?

做商业项目也是这个逻辑,技术是为业务服务的,应该先尽可能 减少 复杂技术的引入,完成核心功能,再去逐步引入新技术来优化系统和解决问题。不然只会把简单的事情想复杂。

而且即使你真的在比赛中用到了上面那些技术,也已经不是什么亮点了,微服务已经可以说是后端必学的技术。

4

万万没想到,学弟又来找我了,这次他梳理了一些功能模块,并且问我:系统是用单体还是微服务去完成?

首先我看了下比赛要求,没有强制要求使用微服务,也并没有关注后端架构,而是要求开发者必须完成某些功能。而且学弟团队只有几个人。

所以我的答案很明确:先单体再微服务,别把简单的事情做复杂。

结果学弟问我:单体再微服务,那为什么不直接微服务?

老实说,这次我有点哭笑不得,感觉他并没有理解我之前的建议。于是我反问他:你觉得有必要么?微服务的作用是什么?做产品的核心目标是什么?核心功能需要用到微服务来实现么?

思考清楚这几个问题,我想这位学弟之后参加比赛做项目的时候,能够少走很多弯路吧。


大学时期,我看过太多同学认为 “技术用得越多越牛逼”(包括我曾经也是这么认为的),结果比赛无法获奖;工作之后,也看过太多程序员把 “各种高大上的技术挂在嘴边”,结果业务需求都理解错了。

当然,如果是为了自己学习成长而做项目、运用技术,是完全没问题的。还是那句话,想清楚自己的诉求,并且针对诉求去设计和安排工作吧,共勉!

👇🏻 点击下方阅读原文,获取鱼皮往期编程干货。

往期推荐

我的编程学习小圈子

用了缓存后,性能反而更慢了?!

这款代码分享工具,爆了

我学计算机的四年,共勉

要来了我们实习生的简历,仅供参考。。

有了这玩意,分分钟开发公众号功能!

我开源了一套 RPC 框架,学爆它!

相关推荐

  • 免费使用GPT4
  • 今日arXiv最热大模型论文:北大发布4维时空数据预训练,助力自动驾驶
  • “AI届汪峰”谷歌的Astra是强势反击GPT-4o,还是又被抢了风头?
  • 利用TensorRT-LLM 加速 Whisper 推理实践应用
  • 联通RAG技术应用实践
  • 第三代指标平台如何摆脱 ETL 宽表开发 做“轻”数仓
  • 一个悄然崛起的国产开源大模型!
  • 估值52亿,上海又跑出一个新能源造车IPO
  • 亚马逊云科技 CEO 将离职:“云的未来是光明的”
  • 共话智能测试新机遇,AI4SE 创新巡航活动“走进软通动力”成功举办
  • 百度文心智能体平台举办开发者沙龙,打造国内领先的智能体生态 | Q推荐
  • OpenAI 的元老科学家们都跑光了!一个时代结束了?
  • ICML 2024 | 大语言模型预训练新前沿:「最佳适配打包」重塑文档处理标准
  • 李飞飞解读创业方向「空间智能」,让AI真正理解世界
  • 专访文青松|AI时代的教育革新:深度融合,驱动未来
  • 18个月,OpenAI这支团队搞出了GPT-4o
  • 用GAI定义手机,联发科和朋友们在行动
  • 【严肃警告】通报全体,公司没有午休这件事,从未有过,谁在中午午休立刻走人,没有下次!
  • 紧跟Ilya,OpenAI超级对齐团队负责人官宣离职!内部AGI或实现,全网陷大猜想
  • 「懂物理」是具身智能核心!北大高逼真物理仿真,加持磁性微米级机器人登Nature子刊