永发信息网

一个优秀的程序员必须学习什么课程呢?

答案:6  悬赏:40  手机版
解决时间 2021-02-14 05:06
简单说说吧!
最佳答案
怎样评定一名软件开发人员?这是一个颇为奇怪的问题。现在已经有了很多的理论和形式来做这件事,人力资源部门也试着帮你管理和反省自己的行为。然而,怎样才是一个伟大的软件开发人员,在今天,你该怎样发展你的职业生涯?以下是我评定团队中软件开发人员的“军规”。按照这些技巧和规则,你可以改善你的现状,由一个优秀的程序员,成为一名伟大的程序员。 1、时间花在写精彩的代码上 这里说的不是数量,而是质量。对此,一种歪曲是:要数量,也要质量。你也许会很多次的遇到以下的两种情境: 情境A:你有一个发疯似的能写代码的程序员,事情似乎在进展中……然后,Bug开始不断出现,你们也不知道为什么,好像永远补不完。补完十个,又出来五个,现在你手里的,就是一大堆代码…… 情境B:你现在有一个看起来很聪明的程序员,你面试他的时候,他似乎无所不知,能把理论说的头头是道。然而,你留给他三个任务,三个星期以后,他还在做一些三天就该干完的事。这下该你困惑了,他这么聪明,他知道generics(详见备注),多线程的一切事情,甚至还能给祖母级的人讲解什么是指针,让老太太兴奋的想去编程。可是——怎么什么都没完成? 于是,在梦境中——你写出了堪称伟大的代码,——伟大的代码是伟大的程序员写出来的,他睿智,明白代码的真正品质所在。写代码就像托尼?霍克在玩滑板一样自然优美,看上去就令人愉快。这些程序员以让你眼花的速度搞定一切,他们知道每个问题应该处理多长时间,也不会追捧寻觅所谓的世界最好解决方案,弄很多线程很多层来写一个简单的游戏。他们写的程序没有Bug,因为写的时候自己测试过了,在睡觉时也在写代码说的就是这样的人。这些程序员太宝贵了。 2、阐明问题 可以明确的是:即使有问题暂时处理不了,还有成百上千的方法去解决。有些人反应很迅速,很快就能提出多种解决方案。然而,一个伟大的程序员应该在做出行动以前清晰阐明问题——创建文档或用白板表达出来。他们写邮件给项目的管理者,这样表述:“我想和你说说我是怎么理解这个问题的,我们能这样处理吗?”然后他们就会动手给你多种方案。 对,这些人明白自己看问题和阐明立场的方式,而这理解方式大概不会是问题创建者所想要被理解的。请牢记这就是关键所在。一名伟大的程序员在尝试解决问题以前,一定要完全的理解它。你百分百搞明白了吗?没有?百分之九十九?——回去再多问些问题,确保百分之百理解清楚了。 3、怎样着手解决问题 那一搞明白了问题,就开始动手写代码?错!一个伟大的程序员应该按照规划,开始思考面临的多种选择,基于问题开始考虑最好的解决方案。我觉的这像一场国际象棋比赛。你知道每个棋可以怎么走,知道所有的游戏规则。但是你会马上走棋吗?不,你要审时度势,制订计划,紧盯对手,分析其通常的做法。和这一样,在你coding解决问题以前,你也要这么做。 看看问题,计算出需要怎样的结果,你的时间能怎么安排,预期的质量,你必须用的工具,……好了,开工吧!内容导航 4、对代码的信任 作为项目管理者,你怎么相信他们的代码。有些程序员,你可以对他们说:“我星期五就要结果”。——星期五到了,你收到了这样的Email:“代码我都已经检查过了,现在就等着测试了。”你很放心,只会有很少的瑕疵在质量确保的团队被查到。当然,还有些轻率的例子,一些程序员在邮件里是这样说的:“我还没弄完,星期一上午我会最先完成它”。你不太确信这东西,发现很多Bug,很长时间基本上不能用。又得花上几个星期清理代码中的Bug。 关键:你对一个开发人员越有信心,他离成为一个伟大的程序员的距离就越近。想象你是你的管理者,如果他并不担心你的代码,会给你多少信心和勇气! 5、对方案的信任 和对代码的信任是一回事——如果你手上有伟大的程序员,你就会对解决方案有信心。这些程序员同时也是伟大的建筑师。他们剖析整个问题,指出问题需要怎样去解决。这就不只是用伟大的代码编程的问题了,很大程度取决于你怎样构筑解决方案。这是关键,而且会让你在软件世界里出类拔萃。 6、满足客户需求 一天下来,你写出了最棒的代码、用了最好的框架和最好的解决方案,但这真的能迎合用户的需求吗?恐怕根本不是那么回事儿。你搞砸了。尽管现在多次失手,一个伟大的程序员还是会正中靶心,找出客户需要的,给用户逐步展示他们所需要的无bug的最终版本。需求正中靶心的同时,用户满意了。 7、不断升级 伟大的程序员会积极主动地把自己的技术升级。他们对知识的态度就像饿猫见着了牛奶,他们从不用上级催促给自己设定目标、不用经理要求他们完成任务,因为他们自己就已经安排OK了。 他们发现自己想要参加的大会就会给公司写Email“本人非常想参加今年的Tech-Ed大会。我将用心研习,并对作出贡献。我预计这可节省<金钱/其他原因>。如果可行,不知公司是否帮我支付此行?”如果我收到这样的邮件,我不仅会帮他支付参会费用,他的路费我也会全程买单。 伟大的程序员们永远会关注例如.net用户组或Java用户组的所有用户群体。他们参加本地的技术会议,并从中汲取知识。你会看所有最新博客和最新的杂志吗?现在列出你最喜欢的前5个开发博客。你能做到吗?你应该像参加基督教青年会那样轻松做到。做到这些,可以很好的帮助你延伸你的思路
全部回答
程序员也分种类的,比如JAVA C C++ 安卓 等等等的
得看你偏重哪方面的开发咯,JAVA? C? C#?当然你也可以全部精通,不过学得太多太杂都没有精通的,术业有专攻嘛
一、编程类软件。 1.eclipse和jdk。 这是java类编程软件,专门做java编程使用。如果需要做服务器发布类程序,可以配合tomcat使用,如果需要项目管理类,则可以配合maven等项目管理集成软件使用。大多数java类编程分为底层接口初始化程序、系统程序、主程序、端口程序和前端展示部分程序。 jdk不用多说,就是java软件,是java程序的基础软件。  2.sourceinsight和keil。 这两个主要用于c的程序的编辑,目前c程序主要为大型项目的底层或者是单片机类的元件编程服务,类似于满大街的单车或者物联网的终端多由c程序编写而成。此两款软件各有特色,实用性很强,为广大c语言爱好者广泛使用。 3.VC++类软件。 这部分三分没怎么使用过,所以没那么熟悉,仅仅知道Visual Studio. 二、数据库类软件。 1.navicat和SQLyog。 这两个主要用于静态数据库的管理,如账户,密码,以及网页上很多静态可变更的数据。 当然,这两个的基础必须安装了mysal,因为是基础软件,所以不用专门列出。 2.redis。 实时内存数据库软件,主要做动态数据的数据库,有速度快,存储内存中空间小,只存最后一条的特点,也会定期存磁盘。 三、linux类软件。 1.secureCRT。 2.putty。 3.xshell。 这三个主要是用来连接linux系统的软件,各有特色,使用中都可以用,putty更简单,其他两个功能更强大些。主要在服务器层面或者单片机层面进行操作,相信每一个运维工作者对这些软件都是烂熟于胸的。  四、虚拟化类软件。 1.VMwaresphereClient。 2.VMwareWorkstationpro。 3.esxi。
首先看你要选择程序员中的哪门技术了,做程序员也有很多技术的,比如JAVA、IOS、Android、前端、大数据、AI之类的。 想要做到优秀,首先肯定是要能够满足公司现阶段的开发任务,在闲暇之余去学习了解相关技术,而中小型公司的PM、CTO都是JAVA出身,因为做资深JAVA要会很多相关的技术,比如Web、SQL、服务器之类的。 具体要学习哪些课程,要针对你的发展发现了。
怎样评定一名软件开发人员?这是一个颇为奇怪的问题。现在已经有了很多的理论和形式来做这件事,人力资源部门也试着帮你管理和反省自己的行为。然而,怎样才是一个伟大的软件开发人员,在今天,你该怎样发展你的职业生涯?以下是我评定团队中软件开发人员的“军规”。按照这些技巧和规则,你可以改善你的现状,由一个优秀的程序员,成为一名伟大的程序员。

