你想告诉准程序员些什么?
因为不怎么懂知乎,所以请知友帮忙邀请一下这方面的大牛吧。
1.趁着在校期间,多做完整项目,多写代码。哪怕没有老师给你项目做,你可以自己创造需求也可以编程实现这个项目。
exp:作为鹅厂面试官一员, 我们会更多基于STAR面试法,主通过你的行为看你的编程能力,除了让你做算法题外,更重要的是你实际写过的代码和项目,效率如何?有没有考虑过异常处理?实际的访问性能如何?有没有开过自己的github项目,或者是给知名项目贡献过源码,其次才是你的编码风格如何,学习成绩啥的。2.产品经理说的不一定都对。
exp:据我的老大(腾讯第一个前端T4)讲,鹅厂的产品好,不仅仅是因为产品经理牛,而是包括程序员在内的所有人都会用自己的产品,有产品的思维。对于产品经理提出的不合理的需求,鹅厂的程序员们会基极主动的站出来,就产品功能提出自己的合理化建议。3.你作为开发你一味的只想用新的技术栈,你考虑过运维同学的感受么?
exp:一台服务器上装 3个版本的虚拟机的故事。在某家云计算公司,技术负责人没有太过于限制研发人员的积极性,在数据库层面用了某款较新的开源数据库软件,在监控类的系统里有着很好的访问性能和扩展性。 但是问题来了,在本公司产品的研发周期中,该数据库进行了几次版本更新,而且版本与版本之间存在一定兼容性问题,为了要用好该开源数据库软件的性能,开发通过创建3台虚拟机的方式提供社区镜像服务。4.当你踩过的技术的坑多了,自然你就成为大牛了...
exp:之前我在知乎发了一篇小程序的教程,得到了800多个赞和知乎编辑的推荐,背后是花了3个晚上每晚干到12点,来填小程序的一些坑。5.学技术要学主流框架,学Node要学Express,学Java就不要忘了SSH,学Ruby首学Rails。
exp:非主流技术比如Action Script,你会也没人招这个专业的。6.关注云计算、docker、微服务、Devops、Baas技术
exp:下来这些可能技术或者思想会改变5-10年后的IT业界,比如云计算会干掉不少传统IDC运维,Baas会干掉不少后端开发。7.没有人一定要帮你,要让你值得别人来帮。
exp:就以常见的填坑为例(修复问题+错误调试),你可以自己摸索,也可以找前辈请教,态度好一些,干活勤快一些,自然多一些机会获得前辈指教。8.你干了什么,你的老板知道么?
exp:新任研发总监的故事 我的朋友是一家创业公司的某研发部负责人,他的老板在上海,他们的研发团队在成都,老板大概三个月才来一次成都分公司。朋友和我反映他感觉自己和团队成员交流完全没问题,但就是被各种需求压的喘不过气,有的时候他都觉得手下的研发太苦,我和他提起,你离你们老板这么远,你做的事他都认可吗? 他说还真是,这块老板似乎多次暗示过,但是他都没有太关注...所以,做好向上沟通很重要。9.对于新技术的热爱不仅可以拿来装13,而且可以变成创业的优势
exp:朋友是极客学院的CTO,他们两个创始人是国内第一批安卓开发者,写了国内第一本这方面的技术教程,后面围绕着读者衍生出了eoeandorid开发者社区,再演变出了当前的在线技术教育项目极客学院,目前已经超过200万用户,而且获得B轮融资。所以,谁说技术的热爱不能成为你技术创业过程中的优势呢?
- 不要担心自己没有计算机基础,也不要羡慕高中有计算机基础的同学,其实你们都还是在一个水平线上。
- 很多课程不是没用,不要太抱怨,只是教学的方式没有办法引起你的兴趣。对于一门课程,选一本经典的教材,认真研读,并且善于Google,看看国外名校这门课程的教材与讲义,并且做做他们的作业。
- 数学很重要,也许你只有这一次机会有大把的时间来好好学习数学。
- 编程语言不需要会太多,C,C++,Java,Python,汇编远远足够。增长见识可以看看函数式语言,如OCaml,Haskell。学会一门语言,就去用这门语言刷刷题,如HackerRank | Technical Recruiting,About - Project Euler。
- 勿好高骛远。经常去造造轮子,如标准库,OS,编译器,网络库,这个时候都是青春年少容易被诱惑的时候,但是切记不要被周围所谓华丽的界面与技术迷惑,那些其实都是浮云。
- 找找实习,好好学习后找实习不要太容易,不要担心周围的人都很厉害,其实大部分水的让人难以置信。趁实习可以好好体验一下工作中编程是如何的,丰富一下自己的经历。
- 和室友处好关系,交一两个好基友。
- 好好谈一次恋爱,无论以后你们的结局如何,TA一定会教会你很多,以后记得感谢TA,TA也在用TA最美好的时光和你在一起。
- 看看夕阳,听听音乐,读读文学,全身心的放松,去享受一下大学的美好,努力的同时不要太担心未来,大学生是最美好的职业,大学也是最美丽的时光,这是属于你的青春,好好珍惜。
千万不要觉得大学四年很长!!!其实一晃就过去了!!!
千万不要觉得大学有四年!!!其实大三就要找工作了!!!千万不要老是想着哪个语言好,纠结Windows还是Linux,幻想成为谁谁谁一样,最重要的是脚踏实地。为什么要粗体+感叹号,因为都是我含泪打出来的。。。-------------------------第一次更新------------------------被越来越多人点赞了,方要认真补充几句话了。
如果还有点追求,大学课程教的东西,我指专业方面,少的可怜。如果你只是上完课,听了课,完成了作业,完成了考试,而已,那几乎相当于没学。因为有可能你一个寒暑假能忘掉你学的东西。以我们为例,大一第一学期c语言,第二学期数据结构,现在大二第一学期java,而有多少个人还记得c怎么写?还记得怎么层次遍历二叉树?还记得图最短路?这很基础但能有一半以上人不能在纸上完整写出你信?当然,我说这个的意思不是指,你要记住c语言怎么写,记住这些数据结构怎么实现,而是,对于我们的专业,如果你还热爱这个专业,如果你还想学好编程,那么请保持练习。当你踩过的坑多了,思考过的坑多了,你才能不断进步,慢慢朝着专业的方向前进。对于编程,没有捷径,无他,唯手熟尔。对于怎么练习,可以去看其他的问题和回答。
知道准程序员,或者说初学者,最容易问的或者说最经常想的问题是什么吗?是那些听起来很酷但实际离他们很远的东西。比如:怎么做一个游戏?怎么做一个(类似QQ)的软件?xxxx要怎么实现?等等等等。确实每个人都想做出一个像样的东西来,但在你没学会走之前,不要跑。你可以把做这样一个大型的东西当做一个目标,但他不是你现在该去做的事,否则你也不会看这个回答。你目前该关注的是什么?是离你最近,但比你现在所知道的要高出那么一点点的东西。每个阶段,你都可以尽自己所学的,做一个你认为最好的、最难的,但是经过时间思考和努力能做出来的东西。
比如,你刚学编程,你可以做一个控制台版的扫雷,学完基本语法了,做一个贪吃蛇,去查WIN API怎么用,又学了一段时间,做升级版贪吃蛇,加入了数个COM蛇。不要对此嗤之以鼻,对于初学者来说,这很酷不是么?当你熟悉了语法之后,还在做课后几分钟、几小时的题有意义么?慢慢开始做几天、几周、几个月才能做出来的东西。别怕,任何大型的东西,也是由小的区块组成的。你不开始的时候,觉得它永远都难,你开始之后,就会专注在目前所做的部分。毕竟,有的东西,你只有做到一定规模,你才会接触到坑在哪。不必担心你那远大的目标,不用纠结怎么才能知道那么多东西,你只要坚持以上所说,慢慢的你会在适当的时候,接触到你想知道的。
以上。个人体会,如有不到之处还请谅解。
先这些