毕业前写了20万行代码,让我从成为同窗眼里的面霸!

做者:小傅哥
博客:https://bugstack.cnhtml

沉淀、分享、成长,让本身和他人都能有所收获!😄

1、前言

20万行代码写完,毕业了找一份工做不是问题!git

刚一毕业由于找不到工做,就得报名去参加Java培训的大有人在。并非说参加培训就很差,只不过以你如今这个毕业的时间点参加,就会显得特别匆忙。由于你的压力既来自于培训还须要花家里一笔不小的费用,也有同班同窗已经找到一份不错的工做开始赚钱的比对。程序员

大学四年其实有足够的时间让你学会编程,也能从一个较长时间的学习中,知道本身适合不适合作程序员。就像个人同窗里虽然都是计算机或者软件工程专业,但毕业后并无都从事软件开发工做,或者从事了一段时间发现并不适合这个行业而选择到其余领域发展。github

因此若是你是真的喜欢编程,那么在这个行业里工做你会很开心,若是不是那么日后路还长,你所要面对的晋升加薪跳槽均可能成为一道道障碍。目前可能你仍是新人不了解本身是否喜欢编程开发,那么能够在之后的学习中体会,本身是否愿意为一个运行结果调来调去,展转不寐的研究分析,只为最后那一个运行经过而激动!面试

当你能够在激动和开心中写完20万行代码,对于毕业后的求职找工做来讲几乎能够叫你一声面霸,也可能你在实习时就被公司直接留下,这是我的才组织须要你! 算法

20万行代码看上去不少,但放在4年的大学学习中并不会有多难。平均天天200行,一个月是6000行,一年算10个月是6万行,三年就有18万行。这20万行代码会把你从一个编程小白,带入到熟练使用Java相关API,也能给你带入到初级工程师的水平。编程

初学编程你可能想把一句代码完整敲下来都不容易,就更不用说运行出结果了。所以此时你的大脑和手还并不能迅速理解你眼睛里看到的这一行行代码都是啥,要干啥。这就像新买回来的钢琴手指头上去摸确定是生硬的,敲出的声音也不连贯。这个阶段只能是照着例子大量的写,度过一个熟练期才能更好的学习。设计模式

为了可让更多的小伙伴理解这件事,我会从个人在校培训外包跳槽阶段成长以及找什么样的工做分享给你们做为参考,最后再把我整理出资料一并分享给你们。数组

2、经历

12年10月25日,在CSDN发的一个帖子 拿到两个offer,一个7k,一个转正税后4.5k。求意见! 距离如今它已通过去很久了,当时也是由于拿到了两份offer的选择纠结,因此发了个帖子求问。好气的是当时居然不知道去面试面试互联网公司,信息太闭塞了,并且培训的地方并无说过互联网一些公司的信息。微信

讲一讲我这7k的经历;

  1. 12年07月,校企合做来北京昌平一个小县城的地方参加中软培训
  2. 12年10月,培训接近尾声,开始找工做,月薪7k的中软就是最后的选择的地方,放弃了在北航院内的国家科技
  3. 12年12月,虽然拿到中软Offer但迟迟不让入职,电话联系了不少次我说能够先去实习,但都说等通知。没办法,在北京也不可能就硬待着,回家的话也麻烦行李、住宿都得折腾,因此又面了一家中科软进去实习了三个月,赚点钱养活本身
  4. 13年03月,中软的通知终于来了,但居然是参加岗前培训,又被培训了一次,当时特别讨厌培训,每次都是讲Java基础,差点生气怼老师
  5. 13年09月,在中软正式转正,也就是说培训完又是实习,7月份毕业后9月份才入职为正式员工,内心有点不爽,埋下了一个后续跳槽的种子。哪有实习这么久的!
  6. 15年04月,第一次有跳槽准备,毕竟写了两年的C#写够了,面试了第一家互联网公司,乐视致新,不事后来没去,被公司留了下来
  7. 15年08月,以前谈的留下来涨薪,但最后少涨了1千块钱。因此继续面试,还算顺利面了两家,最后在8月25日跳槽进互联网完成。

以上整个过程就是我从学校实习找工做以及最后跳槽的一个阶段性经历,也有过在这条路上跌跌撞撞。就像;

  • 虽然我面到了中软管培生,但错失没选择要北京户口,而是要了400块房补
  • 在中软9月份从实习转正式员工,错过了第二年的入职满一年才涨薪的条件(但我以为这个有点故意坑了)
  • 明明是学了那么多Java,但却写了两年C#,你们仍是要选择本身喜欢的语言进行工做,不然会很麻烦
  • 提了离职,基本就不要想着再留下来,不管什么条件。哪怕钱和职位知足了,内心也有隔阂以及我的对没经历过事情的一个期许
  • 从传统外包跳槽的互联网,并不那么容易,技术使用的不一样、开发场景的不一样、组织关系的不一样,一切均可能是从一个较低的位置从新开始。你须要自身技术不错,也须要一个好人带
  • 但当时在的传统也有不错的点,好比能够5:30下班,带个人经理人很不错,公司也不那么累,有时候还能够出差溜达溜达。

