⑴ 程序员真的是一份吃青春饭的活吗
说程序员是一份青春饭,这个结论既正确也不正确。没有哪个行业是绝对看年纪的,演员可以说是一个标准“青春饭”行业,即便是这样,也会有“小鲜肉”无法轻易战胜的“老戏骨”。
互联网也有互联网的“青春饭”,这里的“青春饭”是指新知识、新技术。在社会发展如此迅速的背景下,不仅是程序员,任何一个互联网人都要不断更新,不断学习,不断进步。如果你是20岁的青年,害怕十年之后被公司淘汰、被更年轻的人淘汰,那你要做的就是进行职业规划并保持一个好的心态进行学习。
技术的更新发展是日新月异的,而所有程序员面对的挑战都是一样的,但是如果你的基础扎实就能更容易地学习新事物、新知识。一个新技术即使再绚烂夺目也是利用基础知识搭建而成的,就像武功一样,我们都知道降龙十八掌很厉害,那为什么不一开始就练它呢?原因很简单,如果你连基础功夫都没学好,即使拿到秘籍也是徒劳。
相反地,如果你的基础还不够牢靠,每天下班之后也不愿意花时间去了解行业内的动态,为自己充电,那你也只是靠年龄来勉强立足。
如果十年后的自己没有任何进步,或者说进步得不够多,扪心自问:你不应该被淘汰吗?
任何职业的身价都取决于他的不可替代性,如果你的工作内容很容易就被他人取代了,那你就要小心了,要使自己不可替代,就要努力往上走,往高处走,当你和他人拉开距离的时候才能告诉自己的老板,你值这个价。
多学、多看、多问。从项目中学,从网络中学,从失败中学,涉足各种开源社区和学习论坛,并找到和你一起前进的“战友”,积累自己的人脉和学习圈子,在关键的时候你们可以互相扶持。
在这场信息时代的革命化变革中,你愿意做弄潮儿还是急流勇退?
有意思的是,很久之前看到这个问题的时候是这样写的:“程序员到了30岁就要转行了吗?”,现在问的问题是:“程序员到了35岁就要转行了吗?”
我发现这条年龄线已经被拉长了5岁,那么我是否可以这样推断:等过了两三年之后,这条年龄线将会继续延长5岁,问题也会改成:“程序员到了40岁就要转行了吗?”
既然有程序员不断地在问,也有程序员不断地在解答,那就表示还有很多30+、40+的码农仍然奋斗在编程的前线。随着时间的推移这条年龄线还会不断地往后移,等到码农正式退休之后,大家就会恍然大悟:“原来程序员是可以做到退休的!”
⑵ 程序员主要的工作
程序员(英文Programmer)是从事程序开发、维护的专业人员。一般我们将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国。
作一个真正合格的程序员,应该具有的素质。
1:团队精神和协作能力
团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。
2:文档习惯
文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。
3:规范化的代码编写习惯
知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。
4:需求理解能力
程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
5:模块化思维能力
作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
6:测试习惯
测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。
7:学习和总结的能力
程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,我们只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。
作为高级程序员,乃至于设计师而言,除了应该具备上述全部素质之外,还需要具备以下素质:
1、 需求分析能力
2、 整体框架能力
3、 流程处理能力
4、 模块分解能力
5、 整体项目评估能力
6、 团队组织管理能力
1,激情
我曾经遇到许多“职业程序员”,他们从事IT是因为觉得这是一种职业,他们只在工作时间编程,除非送去培训否则他们不会学习新东西,这不是好的程序员。我认为一个好的程序员总是对编程充满激情,而且好的开发者会做一些编程工作即使这没有报酬。激情是一个优秀程序员的重要指标。
2,自学好学
编程领域始终发展变化着,不出一年有些新技术就变成了老技术,这并不是说好的程序员要对所有新技术跟进,但有些却对学习任何新技术都没有兴趣。他们通常在学校学习了编程,然后工作后单位安排学什么就学什么。如果在招聘中你听到“让我培训一个星期我就会胜任这个工作”那不要雇佣他。实际上,真正优秀的程序员始终谈论着你所不知道的新技术,向人们解释为什么你必须用这个技术,哪怕没有听众听得明白,哪怕他自己也不明白。
3,聪明
聪明包括很多因素,情绪和社会交际只是其中之一。好的程序员绝不木讷,他们是最聪明的人,他们中的许多善于交际,健谈、兴趣广泛。
4,隐性的经验
—好的程序员通常有自己的私人的一些研究、爱好、项目,而这些是他们不写在简历上 (通常觉得不值得写),但表现出来却可能恰恰是他的潜能、深度和后劲所在。
5,技术多样性
由于好的程序员喜欢学习和涉猎新技术,所以一般来说超过22岁的都熟知很多新技术,而且对多种技术的长短有 “强烈”的个人意见/见解,喜好尝试新鲜技术。
6,资格证书
资格证书并不是识别真正程序员的方法,MCSE、SCJP说明不了什么,它们只是让别人认识和获取的,顶多代表这个人在某个技术有一定的知识。
原文作者在文末写道:以上所说的标准并不是绝对的,因为有些优秀的程序员确实不符合上述,而有些bad程序员却符合了。但相信这些对大多数真正的程序员都适用。
总结而言,优秀的程序员通常有一下特点:
对技术充满激情
将编程作为一种爱好
如果你允许会滔滔不绝地跟你谈论技术
有过个人的开发经历(与4意思相同)
坚持认为某种技术最好
如果让他用他认为不好的技术他会非常别扭
聪明、健谈、兴趣广泛
在大学和工作前就开始接触程序
[编辑本段]考试说明
1、 考试要求:
(1) 熟练掌握基本算法和数据结构,用C语言编制程序;
(2) 掌握数据结构、程序变速器和操作系统的基础知识;
(3) 了解软件工程、数据库、多媒体和网络的基础知识;
(4) 掌握数制、机内代码及其算术运算和逻辑运算的基础知识;
(5) 了解计算机的体系结构和主要部件的基础知识。
2、 通过本级水平考试的合格人员能按照软件设计说明书编制程序,具有相当于助理工程师
的实际工作能力和业务水平。
3、 本级水平考试范围包括两个模块:模块1——程序编制能力(考试时间为150分钟);模
块2——基础知识(程序员级)考试时间为120分钟)。题型为:单项选择题十多项选择题。
考试范围
模块1:程序编制能力
1.1按照软件设计说明书,能熟练使用下列程序语言编制程序
1.1.1C(美国标准)
1.2理解给定程序的功能,能发现程序中的错误并加以纠正
1.3具有良好的程序编制风格
1.4基本算法
1.4.1查找、更新、排序、合并及字符处理
1.4.2迭代、插值、数值积分、矩阵计算、议程求解和搜索求解
1.5程序编制方法
1.5.1分支、循环、子程序(过程和函数)、递归
1.5.2输入输出和文件的处理
模块2:基础知识(程序员级)
2.1软件基础知识
2.1.1数据结构基础
数组、记录、列表(list)、队列、栈(stack)、堆(heap)、树和二叉树的定义、存储和操作
2.1.2程序语言基础知识
·汇编、编译、解释系统的基础知识
·程序语言的数据类型
·程序语言的控制结构
2.1.3操作系统基础知识
·操作系统的类型和功能
·操作系统的层次结构和进程概念
·作业、处理机、存储、文件和设备等管理的基础知识
2.1.4软件工程基础知识
·软件生命周期各阶段的任务
·结构化分析和设计方法
·面向对象基本概念
·软件开发工具与环境基础知识
2.1.5数据库基础知识
·数据库模型
·数据库系统的结构
·SQL的使用初步
·常用数据库管理系统的知识
2.1.6多媒体基础知识
·多媒体基本概念
·常用图象文件
·简单图形(线段和圆)的计算机图示
2.2硬件基础知识
2.2.1数制及其转换
·二进制、十进制和十六进制等常用数制及其相互转换
2.2.2机内代码
·原码、补码、反码、移码
·定点数与浮点数的机内表示
·ASCII码及汉字编码等常用的编码
·奇偶校验码、海明码、循环冗余码(CRC)等常用校验方法
2.2.3算术运算和逻辑运算
·计算机中的二进制数运算方法
·逻辑代数的基本运算和逻辑表达式的化简
2.2.4计算机的体系结构和主要部件
·中央处理器CPU、存储器和输入/输出设备
·总线结构、指令流和数据流
2.2.5指令系统
·常用的寻址方式
·指令的格式、分类及功能
·指令的执行过程
2.3网络基础知识
2.3.1网络的功能、分类与组成
2.3.2网络协议与标准
2.3.3网络结构与通信
2.3.4网络的安全性
2.3.5Client-Server结构
2.3.6Internet和Intranet初步
⑶ 刚踏入职场的程序员,如何快速踏实地提升自己的能力
程序员提升主要靠实践,跟一个完整的项目能最大限度的提升项目能力,以后找工作不用愁啊,现实工作中很难达成,你可以去找找培养这方面人才的,提升一下自己,你看看愿码ChainDesk,有你需要的
⑷ 程序员和网络工程师哪个更有前途
毋庸置疑是程序员 网络工程师是有局限性的 只能做网络这块 但要是程序员的 还可以兼职做网络工程师 所以还是做程序员更有前途
⑸ 网上什么程序员指令,开启网卡,升级网卡驱动办法都试过了,没用,关于升级win10导致没有wifi,
可能的原因有几点
1.网卡坏了,这个可能性不高,也是有可能的。
2.驱动有问题。卸载了驱动程序再安装。(驱动精灵或者去官网下载具体型号的驱动)
3.系统问题,系统禁用了网卡。系统开启飞行模式,或者系统WiFi模块关闭。
4.电脑禁用了网卡,笔记本上常见的WiFi开关。
⑹ 程序员:零基础转行到互联网,真的不需要多大技术
IT行业入门门槛儿较低,对于IT专业外的知识储备没有太高要求。适合各专业各领域的学生和在职者加入。薪水高、地位高、没有性别歧视和具体的年龄限制等。
IT领域未来的发展方向,从实体方面来看一定是智能设备和物联网,从领域来看一定是互联网,未来的网络将会越来越智能,也将会提供大量的就业机会。因此,IT行业的前景是毋庸置疑的,国家信息产业部发布的最新报告显示,我国目前信息安全从业人才缺口高达40万人,每年以20%的速度在增长。国家信息产业部已把软件工程师列为“国家紧缺型人才”的行列。前景好,人才需求广,就业高薪,所以很多大学室会很青睐。希望可以帮到您,谢谢!
⑺ Java程序员如何加快升级之路
能把客户需要的功能搞出来就算是高手啦,什么代码规不规范、数据库设计的合理不合理,都得服从功能。把功能搞得让用户满意,系统使用起来方便顺手,符合用户日常工作习惯,那就是好程序员。你的代码再简洁再规范,对用户都关系不大,你虽然节约了服务器资源,程序运行效率较高,但是用户基本感觉不到。如果功能做不到位,为用户着想的不够,用户是完全有感受的,比如多字段录入问题,用户的习惯和期望是每输入完成一个字段后回车焦点就转到下一个文本框,但是不少程序员开发的管理系统都没做到这点,而是输完一个字段后必须右手离开键盘去操做鼠标,用鼠标把光标切换到下一个文本框,这种程序代码既使再规范又能怎么样?还有就是一些程序员喜欢画蛇添足,原本很简单的需求,编程时却把功能搞得很啰嗦,比如注册、登录问题,要这个要那个的,把用户搞得很烦。
⑻ 程序员转网络营销怎么样
虽然不知道你为什么想转网络销售,但是我还是想以自己的亲身经历告诉你,如果可以的话还是别转!网络营销虽然说看起来很洋气,但是实际上还不如程序员。程序员累是累了点,但是薪资水平确实超出了大多白领,这点不可否认。所以建议你慎重考虑