重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
答:
网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了平安免费建站欢迎大家使用!
首先你要清楚程序员也分很多种,从语言分,有C,C++,C#,JAVA,Delphi等等,你要考虑好弄自己向哪部分发展。
一般如果没什么理解可以从C语言学起,因为C语言比较贴切于机器语言,大学里面一般也都是先学C的,学好了C语言,可以触类旁通,更容易学其他的语言。
2.Java据说是现在最热门的(所有程序员都觉得自己用的那个语言最牛逼),IOS或者android学了可以做手机软件哦,Delphi和C#是用控件拖出自己想要的结果,然后在后台写代码的,不过有人说Delphi相对落伍了,但好些大公司还是在用Delphi来搭框架的。
3.选定好语言后,如果觉得自己理解能力动手能力超强的话,自己买本入门的书,或者网上看些教学视频,边看边实践。不过这个对于初学者来说真的挺难的,因为第一次的话,可能连环境都搭不好,用来编程的软件对初学者来说还是蛮麻烦的一种软件,不是这个不行,就是那个设置错了,或者连一些基础的窗口啊工程啊项目啊的概念都没有,百度起来又要答案一个一个看,浪费时间。而且还要自己搭数据库啊什么的,真的很难。有老师教的时候,还能挂科一大片的。不过入门了,之后就简单了,自己随便找本书,学学代码用法啊,照着打就可以了。
拓展资料:
程序员(英文Programmer)是从事程序开发、程序维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类。
岗位职责:
1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
7、负责相关技术文档的拟订。
8、负责对业务领域内的技术发展动态进行分析研究。
参考资料:
百度百科词条 程序员
程序员的岗位需求很多,例如大型网络公司、软件开发公司等等都需要程序员。
程序员需要学习:
1、掌握数据及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识;
2、理解计算机的组成以及各主要部件的性能指标;
3、掌握操作系统、程序设计语言的基础知识;
4、熟练掌握计算机常用办公软件的基本操作方法;
5、熟练掌握基本数据结构和常用算法;
6、熟练掌握C程序设计语言,以及C++、Java、Visual Basic中的一种程序设计语言;
7、熟悉数据库、网络和多媒体的基础知识;
8、掌握软件工程的基础知识,了解软件过程基本知识、软件开发项目管理的常识;
9、了解常用信息技术标准、安全性,以及有关法律、法规的基本知识;
10、了解信息化、计算机应用的基础知识;
11、正确阅读和理解计算机领域的简单英文资料。
程序员必备技能:
1、熟练开发工具
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。
而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一。
其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。
另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
2、熟知数据库
作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。
虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL,Postgres等。
3、了解操作系统
当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。
要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。
Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。懂得网络协议TCP/IP。
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式。
从最早的客户/服务器结构,到今天的WEBServices,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,深入掌握TCP/IP协议是非常必要的。
至少,需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。
4、明白DCOM/CORBA/XML/WEBServices存在的意义
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。
XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布式计算的基石之一。
5、不要将软件工程与CMM分开
大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员。
一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能。
如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。
6、需求理解能力
程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求。
要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
7、模块化思维能力
作为一个优秀的程序员,他的思想不能局限在当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。
这样做可以使代码能重复利用,减少重复的劳动,也能使系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
就业方向:
1、网络开发
现在网络已经成为世界通讯的一座桥梁,好像Javascript、PHP、Ruby这几类开发语言大部分是用作网络开发方面。
2、企业软件开发
JAVA、C#、VB这几类开发语言都实现了面向对象开发的目标,更多时候用于企业系统的开发。
3、系统软件
C语言、C++、Object-C这些软件更多是用在系统软件开发,嵌入式开发的方面。
当然,这分类不是绝对,像JAVA、C#、VB很多时候也用于动态网站的开发。在很开发项目都会使用集成开发的方式,同一个项目里面使用多种开发语言,各展所长,同步开发。
但所以在刚入门的时候,建议先为自己选择一种合适的开发工具,“专注地投入学习,全力一击”。
扩展资料:
会编程、会计算机语言就能加入互联网发展大潮中,享受数字经济发展的红利,一时间社会上的程序员培训机构都变得格外火爆。
但是现在,专家的数据分析结果告诉你:若想跟上数字经济发展的步伐,光会编程可不行,这个行业现在紧缺高端的、综合型人才。
11月22日下午,清华大学经管学院互联网发展与治理研究中心与领英联合发布《中国经济的数字化转型:人才与就业》,揭示我国数字人才现状与趋势。
报告显示我国数字经济发展面临人才短缺的挑战,但这种短缺主要体现在拥有中高级专业技能数字人才的比例不高,拥有人工智能、智能制造等前沿技术的人才更是少之又少。
与美国、英国、加拿大等国家相比,中国的数字人才储备尚有很大差距。
此外,报告根据对人才需求的数据分析,结果显示我国数字人才的技能需求不再强调单一编程技能,更加看重技术、管理和领导力等综合技能。
2015年,我国从事信息传输、软件和信息技术服务相关工作的人数约350万,但其中中高端人才,特别是前沿技术的数字人才并不多。根据领英中国智库的研究,在人工智能领域,美国的从业者数量在85万人以上,印度15万,英国14万,中国只有5万多人。
报告负责人、清华大学经济管理学院副院长陈煜波教授表示,我国目前在大数据与人工智能领域人才缺口明显。
他解释说,目前中国85%以上的数字人才分布在产品研发类,而深度分析、先进制造、数字营销等职能的人才加起来只有不到5%,存在较大缺口,新兴技术人才和创新型人才培养方面存在滞后和不足。
这份研究报告的基础数据来自领英在中国的3600万个人用户,这些用户毕业于1.5万多所国内外院校,分布在36.4万家企业,拥有超过2.3万项技能。
陈煜波研究团队从中筛选了72万数字人才,多维度提取用户画像并跟踪其职业轨迹,以此预测不同地区的人才流向、雇佣率、受雇主欢迎的技能等人才趋势层面的信息。
陈煜波说,根据数据分析结果,整体来看,虽然编程技能和数据分析技能需求占据主导,然而随着数字产业走向成熟,企业除了强调编程技能,也逐步更加看重人才的技术、管理和领导力等综合技能。
近年间,项目管理、产品运营等“技术+管理”类技能的需求呈现出明显的上升趋势,懂技术、懂管理的人才被认为是“一将难求”。
领英中国代理总裁曾志恒也提醒,如果你有兴趣向数字职能转型,不能仅仅专注于自己的技术能力,沟通和领导力等软性技能将成为你脱颖而出的关键。
陈煜波希望这些研究结果能为教育行业和政府部门提供借鉴。他说,教育行业可根据职位的供需趋势更好地规划人才培养的方向,政府也可更好地了解人才流动方向、技术缺口等,以此制定有针对性的引才策略。
程序员岗位职责:
1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
7、负责相关技术文档的拟订。
8、负责对业务领域内的技术发展动态进行分析研究。
相关书籍:
很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 9的书。
其实除了前9本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语。
下面就按照各本书的推荐数排列。
1、《代码大全》 史蒂夫·迈克康奈尔
2、《程序员修炼之道》
3、《计算机程序的构造和解释》
4、《算法导论》
5、《重构:改善既有代码的设计》
6、《设计模式》
7、《人月神话》
8、《计算机程序设计艺术》
9、《编译原理》(龙书)
10、《活着》
参考资料:百度百科-程序员
参考资料:人民网-近四成程序员单身 平均年薪达19万元
参考资料:人民网-会编程就能当码农? 行业紧缺高端、综合型人才
winter,本名程劭非,花名寒泉,前端工程师,JavaScript 专家。江湖人称“计算机之子”。先后在微软,盛大,阿里巴巴工作,目前是手机淘宝前端 leader。
winter 出生于 1985 年10月24日。母亲年轻时曾用机器码,打孔纸带写程序。因受家庭影响,winter 从小喜欢计算机,高中时在文曲星上编写小游戏。2004年进入哈尔滨工程大学。大学时代参加 ACM/ICPC 比赛,获得过黑龙江省赛一等奖,东北四省赛一等奖。从大二开始学习 Web 前端开发。winter 接触前端是因为当初混黑白棋社区,给黑白棋界面写插件,后来又混 51js 社区。他曾经看到周爱民老师的文章,觉得不服,于是与其讨论,很有收获。后来又被月影拉进一个群,认识不少人,学到不少东西。毕业时拿到百度和微软的 offer。那一年,腾讯给出的月薪是 7k,百度是 9k,而微软是 13k,winter 最终加入微软亚洲工程院。7 年后的 2015年,对于普通应届生,阿里给出的是 13k,百度给出的是 14k。由此可以看出,winter 本科毕业时已然实力超群。由于是校内第一个拿到微软 offer 的学生,哈尔滨工程大学还对其进行了专访。winter 在微软主要从事 Windows CE上的 IE 浏览器开发。2010年开始在盛大创新院做电子书和基于Web的操作系统,认识了老赵等人。当时霍炬(virushuo),郝培强(tinyfool),余晟也在盛大创新院。2011年时,大城小胖也来到盛大创新院,他说winter 虽然比他小5岁,但却教会了他很多。winter 老师毕业三年后,月工资达到了 25k。2012年12月加入阿里,在无线事业部前端团队工作。伴随着阿里的上市,winter 老师的身家想必水涨船高。
winter 老师虽然平时插科打诨,没个正经,但是一谈到技术问题,就变得认真严肃起来。
在技术方面,winter 老师非常注重基础。他想起当年他在 51js 认识的那些人,基础好的几年之后都立于行业顶点,而只知道“顺应潮流”的已经泯然众人。对编译原理,winter 老师开始觉得相对其它知识,编译原理不是那么重要,但是后来发现,除了微软系的语言,其它语言想要透彻的了解,都需要阅读给开发者用的语言标准。winter 老师自己也研习过龙书,但是觉得龙书过于学术。另外,winter 老师对算法,标准等也非常重视,他觉得当一个程序员对算法、语言标准、底层、原生、英文文档这些词汇产生恐惧感的时候他的技术生命已经走到尽头。winter 老师推荐过《程序设计实践》这本书,他认为这本书可以让一个掌握一门编程语言基础的人成为一个合格的程序员。另外,身为 JavaScript 专家,winter 老师当年学 JavaScript 的时候,每次从图书馆借五本书,然后根据实际经验选择靠谱的细读,winter 老师提到此事时说道,对于一个新手而言,不崇拜,不盲信,保持怀疑精神是很重要的。另外,对于框架和库,winter 老师也有自己的看法:库/框架都不应该致力于解决用户15分钟之内可以搞定的事情;库/框架的命名应该如同文档,见文知意,且与原生的类库风格统一;库/框架的API应该职责单一、与命名相匹配;库/框架应当可拆可合,粒度适中。
在工程方面,winter 老师认为工程当是布道、技术方案、落地业务三者一体,任何一环没做好,实施都会变成失败的工程实践。而工程师的核心竞争力是工程能力,工程是承认现实和追求可行性的,工程高手懂得在不同的环境下使用不同的工程手段来提高价值转化,逐步建立理想的组织结构和实施流程。然而,现实总是比理想骨感太多。网上到处吵着MVC、架构内聚耦合,而最需要解决的问题却是代码发布、版本管理、依赖关系和复用。开发工作量往往不在实现功能,而是每次上线的冗长流程和心理压力。从学会技术到工程实施,犹如万里长征迈出第一步。
在人才选拔方面,winter 老师认为,简历应该多看经历、作品,而面试则应多考察基础知识和实际编码,可以出一些覆盖知识点范围很大的题目,例如常用的HTML标签、CSS属性、CSS选择器,并简述它们的特性和使用场景。另外,面试过程中,重要的是面试官如何跟应聘者讨论题目,如何根据回答情况灵活决策后续问题和沟通方式,以及对面试者回答的评判方式。而工程师的能力,主要体现在三个方面,算法能力解决单点问题,架构能力应对代码规模,工程能力则负责人的协同和前两者能力的沉淀。根据 winter 老师的经验,面试挂掉的人,主要有三类:第一,是恐惧,不敢看标准,不敢学算法,不敢参与社区等等。第二,是封闭,在小圈子,自己觉得自己很强,没交流,闷头做不看别人。第三,是安逸,能实现就不管原理,做管理了就懒得碰技术,老技术够用就不学新技术。
2015年五月底,winter 老师因不满知乎友善度判定,离开知乎,并在 GitHub 上建立 dog-fucked-zhihu 项目,用于备份自己的答案,取消所有点赞,批量替换所有答案。
工作以后,winter 老师还迷恋上了网络小说,后来去盛大工作,还给阅读网文的 bambook 写排版算法。winter 老师不但自己看,还将网络小说推荐给自己的父母,导致年轻时身为文艺女青年,看《莎士比亚全集》,《神曲》,《雪国》的母亲,开始看《凡人修仙传》,《斗破苍穹》等网络文学作品。而 winter 老师自己,最爱看的是《罗罗娜的异世之旅》。winter 老师还曾经面试过豌豆荚,结果被面试官评价为前端开发基础不过关,没有好好准备面试,不知道是否和 winter 老师看网文有关。不过看网文并不影响 winter 老师的薪资水平。知乎上有一个问题,“第一次将薪水告诉家人是什么体验”?winter 老师是这么回答的:“妈你来帮我看看这是几个零?”。
程序员因其致力于程序开发、设计、维护、编程等这一特殊领域,使其天生具备了坚定的职业信念、超强的职业知识技能、良好的职业行为习惯等职业素养。
简介:
程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员,系统架构师,测试工程师五大类。
岗位职责:
1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
7、负责相关技术文档的拟订。
8、负责对业务领域内的技术发展动态进行分析研究。
职业认证:
考试介绍:
软考程序员考试属于计算机软件水平考试(简称软考)中的一个初级计算机职称考试。对于软考程序员考试并无学历及资历条件限制,更无论年龄、专业与资历。一年可报考软考程序员考试两次,但一次考试只能报考一种资格,因此报考了程序员考试则无法再报考软考其他级别或科目的考试。同时软考程序员考试采用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试方式。
通过国家统一组织的考试,资格考试分为:程序员级(原初级程序员)、软件设计师(原高级程序员)以及更高水准的:信息系统项目管理师、系统分析师(原系统分析员)、系统架构设计师、网络规划设计师、系统规划与管理师。
考试目标:
通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照程序设计规格说明书编制并调试程序,写出程序的相应文档,产生符合标准规范的、实现设计要求的、能正确可靠运行的程序;具有助理工程师(或技术员)的实际工作能力和业务水平。
1、CVEQC认证持有者已经通过了中国职业教育资格认证指导中心组织的培训和相应的考试,具有相应的专业技能和知识。
2、CVEQC证书可作为劳动者岗前培训、在职培训、提高培训、继续教育的培训认证;也是劳动者“先培训、后就业,先培训、后上岗”的凭证。
3、CVEQC证书是中国职业教育资格认证指导中心颁发的专业技能证书。标有证书序列号、证书编号、培训者及证书持有者身份证号码,并盖有全国职业教育管理委员会、中国职业教育资格认证指导中心的证书专用章。
4、 证书证明参加培训及证书持有者具有系统地接受岗位技能培训的经历,证书在全国范围内有效。
二、报考条件:凡遵守中华人民共和国宪法和各项法律,恪守职业道德,具有一定计算机技术应用能力的人员,均可根据本人情况报名参加相应专业类别、级别的考试。[1]
考试要求:
(1)掌握数据及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识;
(2)理解计算机的组成以及各主要部件的性能指标;
(3)掌握操作系统、程序设计语言的基础知识;
(4)熟练掌握计算机常用办公软件的基本操作方法;
(5)熟练掌握基本数据结构和常用算法;
(6)熟练掌握C程序设计语言,以及C++、Java、Visual Basic中的一种程序设计语言;
(7)熟悉数据库、网络和多媒体的基础知识;
(8)掌握软件工程的基础知识,了解软件过程基本知识、软件开发项目管理的常识;
(9)了解常用信息技术标准、安全性,以及有关法律、法规的基本知识;
(10)了解信息化、计算机应用的基础知识;
(11)正确阅读和理解计算机领域的简单英文资料。
相关书籍:
很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 9的书。
其实除了前9本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语。
下面就按照各本书的推荐数排列。
1、《代码大全》 史蒂夫·迈克康奈尔
2、《程序员修炼之道》
3、《计算机程序的构造和解释》
4、《算法导论》
5、《重构:改善既有代码的设计》
6、《设计模式》
7、《人月神话》
8、《计算机程序设计艺术》
9、《编译原理》(龙书)
岗位分类:
世界上第一位程序员是英国著名诗人拜伦的女儿AdaLovelace,曾设计了巴贝奇分析机上解伯努利方程的一个程序。她甚至还建立了循环和子程序的概念。由于其在程序设计上的开创性工作,AdaLovelace被称为世界上第一位程序员。美国国防部开发的ADA语言就是为纪念这位世界上的第一位程序员而命名的。
计算机科学发展到今天(21世纪初期),程序员从事的人群很多,分工也不相同,从大的方面可以分为以下几类:asp程序员、jsp程序员、delphi程序员、php程序员、powerbuilder程序员、C程序员、linux程序员、net程序员、vb程序员、java程序员、javascript程序员、C++程序员、Python程序员、android程序员、iOS程序员。
职业要求:
一般的程序员都有四年的在专业领域的学习,需要一个在程序领域的学士学位获得者,不论是数学方面的还是工程方面的都是可以的。
大约有20%的人在这一领域的计算机科学和工程学拥有更高的学位。还有很小一部分程序员是自学的,尽管一些专业性的学校或者综合大学可以提供,但是也需要一些别的途径来提供相关的人才。尽管学历是比较重要的,但是公司经常把重点放在应聘者的工作经验上,很多刚从大学毕业的大学生虽然有引人注目的学位证书,但是他们找不到工作是因为他们缺乏经验。一个程序员虽然没有正规的学历,但是如果一个人拥有程序设计的深厚知识背景或者丰富的工作经验的话,那么他的机会要比有学历的应届毕业生大得多。所以要尽量抓住有用的工作和实习机会,这样的话在毕业后你就会发现,多实习让你有更多的经验,在找工作的时候就有更多的机会。
对于职业程序员,另外一个重要的方面就是,程序员需要不断提升自己的业务技术,他的技术必须一直保持在一个较高的水平,并且要不断发展,程序员也要寻找贸易的机会,要参加研讨会,在周刊上发表文章和接受职业教育,这些使程序员在自己的领域中分级或者不断并排前进。
素质要求:
团队精神和协作能力:
团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。
文档习惯:
文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间用于写技术文档。没有文档的程序员势必会被淘汰。
规范化的代码编写习惯:
知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。
测试习惯:
测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。
学习和总结的能力:
程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,只能说他是一名熟练的代码民工(码农),他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。
拥有强烈的好奇心:
什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。
日常工作:
确认通过审查方案的目标,输入数据,分析师,监事,和客户的输出要求的项目要求。
安排项目要求在编程序列分析要求;准备工作流程图和使用计算机知识的能力,题材,编程语言和逻辑图。
编码工作流程的信息转换成计算机语言的项目要求。
通过输入编码信息的计算机程序。
确认程序操作进行测试,修改程序序列和/或代码。
准备写操作指令供用户参考。
保持历史记录,通过记录方案的制定和修订。
维护客户的信心和保护保密的业务。
技能/资格:一般的编程技巧,分析信息,解决问题,软件算法设计,软件性能优化,注重细节,软件设计,软件调试,软件开发基础,软件文档,软件测试。程序员其实分为很多种,大家开发的语言可能不尽相同,但是都是有他们的共同点。
这个列表包括了 100 多本经典技术书籍,涵盖:计算机系统与网络、系统架构、算法与数据结构、前端开发、后端开发、移动开发、数据库、测试、项目与团队、程序员职业修炼、求职面试 和 编程相关的经典书籍。
计算机系统与网络
《图灵的秘密:他的生平、思想及论文解读》
《计算机系统概论》
《深入理解Linux内核》
《深入Linux内核架构》
《TCP/IP详解 卷1:协议》
《Linux系统编程(第2版)》
《Linux内核设计与实现(第3版)》
《深入理解计算机系统(原书第2版)》
《计算机程序的构造和解释(原书第2版)》
《编码:隐匿在计算机软硬件背后的语言》
《性能之颠:洞悉系统、企业与云计算》
《UNIX网络编程 卷1:套接字联网API(第3版)》
《UNIX网络编程 卷2:进程间通信》
《Windows核心编程(第5版)》
《WireShark网络分析就这么简单》
《WireShark网络分析的艺术》
编程通用
《编程原本》
《代码大全》
《UNIX编程艺术》
《代码整洁之道》
《编程珠玑(第2版)》
《编程珠玑(续)》
《软件调试的艺术》
《编程语言实现模式》
《编写可读代码的艺术》
《精通正则表达式(第3版)》
《编译原理(第2版)》龙书
《重构:改善既有代码的设计》
《七周七语言:理解多种编程范型》
《调试九法:软硬件错误的排查之道》
《计算的本质:深入剖析程序和计算机》
《设计模式 : 可复用面向对象软件的基础》
算法与数据结构
《算法(第4版)》
《算法导论(原书第2版)》
《Python算法教程》
《算法设计与分析基础(第3版)》
《学习 JavaScript 数据结构与算法》
《数据结构与算法分析 : C++描述(第4版)》
《数据结构与算法分析 : C语言描述(第2版)》
《数据结构与算法分析 : Java语言描述(第2版)》
职业修炼与规划
《大教堂与集市》
《程序员的职业素养》
《程序员修炼之道:从小工到专家》
《软件开发者路线图:从学徒到高手》
《我编程,我快乐: 程序员职业规划之道》
《程序员的思维修炼:开发认知潜能的九堂课》
《高效程序员的45个习惯:敏捷开发修炼之道(修订版)》
大师访谈
《编程大师智慧》
《编程大师访谈录》
《编程人生 : 15位软件先驱访谈录( 上卷)》
《编程人生 : 15位软件先驱访谈录( 下卷)》
《奇思妙想 : 15位计算机天才及其重大发现》
《图灵和ACM图灵奖》
架构/性能
《微服务设计》
《大数据日知录》
《企业应用架构模式》
《Web性能权威指南》
《SRE:Google运维解密》
《发布!软件的设计与部署》
《高扩展性网站的 50 条原则》
《大型网站技术架构:核心原理与案例分析》
《恰如其分的软件架构:风险驱动的设计方法》
《软件系统架构:使用视点和视角与利益相关者合作(第2版)》
Web前端
《高性能 JavaScript》
《锋利的 jQuery(第2版)》
《JavaScript 忍者秘籍》
《编写可维护的 JavaScript》
《你不知道的 JavaScript(上卷)》
《你不知道的 JavaScript(中卷)》
《JavaScript 权威指南(第6版)》
《JavaScript 语言精粹(修订版)》
《JavaScript DOM编程艺术 (第2版)》
《JavaScript 高级程序设计(第3版)》
《JavaScript 异步编程:设计快速响应的网络应用》
《Effective JavaScript:编写高质量JavaScript代码的68个有效方法》
《HTML5 权威指南》
《HTML5 秘籍(第2版)》
《HTML5 与 CSS3 基础教程(第八版)》
《CSS 揭秘》
《CSS 设计指南(第3版)》
《CSS 权威指南(第3版)》
Java开发
《Java8 实战》
《Java并发编程实战》
《Java性能权威指南》
《Java程序员修炼之道》
《实战Java高并发程序设计》
《Java编程思想 (第4版)》
《深入理解Java虚拟机(第2版)》
《Effective java 中文版(第2版)》
《Java核心技术·卷1:基础知识(原书第9版)》
《Java核心技术·卷2:高级特性(原书第9版)》
.NET
《精通C#(第6版)》
《深入理解C#(第3版)》
《CLR via C#(第4版)》
Python
《集体智慧编程》
《笨办法学Python》
《Python基础教程》
《Head First Python》
《与孩子一起学编程》
《Python学习手册(第4版)》
《Python Cookbook(第3版)》
《Python参考手册(第4版)》
《Python核心编程(第3版)》
《Python科学计算(第2版)》
《利用 Python 进行数据分析》
《Think Python:像计算机科学家一样思考Python(第2版)》
《Python编程实战:运用设计模式、并发和程序库创建高质量程序》
《Python绝技:运用Python成为顶级黑客》
《Flask Web开发:基于Python的Web应用开发实战》
Android
《Android编程权威指南(第2版)》
《移动应用UI设计模式(第2版)》
iOS
《iOS编程实战》
《iOS编程(第4版)》
《Objective-C高级编程》
《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法》
PHP
《Head First PHP MySQL(中文版)》
《深入PHP:面向对象、模式与实践(第3版)》
C语言
《C和指针》
《C专家编程》
《C陷阱与缺陷》
《C语言接口与实现》
《C程序设计语言(第2版)》
C++
《C++标准库》
《C++编程思想》
《C++程序设计原理与实践》
《C++ Primer (中文第5版)》
《C++ Primer习题集(第5版) 》
《C++程序设计语言(第1-3部分)(原书第4版) 》
《Effective C++:改善程序与设计的55个具体做法(第3版)(中文版) 》
《More Effective C++:35个改善编程与设计的有效方法(中文版) 》
机器学习和数据挖掘
《数据之巅》
《矩阵分析》
《机器学习》
《统计学习方法》
《机器学习导论》
《推荐系统实践》
《机器学习实战》
《Web数据挖掘》
《深入浅出统计学》
《模式分类(第2版)》
《概率论与数理统计》
《统计学习基础(第2版) 》
《数据挖掘:概念与技术(第3版)》
《数据挖掘:实用机器学习工具与技术(原书第3版)》
《大数据:互联网大规模数据挖掘与分布式处理(第2版)》
数据库
《SQL应用重构》
《SQL Cookbook》
《高性能MySQL (第3版)》
《MySQL技术内幕 : InnoDB存储引擎(第2版)》
《深入浅出MySQL : 数据库开发、优化与管理维护》
测试
《探索式软件测试》
《有效的单元测试》
《Google软件测试之道》
项目与团队
《人月神话》
《快速软件开发》
《人件(原书第3版)》
《门后的秘密:卓越管理的故事》
《极客与团队:软件工程师的团队生存秘笈》
求职面试
《程序员面试金典(第5版)》
《编程之美 : 微软技术面试心得》
《金领简历:敲开苹果、微软、谷歌的大门》
《剑指Offer:名企面试官精讲典型编程题(纪念版)》
编程之外
《暗时间》
《数学之美》
《精益创业》
《批判性思维》
《世界是数字的》
《程序员的数学》
《程序员健康指南》
《禅与摩托车维修艺术》
《关键对话:如何高效能沟通》
《写作法宝:非虚构写作指南》
《黑客与画家 : 来自计算机时代的高见》
《软件随想录(卷1)》《软件随想录(卷2)》
《如何把事情做到最好》
大家有什么好书推荐欢迎在评论中留言。
注:本文转自伯乐在线。