1. 程序员需要学些什么
程序员的岗位需求很多,例如大型网络公司、软件开发公司等等都需要程序员。
程序员需要学习:
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、《活着》
2. 怎么成为一名程序员,要从哪里开始学起,先学什么在学什么
答:
首先你要清楚程序员也分很多种,从语言分,有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、负责对业务领域内的技术发展动态进行分析研究。
网络词条 程序员
3. 要做程序员需要学会什么
其实简单来说,程序员的工作就是使用编程语言,根据需求写出一个程序。
但是,在这个过程中,涉及如下几个方面:
使用的编程语言 程序员需要选择一门或者多门语言来编程,不同的语言适合编写不同的程序,目前主流编程语言包括,Java、JavaScript、Python、C++、php以及其他小语种等等,每种编程语言适合开发的程序有所不同。目前从程序应用分来,主要可以分为三类a 企业应用,主要用于解决企业业务。各种企业管理后台系统,银行系统,公安系统,图书管理系统等等。
b 互联网应用,面向互联网用户,为互联网用户提供各类服务。比如现在的京东淘宝各类电商系统等。
c 移动应用,各类在移动端使用的APP,有面向互联网用户的APP,也有面向企业内部的APP。
目前相对而言,在移动应用和互联网应用方面,资本投入比较热的风口,程序员的薪资较高。企业应用,发展了很多年,相对平稳。
2. 明白需求,实现需求
需求就是编写程序的要求。一个程序要编写成什么样子,具备哪些功能,都是由需求来具体说明。程序员要需要能看懂需求文档,并且能准确地使用编程语言,根据需求中的要求来编写成程序。企业开发的项目,往往会由该程序的架构师提供一个程序框架,程序员在该框架的规范下进行编程,实现需求的功能,以确保程序的规范、可读,以及可维护性。
3. 日常工作写程序
一个软件开发一般流程是产品经理根据用户需求做一个项目出来,然后UI设计师做一些图片设计,前端开发编写页面,后台开发编写核心编程,然后介入一些大数据和人工智能,通过测试之类上线实施,后期还有运维进行相关维护。
程序员一般大多指的是前端和后台写代码程序的开发人员,除了编写代码,可能还需要通过接口和其它系统对接,实现系统间的数据交换。像单体测试,是程序员对自己写好的程序单元进行测试,检测这个程序单元数据输入和数据输出是否符合预期等等。测试出来的问题,需要修改正确,然后再测试,直至没有问题。和同事共同开发的时候也需要联合测试,以及用户测试过后如果存在BUG继续进行修改。
4. 初级java程序员怎样快速提升自己
学习先进的搜索技术、手段和及策略
你完成工作的能力通常取决于你的检索能力。
帮助别人
教别人始终是学习一切东西的好方法之一。
有耐心,常练习
深入学习一点先进理念
成为一名中级程序员,很大一部分是要在代码里面体现出一些所擅长的概念。
找到真正令你着迷的东西。也许是图像处理,也许是数据库设计,等等。即便你是一个入门级的程序员,也要尝试一下成为某一自己所关注领域的专家。
学习你的领域里面的基本理论
写出“Hello World”,跟理解那些字是如何显示到屏幕上的是两码事。通过学习支撑你所从事的工作的“基础/底层工作(groundwork)”,你会变得更加在行。
看看高级程序员的代码
在工作中看看高级程序员写的代码,然后问一问事情是如何以某种特别的方式完成的,为什么?可能的话看看开源的项目。甚至即使其他程序员没有好的编程习惯,你也会学到许多编程经验。
学习好的习惯
一个程序员在学会如何编程时,却经常没有被传授到那些不那么有趣的细节,像代码格式编排。甚至尽管学习这些东西并不会令你的代码更好,也不会令你成为更好的程序员,它也会确保你不被同事视为入门级的程序员。
5. 航天桥北大青鸟分享程序员提高软件开发效率的5个经验
现在网上常看到很多的文章,是写关于程序员怎样提高工作效率的。
有些看看还是有用的,但有些还是不要盲目学的好,事后在想,我也可以写点这方面的内容,以自己的成功经验为案例,希望可以帮到大家,当然,我也不想浪费太多的时间来说和让大家学着做,而且北大青鸟http://www.kmbdqn.cn/认为所写的这几个观点对我个人还是有效的,但不一定对大家也一样有效,如果也一样对某些人有效,那么,很高兴就够帮到你。
1.不要犹豫,有时断一下网是很有必要的。
说实话,再也没有比这个更好的了,而且效果非常明显,因为,如果你想要好好的静下心来工作,那么,把网断了,手机最好也静音,要使用的编程语言和编程工具用离线版本的就好了,真要是有什么确实解决不了的难题用手机搜就好了,不过我也知道这时用电脑更快捷些,但对于那些不自觉,只要上网就停不下来人来说,还是不要用电脑搜的好。
2.目标要明确如果同时有几个项目要完成,你是不是就觉得不知道要从那里入手了,我要说的是,不要自己乱了,先从中做个排序,把几个项目从重到轻例个表出来,然后再一个一个的完成。
所以大家不要想着你可以一次都能做完,这样可能会导致于最后一事无成,一定要明确规划好目标。
3.休息和睡眠要充足不是一定要不停的工作才会出高效率,适当的休息后再工作可能会效率更高,因为长时间的工作可能会出现疲倦感,这样会让你很难集中精力好好工作,这时你可以停下手上的工作做些别的事情,可以闭目养神,也可以听听音乐,站起来望下窗外,随你喜欢,做些什么都是可以的,另一个就是,到了晚上该睡觉的时候是一定要睡觉的,不然你的程序员生涯就不长了????。
4.做好提前计划这个绝对是实践后得到的好结果,我试过在当天的工作都完成后,为第二天的工作做了个计划,结果到了第二天发现效果太棒了,当你坐下来打开电脑就能很快的进入到工作的进程中,因为前一天的计划已经让你的脑子很清楚先做什么后做什么。
如果当天有些工作没完成就更应该记录下来,特别是在周五的时候,因为我总是在周一上班时脑袋是蒙的,有一小段时间是不知道自己该做什么,所以提前记录当天没完成的工作是对下次工作很好的交代,做好提前计划也是对第二天工作的一个很好的开展。
这样你的工作效率会大大的提高是显而易见的。
5.如果有时间,可以来点下午茶或是咖啡什么的。
有时,不管是来点茶还是咖啡都有可以提高我们的工作效率,不过这也不是绝对的,还是要因人而异,又或者是来些其他的小零食也是不错的选择。
6. 程序员快速学习英语的好方法
很多人都知道学习软件开发英语是非常重要的,虽然英语很重要,但是不要把它想得和普通学习英语一样困难。英语成绩不好也是可以学习软件开发的,编程英语和普通英语有很大的区别,编程语言能够很好的理解和记住。那么对于没有英语基础的人来说,应该如何快速学习英语呢?下面北大青鸟云南嘉荟校区官网为大家介绍程序员快速学习英语的好方法。
一、选择英语原版书籍
对于一些非常经典的IT书籍,最好选择经典的外国教科书,并且务必选择原版英文版。如果国内没有英文复印和其他销售,可以到网上下载相应PDF的英文版书籍。昆明北大青鸟发现习惯使用英文书籍进行学习,对于快速掌握英文有很大的帮助。
二、英文的操作系统和开发工具
很多人的周围没有,良好的语言环境,除了每天编写程序以外,其他所能接触的都是汉语。想要快速掌握英语,最重要的是给自己创造一个英语学习的环境,那么应该如何制造英语学习环境呢?北大青鸟建议可以从没有使用的工具入手,将使用的工具和操作系统修改成英文的,这些工具都是每天使用最平凡的,在每天的学习中可以快速的掌握英语。
三、上英文论坛
国外关于IT技术的论坛非常多,里面有很多的技术大牛。在进行软件开发的过程中,如果遇到困难能够在论坛上面获得很好的解决方法。选择国外论坛不仅能够解决技术上面的知识,对提升英语水平也有很大的帮助。
四、坚持学习
无论学习什么知识,坚持学习是非常关键的。对于很多人来说学习语言相对比较困难,想要掌握没有任何的捷径可走,只有每天坚持一种方法。电脑培训认为学习任何一种新语言都是同样的方法,应该把英文当做自己的母语进行学习,这样就没有理由学不会了。
7. 成都北大青鸟:Java程序员想快速提升技能应掌握的几个学习技巧
知识改变命运,对于Java程序员来说,技术不断更新,只有及时充电,才能不被市场淘汰。
北大青鸟今天为大家分享Java程序员学习的6个小技巧。
1、一定要看书现在学习Java变得比以前容易多了,除了有大量的视频教程外,还有专业的java培训机构,这都使学习变得更加傻瓜化,然而我要说的是,Java虽然变得越来越容易学,然而那只代表入门容易,并不代表这门编程技术就真的变简单了。
如果仅仅学了些皮毛,高手写的程序你是望尘莫及的。
在学习的过程中,书籍永远是知识最好的载体,很多优秀的程序员大师精心编撰的编程书籍,富含的不仅仅是一些知识,更多的是他们所传授的思想,电脑培训http://www.kmbdqn.cn/建议通过看书,专研书籍中的内容,会让你变得更加聪明,写的程序也更加的精炼。
2、编程的时候,一定要独立思考现在网络很发达,我见很多程序员总爱网络,包括我带的许多人都是这样,一个jdbc这么初级的东东,他们编程几年了,每次用还总是网络查。
这个东西应该是熟记于心的,随时用,信手拈来,这样才能成为高手。
就好像一个修理工,一遍查手册,一边给你修车,亦或是一个医生,一边看教程,一边给你看病,想想就觉得恐怖。
3、算法很重要,要不断的优化程序现在很多人都是快速的学习,快速的练习,反复的练习。
而我的建议是,无论你学到什么阶段,都要去不断的优化自己的编程,能用3行实现的程序,不用5行,这样你编写的程序才能更加凝练。
而且,编程学习的中后期,就要重视算法,尽量编程优质的程序,这才是编程的美妙之处。
4、写一个程序,不断改进你学习的过程可能很漫长,我建议你从一开始的时候,就想着写一个小程序,比如一个计算器的程序,开始可能很简单,仅仅通过命令行的方式呈现,功能可能也只有加减乘除,但是随着你学习的深入,你可以不断的完善这个程序,直到有一天,你把它做成一个非常完善,性能非常卓越的程序后,你就真正学成了。
8. 如何快速学好编程
单纯编程上的进步,很简单就是经验,但你要理解才可以进步的快。这就是说,你的理论课要学好,才能学好编程。
操作系统,网络原理,计算机体系结构,数据结构,编译原理学习要经历很多阶段:
1、基本语法。
2、编码实践。
3、技近乎道。
4、创造新世界。
(基本语法):学习任何东西,都是一个由表及里的过程。对于一门编程语言来说,“表” 就是基本词汇和语法。
(8)程序员快速成神三部曲扩展阅读:
在实践中,我们逐步熟练使用很多API库、框架,也不断踩坑填坑、看源代码、不断解决问题,不断加深对语言的理解,同时会看一些优秀的框架源代码。
如果还有精力,我们再去学习语言更底层的东西,而不仅仅停留在应用层面。如Java中的集合类实现的算法与数据结构。
如JVM是如何执行Java代码的。如Java的线程和操作系统线程的关系。以及一些操作系统方面的知识。
参考资料:网络-编程
9. 程序员怎样才不会猝死,怎样才可以成神
当然不会猝死的了,只要你合理的生活就不会有这种事发生,至于成神自己多多学习知识就好了,你就会比别人厉害
10. 初学者JAVA程序员怎样快速提升自己技术
一、提升对java技术的思考
很多人口里嚷着要提升java技术,行动也有,但就是不奏效,是怎么回事呢?因为行动前没有好好的思考,比如老是盯着已经掌握熟练的java技术练习,你为什么不考虑多练练你不熟习的java技术呢?那么应该思考些什么关于java技术的问题呢?
1、这个技术能解决什么问题(why)
2、比较适合在哪些场景应用(where+when)
3、这个技术跟我已经掌握的哪个知识或技能类似,有什么差别、有什么特点、有什么优点和缺点(what)
4、了解前面的问题后,你在开始考虑提升java技术那么效果会比较好。
二、善于模仿,把他人的变成你的
你的代码刚开始是怎么学会的呢?不外乎模仿,但是模仿也有诀窍,有的人模仿的快,有的人模仿的慢。时常强调,多去看看其他人的代码是怎么编写的,你可以从其他人的代码中模仿出很多的东西,甚至你可以尝试去修改其他人的代码,让它跟你的想法更加接近,看看你下次是不是可以这样做,看看学习效率有没有提高或者变得简单,长此以往,你的java技术一定会有质的提升。