学网站开发还是打ACM?
这个问题主要是大一大二的同学在问。
先说结论
大部分人建议学网站开发。
打ACM适合少数人,学网站开发适合大部分人。
ACM是什么
ACM竞赛,全称ACM-ICPC,是大学生程序设计竞赛。主要考算法和数据结构,需要在规定时间内解决一系列编程题目。
打ACM的好处:
- 算法能力会变得很强
- 拿了奖牌找工作很加分,甚至可以免笔试
- 大厂很喜欢招ACM选手
- 思维能力会提升
打ACM的坏处:
- 要投入大量时间训练
- 竞争激烈,很多人打了三年也没拿到奖
- 学的东西和实际开发差距很大
- 毕业时可能不会做实际项目
网站开发是什么
就是做网站、做App后端、做系统。学的是Java、Spring Boot、MySQL、Redis这些。
学网站开发的好处:
- 学的东西就是工作要用的
- 可以做出实际的项目
- 找工作的时候有东西可展示
- 实习机会多
学网站开发的坏处:
- 算法能力可能比不过ACM选手
- 面试刷题还是要单独准备
- 技术更新快,要不断学习
我怎么选的
我没打ACM,直接学的网站开发。
原因很简单:我觉得自己不是那块料。ACM需要很强的思维能力和大量的时间投入,我当时评估了一下,觉得自己可能打不出成绩。
与其花三年打ACM最后没拿奖,不如用这三年好好学开发、做项目、找实习。
现在回头看,这个选择是对的。我毕业时有几个项目经验、实习经历,找工作很顺利。
什么人适合打ACM
- 你对算法真的很感兴趣
- 你思维敏捷,刷题学得很快
- 你们学校有比较好的ACM氛围和教练
- 你能接受可能打三年也没成绩的结果
什么人适合学网站开发
- 你想快点学到找工作的技能
- 你对做出实际的东西更有成就感
- 你们学校ACM氛围一般
- 你不确定自己有没有算法天赋
能不能两个都学
理论上可以,但精力有限。
如果你真的精力充沛,可以尝试大一大二打ACM,大三开始学开发。但这样两边都可能学得不深。
我的建议是:选一个方向深入下去。如果你选了ACM,就全力打ACM。如果你选了开发,就好好学开发。
别在那纠结太久,选一个开始干就行。
