结合自己的大学经历,分享一些参与编程项目的好途径吧~
一、适合学生和工作党开源项目
如今是一个代码开源的时代,通过 GitHub 等开源平台,你可以有机会和编程大佬一起做项目。不要担心自己水平不够,可以找找自己感兴趣的项目,并且从一些简单的工作上手开发。
有兴趣参与开源的朋友推荐看看这两篇文章:
如果你有机会给知名项目贡献代码,这在简历上的含金量可能远远大于自己写一个小系统!
我在大学的时候更多的是到 GitHub 上找项目看源码,而非自己参与,现在还是挺后悔的。
开源项目
现在网上有很多实战学编程的平台,像之前给大家推荐过的 FreeCodeCamp、FreeAIHub、CodeGym 等,提供了一些帮助初学者快速上手的小例子和项目。
还有很多实验平台,国内经常听到的有腾讯云动手实验室、实验楼等,都是基于真实的服务器开发环境,有练手小实验,也有完整项目。
如果你的英文还不错,更建议去做一些国外优质课程的实验,比如:
MIT 6.s081 操作系统工程MIT 6.824 分布式系统斯坦福大学 CS143 编译原理
这些都是全球知名的编程大补丸,如果都能啃下来,实力绝对足以进大厂了!
学习资源
这应该是大部分学编程的朋友找项目做的途径,即利用学习资源,跟着视频或者书本来做项目。
比如 B 站就是一所很好的编程大学,很多的培训机构都在这里有自己的学院,视频教程中一般都会带大家做一个项目。
比如我当时看过一个类似下图的 vue 教程,跟着教程做了一个简单的音乐播放器。
千万不要只看不做,一个视频看下来,一定要自己有样学样肝出来一个项目!
做你所想
对编程有兴趣,才能学下去、学得更好,所以如果自己有不错的想法和创意,不妨试着用你所学的技术来实现它。
我就是一个兴趣驱动的编程爱好者,大学时期大多数的项目都是自己想出来的,没有任何拘束和限制,反而更有动力去将它完成。利用自己正在学习的技术,并自主学习更多技术来将它做的更好!
比如当时独立开发的基于 Vue + Spring Cloud 微服务全家桶的面试君主 APP。还做过一个抢课系统,帮我抢到了一门 SSS 级难抢的课哈哈!
二、校园
如果你还在大学,做项目的途径会更多一些,一定要抓住机会,好好利用!
课堂大作业
没想到吧,课堂大作业就是最直接的项目!大学很多专业课在期末时都会要求上交一个作品,比如我记得大一 C 语言课时,做了个基于小黑框的图书管理系统,这其实就是一个小的项目。虽然可能拿不出手,但是只要你愿意,可以在现有代码上继续完善,开发新功能,把它做得更好!
其实我的很多课堂大作业完成的都非常认真,并且会好好留存自己的作业代码,比如编译原理的语法树可视化程序,我还写了一篇博客来介绍它。
当然,可能更多的情况是,我会直接把自己基于兴趣做出来的项目略加修改,当成课程作业提交上去,分数往往会更高!
帮老师做项目
有时自己学院和其他学院的老师会有些计算机方面的需求,比如做个学院网站、管理系统等,可以向老师和辅导员表达自己的想法,争取一些承接此类项目的机会,能够锻炼自己编程水平的同时,赚到不少的钱~
我当时帮其他的学院开发过一个简单的会议室预约系统,老师的要求一般不会很高,也会比较好沟通,所以这个途径还是比较推荐的。
参与竞赛
有很多专门面向大学生的竞赛,比如知名的互联网+、挑战杯学术竞赛、计算机应用能力大赛、ACM 竞赛等。一定要多组队参与竞赛,可以提升自己的兴趣,培养责任感,促进自己学习和完善项目,还能像其他同学吸取经验,互相学习和进步。
其实我的竞赛能力不强,参加过两届蓝桥杯,可惜都是省二等奖;参与了两届计算机应用能力大赛,可惜都是省三等奖。此外,倒是拿过创业类的奖项,但也是小打小闹吧。
最让我印象深刻的竞赛是参与挑战杯,和很多优秀的同学一起努力,拿了上海市特等奖、国家级二等奖,不仅让我编程水平大大提升,也帮助我凑够了落户积分。
强烈建议大家在大学时参加竞赛,因为毕业之后机会就很少了。
工作室社团
大学会有很多计算机、编程方面的工作室或社团,一般会有学长大佬带队,大家一起学习讨论,氛围会更好。
我是大一刚入学就参与了一个建设网站的校园工作室,后来给学校做了不少网站,对我学习前端起到了关键的作用。
实验室
如果在本科期间,能加入学院的实验室,在研究生学长和导师的带领下做项目,也是一个不错的选择。很多实验室也乐于接受和培养本科同学,当然,机会要自己争取。
我是在大二暑假加入了信息安全实验室,研究区块链理论和落地,后来和老师学长们一起出版了本教材,给我的简历添了彩,受益匪浅。
三、职场
如果已经工作了,也有很多参与项目的途径,这里就简单列举下,不展开说啦。
参与公司建设
想要更快晋升、提高自己的技术影响力,建议多参与和完善一些公司内部的项目。比如公司内部的定时任务平台不够方便,你可以试着优化它,当然也可以自己造轮子。
参与竞赛
很多编程类竞赛也面向职场同学开放,比如一些小程序开发竞赛、应用开发竞赛、大数据竞赛等。还有不少以公司、团队为单位的竞赛。
此外,很多 BAT 大厂内部,也经常定期举办一些技术类竞赛,还是蛮有趣的!
外包平台
网上有很多程序员接单平台,可以远程参与项目,根据需求复杂度获取相应的收益,比如程序员客栈等,甚至可以把自己外包出去。
最后,无论你做多少项目,都要学会积累和复用,把自己做过的每个项目保存好。同一个项目既可以当课堂大作业、又可以拿去参加竞赛,一举两得,岂不美哉!”
再送大家一些 帮助我拿到大厂 offer 的学习资源 ,各种视频教程 + 习题 + 答案 + 源码、编程导航、上千本编程书籍、几百份大厂面经、实战项目等,高达 6 T!
我是如何从零开始通过自学,拿到腾讯、字节等大厂 offer 的,可以看这篇文章,不再迷茫!
如果觉得回答有帮助,希望给 @程序员鱼皮 点个赞吧,大家有编程上的问题也欢迎找我交流哦~