1、时间花在写精彩的代码上

这里说的不是数量,而是质量。对此,一种歪曲是:要数量,也要质量。你也许会很多次的遇到以下的两种情境:

情境a:你有一个发疯似的能写代码的程序员,事情似乎在进展中……然后,bug开始不断出现,你们也不知道为什么,好像永远补不完。补完十个,又出来五个,现在你手里的,就是一大堆代码……

情境b:你现在有一个看起来很聪明的程序员,你面试他的时候,他似乎无所不知,能把理论说的头头是道。然而,你留给他三个任务,三个星期以后,他还在做一些三天就该干完的事。这下该你困惑了,他这么聪明,他知道generics(详见备注),多线程的一切事情,甚至还能给祖母级的人讲解什么是指针,让老太太兴奋的想去编程。可是——怎么什么都没完成?

于是,在梦境中——你写出了堪称伟大的代码,——伟大的代码是伟大的程序员写出来的,他睿智,明白代码的真正品质所在。写代码就像托尼?霍克在玩滑板一样自然优美,看上去就令人愉快。这些程序员以让你眼花的速度搞定一切,他们知道每个问题应该处理多长时间,也不会追捧寻觅所谓的世界最好解决方案,弄很多线程很多层来写一个简单的游戏。他们写的程序没有bug,因为写的时候自己测试过了,在睡觉时也在写代码说的就是这样的人。这些程序员太宝贵了。

2、阐明问题