3、学习

一个大学生会经历在校、实习、就业几个阶段,其中在校学习属于蓄力阶段,要学习不少知识才能支撑起来未来的实习和平稳就业。

蓄力阶段的学习,主要是对编程技术的基础的夯实,以及多学习与数学相关的内容,好比;数据结构、算法逻辑,这些知识对未来在技术上的提高和造诣都是很是好的基石。下面就是整个大学过程当中在编程学习过程当中须要经历的阶段,如图;

  • 熟悉工具:初学编程后你大概会接触到一系列的研发工具,包括IDEA、Eclipse、Navicat、Maven、Git、Tortoise、SourceTree、Visio、Xmind等等,工具的熟练会让编程更流畅。
  • 编写代码:此时你须要大量写代码,写不少的代码,由于你几乎就是须要靠写代码把整个所学的编程语言熟练使用起来。总不能手生到写完 public,写不出来 class,这跟我不会弹钢琴同样,敲完了1,后面不知道要在哪找下一个音符♪了。
  • 功能开发:小的功能开发是综合锻炼技术使用的阶段,好比作一个计算器、求一个水仙数、从一篇html中摘取你要的信息等等。此段经历会解决你以前感受学完技术没出用的痛苦,如今你能够想象出各类场景问题,以后用代码去处理。还能够帮助英语系的小师妹,把她须要背的单词从网站中爬取下来,汇总出各种热词、语句、摘要等
  • 项目开发:小功能练手后,接下来你就能够作作项目了。好比你常听到的图书管理系统、教师教学管理系统等等。若是以为没有意思,你能够从哪里获取项目呢?从你用到的各种APP中,把这里用的功能简化,以后作一些项目开发。好比一个简单的商城、抽奖、全物流单号查询。另外你还能够在github中查找一些项目,去参考学习并本身动手实践。
  • 数据结构:可能初学编程并不会对数据结构有多少思考,也想象不到这类内容是用在哪的。但其实这类技术内容早已被你每天使用,例如:LinkedList、ArrayList、HashMap,这里就包括了数组链表队列散列表等各项数据结构,当你未来要开发一些较大型的互联网应用程序时,你全部的逻辑设计都会考虑到数据要如何存放,数据结构如何设计才能更合理的被程序使用。
  • 算法逻辑:学完数据结构接下来要作的就是对算法逻辑的学习,这里不只仅是简单的刷题,而是在数据结构的上使用算法将数据更合理的存放和读取以及作相应的操做。就像你能逐步了解的;排序、二分、旋转、洗牌等等,以及未来还会在阅读JDK源码中会看到,扰动函数、负载因子、拉链寻址、开放寻址、哈希散列、除法散列法、平方散列法、斐波那契(Fibonacci)散列法等等。
  • 设计模式:当你开发了不少不少程序代码之后,你会逐步的思考怎么才能让这些代码有可复用性呢,怎么写才能让更多人读懂呢、怎么实现才能让再接需求时能更快的承接呢。这些都会随着你开始实习真正接触到公司级的代码开始逐步的感觉到的,写代码不是一锤子买卖,也不是炫耀技术,当你有更宽的视野范围时,就会思考的更多。这里推荐阅读《重学Java设计模式》 这是一本基于互联网真实案例编写的Java设计模式实践图书。全书以解决方案为核心,从实际开发业务中抽离出交易、营销、规则引擎、中间件、框架源码等22个真实场景,对设计模式进行全面、完全的分析。帮助读者灵活地使用各类设计模式,从容应对复杂变化的业务需求,编写出易维护、可扩展的代码结构。

以我我的经历和经验来看,想搞定这些学习范围和内容,最大的动力是来自于对编程的热爱和折腾。就像我这样作过不少土项目,以下;

  • 串口通讯、在线考试、考试抽题、彩礼管理、成绩管理、即时聊天、计算器还有后来折腾过的仿微信聊天,这些项目均可以不断的夯实我的的技术能力,每一次作新的一个项目都会把以前所遇到的问题,又考虑新的实现方式再折腾一遍。
  • 编程的学习中重要的并非结果,而是在这个过程当中经历了什么。哪怕是犯了不少的错也不要紧,由于每一次犯错都是学习的机会,均可以找到更多的资料,每个资料里又可能教会你其余的知识。

4、就业

不仅是我,可能不少在上学阶段并不知道都是作Java开发,就业的企业也分为传统行业、国企、半国企、外包、外企、互联网等这么多类型,尤为是我这样在13年毕业的时候,既没有所谓的就业指导,也没有有经验的朋友了解,就只能跟着你们走。好在如今你们能够在互联网中获取到这些信息,也就能早早的帮助毕业同窗进行择业。

1. 传统行业

  • 难度:⭐⭐
  • 公司:金蝶、用友
  • 发展:在传统行业方面有较强的技术积累和产品沉淀,通常其余公司也都有传统行业研发的产品。另外如今的传统行业逐步包括了互联网的领域开发以及技术使用,只不过会比纯互联网少一些高并发场景,由于大部分这类软件面对的并非C端人群。因此我的进入此类公司会相对比较稳定,但若是后期想再跳槽比较麻烦,会出现技术断层。

