做一名程序员需要学哪些知识?

问这个问题的人都该打,先拖出去,赏一丈红~

如果你是计算机学生或者意欲从事IT行业的人,那么再仗50大板!!

为什么?因为你肯定想都没有想过这个问题,一个典型的伸手党,这对于从事计算机的人来说是大忌!!且看下面这2个主要原因:

1)程序不可能一帆风顺,如果有这个时候,那么你可能在做梦,总会遇到各种各样的问题,难道你每次遇到问题都张口问“哪个大牛,来帮我看看这个程序什么问题吧,怎么老是提示错误呢?”,如果真的是比较复杂的问题还好,大牛看过之后替你解决了,自己也更有经验了,如果是差一个逗号之类的问题,那么,不打死你才怪~

2)技术更新太快了,你在学校可能是个佼佼者,总是受人追捧,但是有可能一毕业你所学的技术就又更新了,如果你不继续保持学习,过个1~2年,你可能就被淘汰了。就像你在学习HTML,而别人可能已经早就会HTML6/7/8了,而在这个学习过程中,你遇到问题难道会问“谁懂HTML8这个XXX么?”,我天,HTML8才出来,会的人不多,好吗?!

其他原因就不多说了,单从这两点来说,作为一个IT人就不该成为一个伸手党!

好吧,如果你执意要做一个伸手党,也可以,因为直接利用别人的经验,可以节省很多时间和精力,这也是无可厚非的,我们都有做伸手党的时候,关键是有那么一撮人,可够气人的!

他们会问“没有项目经验怎么办?”“新出来的那个python貌似很火,但是不会怎么办?”“课堂上也认真听讲了,网上还自己找视频看了,怎么还是不会XXX啊?”之类的问题,问这类问题的人,简直绝了,这不是明知故问嘛!!

没有项目经验,你不会多做一些小项目啊,谁告诉你项目经验只要大型企业项目啊;python很火,你不知道网上找课程、找资料学啊,你问别人就能立刻明白啊;谁告诉你编程是看出来的啊,学IT要多动手,动手,动手,懂吗?!不动手练习实践,看再多也等于零,就好比你看再多恋爱宝典,不自己去找个女朋友谈个恋爱,一切都是空谈,纸上谈兵很容易的!吧啦吧啦,这样的吐槽,要多少有多少,有时在不开心的时候看看这个问题也是挺有趣的~

前面吧啦吧啦说了一大推有的没的,下面来说说正儿八经的事吧,就是“做一名程序员需要学哪些知识?”

一、两大能力

1、学习能力

关于为什么需要学习能力,前面已经吐槽了,我想理由大家也明白了,这里就不再叙述了;只是再次提醒一下,一定要保持随时学习~

2、动手能力

动手能力还需要啰嗦一下,动手是学习编程的最短途径,如果你有看不懂的地方,可以马上动手操作一下;如果你想自己做个小玩意儿玩玩,不要等着明天,马上开始动手做做;如果你想学新技术,最好的就是动手去写写……

其他关于为什么要多动手啦之类的问题,就不再叙述了,有这个疑问的人,自己打自己一耳光再说吧!

二、基础学习

什么是基础学习?比如你学的java,那么网络基础知识要略懂吧,计算机基础要略懂吧(所谓略懂,就是大概看一本书,了解了解就可以),java语法你要懂吧,java三大框架要懂吧,J2SE要懂吧,JDBC要懂吧,设计模式要懂吧……简单来说,就是你把Java相关的知识都至少要了解或者知道,对于重点核心内容,要通透最好;

具体的就不再叙述了,看下图:

java编程脑图(转载自网络资源)

三、常用工具的掌握

什么是常用工具, 上图可以看到,你的编程开发工具(VIM/IDE/Eclipse),无论你用的哪个,都需要熟练掌握;你的版本工具,现在常用的是git,至少要学习使用最基本的吧,当然还有很多其他的(markdown/数据库的使用等等),你常用的工具都需要掌握才行。

git常用速查表

vim常用速查表

四、技术方向的选择

前面的技能掌握之后,那么恭喜你,你至少可以打打小怪兽了(反正打小怪兽就使劲把你所学的技能使出来就可以了,基本小怪兽就挂了),也可以作为应届毕业生应聘啦,但是这远远不够的,想要打倒BOSS,可不是随便把你所学的技能发射出来就可以的,还需要修炼更多专项技能才行。