可以明确的是:即使有问题暂时处理不了,还有成百上千的方法去解决。有些人反应很迅速,很快就能提出多种解决方案。然而,一个伟大的程序员应该在做出行动以前清晰阐明问题——创建文档或用白板表达出来。他们写邮件给项目的管理者,这样表述:“我想和你说说我是怎么理解这个问题的,我们能这样处理吗?”然后他们就会动手给你多种方案。

对,这些人明白自己看问题和阐明立场的方式,而这理解方式大概不会是问题创建者所想要被理解的。请牢记这就是关键所在。一名伟大的程序员在尝试解决问题以前,一定要完全的理解它。你百分百搞明白了吗?没有?百分之九十九?——回去再多问些问题,确保百分之百理解清楚了。

3、怎样着手解决问题

那一搞明白了问题,就开始动手写代码?错!一个伟大的程序员应该按照规划,开始思考面临的多种选择,基于问题开始考虑最好的解决方案。我觉的这像一场国际象棋比赛。你知道每个棋可以怎么走,知道所有的游戏规则。但是你会马上走棋吗?不,你要审时度势,制订计划,紧盯对手,分析其通常的做法。和这一样,在你coding解决问题以前,你也要这么做。

看看问题,计算出需要怎样的结果,你的时间能怎么安排,预期的质量,你必须用的工具,……好了,开工吧!

内容导航

4、对代码的信任

作为项目管理者,你怎么相信他们的代码。有些程序员,你可以对他们说:“我星期五就要结果”。——星期五到了,你收到了这样的email:“代码我都已经检查过了,现在就等着测试了。”你很放心,只会有很少的瑕疵在质量确保的团队被查到。当然,还有些轻率的例子,一些程序员在邮件里是这样说的:“我还没弄完,星期一上午我会最先完成它”。你不太确信这东西,发现很多bug,很长时间基本上不能用。又得花上几个星期清理代码中的bug。

关键:你对一个开发人员越有信心,他离成为一个伟大的程序员的距离就越近。想象你是你的管理者,如果他并不担心你的代码,会给你多少信心和勇气!

5、对方案的信任

和对代码的信任是一回事——如果你手上有伟大的程序员,你就会对解决方案有信心。这些程序员同时也是伟大的建筑师。他们剖析整个问题,指出问题需要怎样去解决。这就不只是用伟大的代码编程的问题了,很大程度取决于你怎样构筑解决方案。这是关键,而且会让你在软件世界里出类拔萃。

6、满足客户需求

一天下来,你写出了最棒的代码、用了最好的框架和最好的解决方案,但这真的能迎合用户的需求吗?恐怕根本不是那么回事儿。你搞砸了。尽管现在多次失手,一个伟大的程序员还是会正中靶心,找出客户需要的,给用户逐步展示他们所需要的无bug的最终版本。需求正中靶心的同时,用户满意了。

7、不断升级

伟大的程序员会积极主动地把自己的技术升级。他们对知识的态度就像饿猫见着了牛奶,他们从不用上级催促给自己设定目标、不用经理要求他们完成任务,因为他们自己就已经安排ok了。

他们发现自己想要参加的大会就会给公司写email“本人非常想参加今年的tech-ed大会。我将用心研习,并对作出贡献。我预计这可节省<金钱/其他原因>。如果可行,不知公司是否帮我支付此行?”如果我收到这样的邮件,我不仅会帮他支付参会费用,他的路费我也会全程买单。

伟大的程序员们永远会关注例如.net用户组或java用户组的所有用户群体。他们参加本地的技术会议,并从中汲取知识。你会看所有最新博客和最新的杂志吗?现在列出你最喜欢的前5个开发博客。你能做到吗?你应该像参加基督教青年会那样轻松做到。做到这些,可以很好的帮助你延伸你的思路

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
网络电视怎样下载沙发管家
刘王坡村地址好找么,我有些事要过去
说说再生胶有什么优点及缺点?
有什么方法能快速赚50元,我14岁欠人家50,明
马官屯村怎么去啊,我要去那办事
王粲 生平事迹
二十里铺村地址有知道的么?有点事想过去
高阳县地址在什么地方,想过去办事
【周总理你在哪里】《周总理你在哪里》主要内
自古未闻不绝之墓,亦未闻不亡之国,出自哪里
后仓街社区居委会地址在什么地方,想过去办事
电脑网页不能正常显示 版面都乱了 贴吧不能回
中国十大真石漆品牌有哪些,有没有人可以分享
乌兰浩来高勒在什么地方啊,我要过去处理事情
西安哪里的五香牛肉最好吃?
推荐资讯
宝顶工商行政管理所地址在什么地方,想过去办
当|x|的麦克劳林展开式正确的是:A.B.C.D.ABC
青云网吧地址有知道的么?有点事想过去
征集好作文
日产奇骏引擎盖怎么打开,奇骏发动机舱图解,
停车场(入口)(广场路与顶城路交叉口东南100米
某企业在生产经营的淡季,需占用450万元的流
老龙船8年红酒价格?跪求?
电视连上摄像头连上网,用什么软件或者什么方
现场签证是什么?实际工程中如何做呢?
【contain】contain hold 当容纳解释的区别
炒宽粉怎么做
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?