2. 国企&半国企

  • 难度:⭐⭐⭐
  • 公司:联想、京东方、中软国际、国家电网
  • 发展:早前应届生入职国企或者半国企通常会有解决北京户口,但如今可能名额不断的减小了。像中软有一部分本身作的东西,也有一部分是承接外包的内容。此类公司作的工做内容可能比较单一,有时候一个项目会用不少年,但同时可能不会太忙,有一些本身的时间,而且像联想、国家电网福利待遇也都不错。

3. 外包

  • 难度:⭐⭐⭐
  • 公司:对日外包、企业外包
  • 发展:像是在大连会有一些专门的对日外包企业,还可能须要长期在日本出差。个人两个同窗上学时候日语都学的不错,如今一直在日本工做,就他们来讲挺习惯在外面的生活了。还有一部分外包是企业外包,好比你入职一个外包公司,可能会把你这我的外派给华为、腾讯、阿里等公司,开发他们外包出来的工做,此类工做通常相对来讲短时间、非核心。但干的好的也有转正机会,直接入职大厂,不过比较难。并且外包到企业里的人员,没有正式员工的待遇

4. 外企

  • 难度:⭐⭐⭐⭐
  • 公司:亚马逊、谷歌、微软
  • 发展:外企工做仍是挺香的,相对来讲没有那么强的加班,福利待遇也比较不错。例如像这类的公司会明确写上不加班,以及各类假期和旅游。但多是近几年被国内互联网挤压的,也有一些在国内的外企有裁人的动做。

5. 互联网

  • 难度:⭐⭐⭐⭐⭐
  • 公司:百度、阿里、腾讯、字节、京东、美团、滴滴等等
  • 发展:这类公司在北上广就多了去了,虽然多但面试难度仍然不低,尤为是如今内卷的状况下,须要你会不少知识以及数据结构或者刷算法,才可能找到一份不错的工做。此类的公司的薪资待遇不错,每一年都水涨船高,可能一个刚毕业的重点大学,大学生,入职的薪资就要倒挂各种老员工了。除了有少量的内卷,其余的仍是挺不错的。

6. 出国

  • 难度:⭐⭐⭐⭐⭐
  • 公司:加拿大的 shopee、美国的脸书、谷歌、苹果等等
  • 发展:若是喜欢国外的生活,又有出去的本事,那也是一个很是好的选择。像小傅哥熟悉的一个北大的伙伴,入职到了加拿大的 shopee,收入以及整个生活节奏对他来讲仍是很是满意的。

以上就是各种公司的一个简单介绍,每个人就业时都会有本身的选择,好比想安稳些、想要户口、想要高工资、想不那么加班等等,只要你能对本身的选择负责,合理规划好本身的职业发展,那么就能够了。

5、资料

1. 技术内容

其实如今互联网的文档、资料、书籍、视频都已经不少了,但也可能正由于太多了,让初学编程的人找不到所处阶段,大1、大2、大3、大四以及毕业了工做了几年后,都应该找什么样的资料学习。

因此我这里把各种资料进行整合,按照不一样阶段的学习范围把资料分到不一样的文件夹去,方便所处不一样阶段的读者能够有一个相对准确的学习范围。

2. 实战内容

若是你已经跨过了初级阶段,须要作一些实践型的项目,能够关注下个人Github,以下:

  • 内容:本代码库是做者小傅哥多年从事一线互联网Java开发的学习历程技术汇总,旨在为你们提供一个清晰详细的学习教程,侧重点更倾向编写Java核心内容。这部分资料也是我所写博客中实践项目的源码,在这里你能够学到Netty、字节码编程、设计模式、领域驱动设计、规则引擎、面试、架构以及职场经历的分享。
  • 地址https://github.com/fuzhengwei/CodeGuide/wiki

6、总结

  • 若是一个大学生不怎么关注技术博客,也不知道有哪些技术博客,那么大几率你基本不会了解到你要学什么技术,也没有渠道可让你拓展本身的知识面。而且尤为是在如今的软件基于人群喜爱推荐下,你知道的越少的东西,就越少知道这个东西。因此主动有意识的学习,几乎是你我的成长最快的方式。
  • 作一件事,就把一件事作好!认认真真的长期坚持下来,你会在所走的路上收获不少,千万不要急于求成,不然你能得到的只是微乎其微。当你有一天真的要拿手里的这几张牌,出去闯荡的时候,会被人家炸哭。
  • 另外在大学里进来不要去作一些不会给自身带来长久价值的兼职工做,若是你真的缺那份钱另说,不然尽量把这些时间用在你未来要找的工做所需的知识学习上。时间很少,作有价值的事更有益我的成长。
  • 酒香不怕巷子深,放在如今是几乎就是不可能的。由于酒不在是你一家酒了,谁能曝光的更多,宣传的更足,展现的更好,谁就更有机会可能成为佼佼者。不然站在台上那个不必定比你强的人,却可能比你过的更好。

7、系列推荐

相关文章
相关标签/搜索