这时候就需要选择技术方向了,想想,假如你学的Linux,而你的基础知识学的还不错,你也知道Linux知识技能那么多,你不可能每个方向都精通,唯有精通有一个领域,对其他的了解即可,这样你的竞争力才更大,这时候你就要想好你是要做Linux研发呢还是Linux运维,然后针对所选择的技术领域深入学习,已达到打倒BOSS级别怪物。

貌似就上面几点了,但是可能又有小伙伴要问了,那是看书籍呢,还是网上找资源呢?

~~(>_<)~~,这个问题也是挺有趣的,必须结合起来啊,书籍比较系统,成体系,网络资源多但比较零散,开源项目较多,可以好好学习,不过也不可一概而论,一些IT学习网站的课程还是很有体系的,我的建议是:

1、先看书籍,掌握大概体系;

2、找IT学习网站,对自己不熟悉的地方进行专项学习,同时也有很多 IT学习网站有很多还不错的项目可以练手用(我用的比较多的IT学习网站是实验楼 ,里面有很多不错的课程和项目,最关键的是配有在线环境,比较方便,可以边看边动手实践);

3、逛逛各种社区,国外的、国内的都可以,什么CSDN啊,博客园啊,开源中国啊、SegmentFaultV2ex啊,太多了,挑选自己喜爱的,里面有各种大牛和志同道合的小伙伴一起;

4、开发中遇到的问题,先google了,自己思考,实在还是不懂,再去个社区提问;

其他就不多说了,最后,希望大家都可以成为一名出色的程序猿!

原文发布于微信公众号 - 大数据钻研(bigdata118)

原文发表时间:2016-11-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Crossin的编程教室

工作15年码农总结:学编程难吗?那只是你觉得难!

从2003年写下第一行PHP代码开始,编程就成为了他生活的日常。而他的人生履历,也与编程紧密切合。

12120
来自专栏华章科技

编程能力的四种境界

网址:http://www.vaikan.com/the-four-stages-of-programming-competence/

9510
来自专栏凌帅的阅读思考与实践

OKR和凌帅的OKR

OKR是所有目标管理、时间管理、精力管理、任务管理、甚至员工管理、组织管理、公司管理、社区管理、家庭管理、国家管理的集大成者,终结者,没有之一。只要涉及管理,就...

12220
来自专栏新智元

Google 全面转向人工智能,机器学习高管接管搜索引擎

2016年2月4日,Google 搜索业务负责人 Amit Singhal 即将退休,公司机器学习业务高管 John Giannandrea 将接任其职位。 A...

36570
来自专栏SDNLAB

向SD-WAN迈进——一份针对160家企业公司采用SD-WAN调查报告

Silver Peak与IDG Connect联合对160家中端市场和企业公司进行了官方调查,以确定软件定义WAN(SD-WAN)的真正采用情况。

11030
来自专栏媒矿工厂

Bitmovin: 视频开发者报告 2018

今年的视频开发者报告(Video Developer Report)在发布前总共收到了来自6大洲67个国家的456份调研问卷。该报告旨在对当前工业界使用的视频技...

34250
来自专栏哲学驱动设计

学习过程反思

    本篇反思总结了一般的学习过程。掌握学习的方法,可以让你更高效地进行学习。这对于天天要学新技术的IT人员来说,是非常重要的。     本文反思了自己学习W...

205110
来自专栏PPV课数据科学社区

小数据分析:微博前端大战

最近前端针对某些问题展开了非常激烈的讨论,作为一名围观了全过程的前端新手表示,从中学习到了很多东西。 围观之余,想尝试理性地通过数据分析进行舆论统计,从机器的角...

32550
来自专栏Crossin的编程教室

你的游戏开发第0课

电子游戏是许多人喜爱甚至沉迷的事情。尤其对于程序员来说,开发游戏是不少人最初学习编程的动力。在之前,我发过一些游戏开发的教程和案例:

11020
来自专栏数据小魔方

数据可视化经典案例|让数据说话

今天跟大家分享一个经典的数据可视化案例! 案例的主角是汉斯.罗斯林(Hans Rosling)教授。 它是卡罗琳学院的国际卫生学教授,并担任Gapminder基...

42960

扫码关注云+社区

领取腾讯云代金券