小白如何入手,最终有个能拿高薪的项目呢
从小白到最终有达到面试获高薪offer的项目漫漫过程,必然要经过如下步骤:筛选,实践,总结。下面详细的来说一下。
第一步:筛选
筛选要遵循两个原则:
以终为始
循序渐进
什么是以终为始呢?
简单的说就是以目的或结果为导向来做事情。
比如,我们做项目就是要先看下我们的目的,是想练习什么?因为项目其实最终也是归结于自己真正做的东西,在做项目过程中也是在提升自己的编程能力或者某方面的实践能力。
推荐大家可以从以下四个方面来思考:
很多同学从上大学开始第一门编程语言学的就是c语言,然后就坚持只用c语言来做项目,其实不是这样的,像java,python都是目前市面上比较流行的语言,也可以学习一下然后去应用,因为语言都是相通的,而且多会几门语言也是加分项。当然我们在做项目时,一定要明确自己的目的,比如我做项目就是想练习c语言,那我就根据c语言去找项目做,我就是想练习python,那就用python做项目。在这里推荐大家学习做Java或者python类的项目,相对比较好上手且做的东西包含的内容也会更多一些,而c语言类的项目想要做得很好会比较难。
除了编程语言以外还有框架。有的同学可能不想练习语言,不想练习框架,想练习一些设计模式、网络通讯协议这种,还有一些同学的目的性更强了,比如有的同学就是以后想做游戏的引擎开发,那就更要根据自己以后的就业目标来做项目,不能做那些边边角角的项目了!所以无论是做Java开发工程师,前端开发工程师还是游戏工程师,网络工程师等等,都一定要针对自己的目标来选择项目的开启。
这部分可以参考的点如下:
Spring,Flask,React
Git,SVN
HTTP,FTP,TCP/IP,数据库,操作系统
运维,前端,后端,测试
下面说一下循序渐进,这个很好理解,不管做什么事情都要这样,一定要循序渐进,一步一步的走过,别想着一步登天,或者有的同学最开始是模仿的方式开始的,这也都是可以的,但是一定要自己真正的去做。还有就是兴趣,真的喜欢就会去花很多时间去做,比如有的人做游戏相关的项目,因为真的喜欢游戏,做的过程中自己就可以玩,所以就会有好多时间投入在这个上面。且我们做项目要考虑一下以下几个因素:
轮子理论也很好,所谓轮子理论说白了就是去模仿,看到别人造轮子我也喜欢,那我也去造,其实是可以的,从这个开始起步,完全没有问题。可以通过github上根据自己的能力,看看别人是怎么做项目的,然后参考别人的思路自己动手去做一个类似的项目,在这个过程中把用到的知识点学懂技术吃透,就是你自己的项目。当然,这个是刚开始的时候,如果你都已经很有基础了还这样,就属于懒惰了,而且也不会有进步。这个很适合完全不知道如何下手的小白。
当然,创新也是必要的,任何时候没有创新就没有了动力,在原来的基础上进行创新,那也是你的东西,也会有成就感,并且学习到很多知识。同时也会让自己的项目更有竞争力。
第二步:实践
规划完后就是实践了,这个是最关键的。有一个误区,尤其针对通过看视频或者课程学习的同学:看了不代表你会了,一定是要手打出来,自己真正做出来才行,不然面试是会被问住的。
在实践这部分分为两种人:
新手上路
老司机
新手上路的话希望能够遵循以下两点:
先点后面
先模仿后改进
先点后面(比如给实习生一个任务,让先做个爬虫,好多同学就会想好多,我要做个框架,我要前后分层之类的。想了好多就会不知道从哪里入手,最后的结果就是什么也做不出来。所以新手上路一定要先点后面,先看好项目需要的知识点,比如想做一个聊天的项目,先把聊天的协议自己顶起来,然后网络连接我们这边是用http或其他先拉起来。或者要做一个游戏工具,先不用想游戏怎么做,先想怎么把一个声音播出来,怎么把某个3D的东西在页面上显示出来,怎么能够在这里面用物理的引擎,先把这些点做好。等你把各个点都做好了之后,这个时候再去思考怎么把这这些点连起来构成面。)
先模仿后改进(先模仿有个好处就是,我做的话做不出来,会很郁闷,甚至找不到可以被教的一个点,这个时候我们就可以模仿别人的项目,比如别人用的是C#写的,我可以模仿它用其他语言来写,这个时候模仿完,我们就可以自己改进,模仿完有了基础,之后改进会有个提升的过程。对于新手来说这些都是至关重要的)
老司机(老司机就是有一定基础了,做了好多项目了,我们要接着去突破好多难点。)
核心难点:从架构到模块(模块怎么分的,从上到下,这些就是老司机的区别)
另外告诉大家,我们学习和做项目的过程中查找和参考的资料的先后顺序建议为:
官方文档,PFC,权威书籍
Google,StackOverFlow
博客
如上,最好的就是看官方文档,因为没有任何东西比这个更权威了,我们的习惯可能是遇到问题经常会去google,但是其实搜出来的大部分是博客,里面都是别人总结出来的,好多都是自己片面的总结,容易影响大家。如果后面发现错误的话,还要重新学习,重新学习的话会出现很多问题,所以一定是优先查官方文档。再就是有的同学说看不懂官方文档,这个困难一定要克服,不光学了英语,还能真正的学习知识。
第三步:总结
项目做完了该总结阶段了,总结要分为三点:
1.核心难点和结果 核心算法 SDK,框架 开发量,准确率
总结的过程真的是一个非常重要的过程,好多同学都会忽视这点,总结也是再学习的一个过程,总结给自己看的同时,可能在后面的面试中也会起到很关键的作用,不要觉得这个过程很遥远,你做到这个程度的时候基本也快要面试了,而且面试官经常会问你在过程中遇到了哪些困难,用了哪些框架,用了哪些算法,这些都是非常关键的,如果你真的很好的总结之后,到了公司,让你换语言,你可能三天就搞定,因为语言对于你来说只是工具。当然,一定要配合官方文档。
2.扩展和深入 单机-->网络 多线程
做项目的过程一定要有所拓展,比如做个单机版的俄罗斯方块,后来又做了一个网络版俄罗斯方块,之后又做了一个人工智能俄罗斯方块,最后做了一个游戏平台,把这个俄罗斯方块嵌了进去。
3.资料总结 博客/及时整理复盘 总结是第二次创作
把学习的过程写博客记录,可以和大家来进行交流,还能对自己的项目进行一些修改,也是很好的一种方式。
当然,还有另外一种提升项目经历的就是去实习,在实际求职中,好多同学投递简历上写的项目,其实在面试官看来没有太多价值,好多一看要么是个课程作业,要么是个导师的项目,别说没有竞争力了,面试官可能连想问的想法都没有。
所以大家趁着现在时间还够,抓紧时间去练习做项目,并不断地去完善、优化和拓展,项目经历在简历中占很大比重,只要你这段时间真真正正的思考去做一些高质量的项目,就会在未来秋招的时候非常抢手。因为即使是985,211的好多同学在项目经历这一部分也可能有些水,所以同学们不用惧怕学校差异,这个不是绝对的,互联网对于学历已经相对不是特别特别看重,反而更加重视个人能力,在项目方面你们是在同一起跑线的。许多双非学校的同学也可以通过自己努力收获数个大厂offer,一分耕耘一分收获,只要你坚持不断的努力,就能够成为别人眼中的大佬! 所以,不要再抱着“我离找工作还很远”或者是“我下学期一定会开始努力学习”的想法了!是否能及时看清局势并找准个人目标,同时抓住当下的一分一秒去努力,决定了你未来的offer等级,蒟蒻和大佬的距离就从这个暑假拉开!



暂无评论
