⑴ 计算机基础知识对程序员来说有多重要
非常重要,必须认真学习。
学习基础知识从来都是枯燥的,而且很多时候会给我们一个错觉,就是基础知识没有用。这主要是因为,我们未来工作以后,更多的是面向应用,更直接的就是面向工具的使用,基础知识基本是不可能直接拿出来用的,所以,大家就会觉得我只要懂应用方面的知识就好了,基础知识根本不需要去学。
就拿程序员来举例:
很多的程序员培训机构,他们并不会教任何的基础知识,直接就是教编程语言,然后设计一些案例做练习,3个月-6个月基本就结束。这样教出来的程序员能够写代码吗?当然是能的,不然这些培训机构早垮了。而很多大学本科4年读完的应届生,说不定写代码都没有这些培训几个月的学生强,大学4年对于程序员来说难道就是白费吗?
并不是的。
基础知识决定的是你未来的高度,可能你作为一个初级、中级程序员,你不一定会用到数据结构、算法、编译原理。但初中级的程序员就是你未来几十年的全部吗?
如果是的,在你30多岁的时候,应该就会面对裁员了并且很难找到下一份工作。
程序员是一个干到老学到老的工作,每天都需要去学习一点新的知识,技术也是在不断的演进,需要去了解未来的技术发展方向,这样才能够一直产生价值。而基础知识是什么呢,就是当你对技术了解越深入时,越需要用到的东西。
例如:你要做大数据的工作时,你需要数据建模,需要在海量的数据中抽取自己需要的数据,还需要不影响系统的性能,运算速度更快。那么你就必须要了解算法,了解时间复杂度。如果你曾经大学时好好的学习了这些知识,并且时不时会温习一下,那么你更高更快的胜任这份工作。
但是,对于一个只是了解应用知识的程序员来说,他需要想办法学习你用4年时间堆积起来的知识,而且还不一定有可靠的老师能够教他。
再举个例子,现在华为需要一些技术人才,来做他方舟编译器的迭代,待遇非常可观。
而这时,对于懂数据结构、懂算法、懂编译原理的人来说,查的无非就是一些应用实践的知识,这些知识只要有基础、有环境,1-2周就可以上手。
但是对于只懂应用知识的人,他可能就是看都看不懂,华为也就不可能去招聘这样的人。
所以,程序员也是有高低之分的,有的年薪百万,有的年薪可能就十来万。谁不想拿百万年薪呢?可能他们也觉得某些知识没有用,所以没有去认真的学吧。
⑵ 程序员未来前景如何大龄程序员出路在哪里
年龄大的普通程序员,将来的出路无非就是以下三个:
1、稳定地待在一家公司,有一定产出效率,成为一颗螺丝钉,不出彩也不出丑,就像之前棉纺厂的工人那样,直到这家公司不行了,找另一家,继续做个普通一兵。其实这事儿和几十年前的工人一样,只是时代不一样,职业的名字变了。
2、寻找相对优势,到稀缺你技术、能力、经验的地方,找到存在感。比如一线城市回退到二线、三线;比如互联网顶级公司的普通程序员进入小公司;比如互联网行业的普通程序员进入传统行业有软件部门的公司。
3、转行,想干什么干什么去,很多人认为,一个 35 岁以上的程序员相比较一个 20来岁的毕业生,精神状况、身体状况必定是不如刚刚大学毕业的年轻人,所以要尽早转行。那么问题来了,程序员是吃青春饭的吗?程序员的职业发展到底如何呢?
首先,我觉得时至今日,相比其他职业,程序员仍然是一个投入产出比比较高的职业。程序员不是一个“吃青春饭”的职业,而是一个常青的职业。程序员其实也并没有我们想象中那么累,很多互联网公司的工作环境、工作氛围、员工福利都是非常不错的:弹性工作,定期团建,免费健身;一日三餐、零食饮料应有尽有。对于头脑灵活、思维敏捷,但还没有明确职业目标的理工科毕业生而言,把程序员作为职业生涯的起点,应该会是一个不错的选择。以北京为例,应届毕业起薪在 8000-10000 元,比其他职业高出不少。程序员现在小蜜蜂云工作了解很多远程可办公的,全职兼职都是有的,可供的选择还是比较多的。
程序员在职业生涯第一个阶段,通常是 3-5 年。这个阶段要以职业探索为主,脚踏实地写好每一行代码。只有快速学习和成长,掌握过硬的专业技能,这样才能在职场立足,走好未来的路。现在程序员的职业领域已经细分到了令人发指的地步,比如:大数据工程师、云计算工程师、某某语言工程师、系统架构师、web 前端工程师、嵌入式软件工程师、数据库开发工程师等等。
⑶ 游戏unity3d程序员和其它各种类的程序员比起来,这几种程序员工作强度怎样,比如时间,工作量等等
全部程序员都没有太多可比性,天下乌鸦一般黑。但和Unity3D程序员比起来,就没那么黑了,下面那Java程序员来对比一下:
就业面不如Java广大。
待遇不如Java程序员,那个工资就没别人高。
加班比Java程序员要多。
另外,与Java还有一点不同,这个Unity3D方面的知识对于其它领域再就业几乎没任何用。
最后,前景方面更是不如Java程序员,记得在Unity3D前有个比Unity3D还火的引擎(是谁这里就不卖广告了),那时那个引擎的招聘就和现在的Unity3D如出一辙,后来这个引擎死了。那么问题来了,假设Unity3D死了,搞Unity3D程序的还谈什么工作强度、工作量。
⑷ 从哪些点上可以体现一个程序员的实力
对于一个程序员来说,刚上任的新手,如果能够将工作任务高效地处理,证明其工作能力还是具备一定的基础的,企业大可继续留任试用。如果这个程序员不仅能够在短时间内高效处理工作内容,且对于工作的细节也十分地考究,充分全面地考虑,必然也代表其工作思维和普通员工不同。一个程序员如果对于工作只是在应付差事,那么必然其能力也不会好到哪里去,因此,一定要观察期对待工作态度是否认真,然后进行其能力的初步判断。
⑸ 中级程序员考什么
今年我报了名,是5月20日考试。
今年更改了名称,取消了中级程序员。是这样的:
初级资格:程序员 (原初级程序员)
中级资格:程序设计师,评测师(原高级程序员)
高级资格:系统分析师
考试内容:
程序员:
1)掌握数据及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识;
(2)理解计算机的组成以及各主要部件的性能指标;
(3)掌握操作系统、程序设计语言的基础知识;
(4)熟练掌握计算机常用办公软件的基本操作方法;
(5)熟练掌握基本数据结构和常用算法;
(6)熟练掌握C程序设计语言,以及C++、Java、Visual Basic中的一种程序设计语言;
(7)熟悉数据库、网络和多媒体的基础知识;
(8)掌握软件工程的基础知识,了解软件过程基本知识、软件开发项目管理的常识;
(9)了解常用信息技术标准、安全性,以及有关法律、法规的基本知识;
(10)了解信息化、计算机应用的基础知识;
(11)正确阅读和理解计算机领域的简单英文资料。
程序设计师考试要求:
(1)掌握数据表示、算术和逻辑运算;
(2)掌握相关的应用数学、离散数学的基础知识;
(3)掌握计算机体系结构以及各主要部件的性能和基本工作原理;
(4)掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识;
(5)熟练掌握常用数据结构和常用算法;
(6)熟悉数据库、网络和多媒体的基础知识;
(7)掌握C程序设计语言,以及C++、Java、Visual Basic、Visual C++其中一种程序设计语言;
(8)熟悉软件工程、软件过程改进和软件开发项目管理的基础知识;
(9)熟练掌握软件设计的方法和技术;
(10)掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识;
(11)了解信息化、计算机应用的基础知识;
(12)正确阅读和理解计算机领域的英文资料。
如果你以后专攻C++的话,把C的基础打好就可以了,不用学的那么精通,但一定要打好基础。
⑹ 普通的程序员和大神级的程序员有什么区别
⑺ 程序员干不到40岁
计算机在中国的普及只有二十多年,所以最老的一批程序员也才四十多岁。因为招生的扩大化和普及化,40岁的程序员数量只有现在年轻人的十分之几,大部分都是管理型的(少数能力和口才差的成为草根甚至被淘汰)。如果是前端、APP、大数据AI等新兴领域,40岁以上的人很少。从技术和身体的角度来说,程序员55、60岁退休是没有问题的。战斗力不会比30岁的人差。学习新技术可能会慢一点,但是经验可以弥补整体效率。一般来说,稍微过时的技术开发性价比最好。研究表明,程序员的高峰期在50岁左右。参考下图。我见过一些国外IT公司的高层,几乎都是大胡子老头和中层管理人员,而且都以四五十岁为主。在一些传统企业,主要的程序员都在四十左右。互联网类的比较年轻,但还是比国内大。
⑻ 程序员这个工作,真的很吃香吗为什么呢
程序员这个工作真的很吃香,因为程序员的工资很高,就业岗位也很多,但是程序员这份工作很累。因为程序员的工资以及就业机会多,有很多人都会选择做程序员,甚至有的人转行做程序员这份工作。关于程序员这个工作,真的很吃香吗?为什么呢?以下是我的看法:
三、程序员这份工作很累
对于很多的工作来说,员工是不需要加班的,如果做完一天的工作就可以选择下班,不需要留下来去做其他多余的工作。但是,对于程序员来说,加班是非常常见的事情,因为不知道什么时候程序就会出现bug,需要程序员去维护以及修改。程序员这份工作是很非常劳累的,所以如果选择了做程序员这份工作就要做好加班的准备。
关于程序员这个工作,真的很吃香吗?为什么呢?以上是我的看法,你有什么看法?欢迎留言。
⑼ 顶级的程序员是怎么样的
顶尖程序员常说:“这个我以前写过一个模块,我找找,很快。“简直是没有对比就没有伤害!
有人认为,普通程序员用复杂的代码解决简单的问题;而高级程序员能把复杂的问题简单化并用简洁的代码去实现。在w3cschool看来,顶尖程序员和普通程序员至少在以下6个方面大有区别。
1、文档能力
“文档是第一生产力”,这一点在程序员的世界是毫无异议的。看看Spring,hibernate,Struts等最流行的开源软件的文档就知道,他们tutorial,他们的getstarted,他们的reference文档写的多么的易懂。
如果要获得更高的报酬,文档是绝对关键的因素。有文档就有沟通,就有交易。搞技术的容易忽视文档的力量,也因为写文档十分困难,更多程序员选择舒适区,习惯写下代码,但正因为如此,妨碍了不少程序员的进阶。
2、解决BUG的效率差别
普通程序员可以利用搜索引擎(网络)寻找答案,经常性找不到好的解决办法,然后更换技术方案!顶级程序员也利用搜索引擎(Google)寻找答案,一般bug都顺利解决(其实跟前期框架选择等关系非常大)。
3、表达能力
表达能力决定了你所做的技术的影响范围,决定了你的影响力,决定你的威信,决定了你的报酬。普通程序员和顶尖程序员的表达能力差别非常大,这主要还是取决于他们格局的不同。良好的沟通能力让你理解产品经理的设计思路,让你更好的展现自己的特长。
对于累积人脉,当你的阅历越来越丰富,人脉对你的帮助也越来越明显。
4、优雅和美观的抽象能力
普通程序员和顶尖程序员之间的区别在于优雅和美观的抽象能力。好的系统通常是要做到两个方面才合格,其一是好用,其二是好看。但是令人遗憾的是,普通程序员仅仅从实现的角度进行堆砌。顶尖程序员往往能够更进一步,经常会去思考用户在操作这个功能的时候,到底还会做什么事情。
所以,顶尖程序员和普通程序员区别就是是否拥有用户意识,是否敢于直面用户。好用,好看一直是软件能够被普遍采用的前提,因此,我们有必要学会抽象优雅。
5、面对如何开源社区态度
普通程序员几乎没有在开源社区混,这也导致经常对新技术发展关注度低。而顶尖程序员则是拥抱开源社区。
6、面对功能点
普通程序员:立马开始构思自己如何实现脑海里出来一个方案。
顶尖程序员:发现功能点很普通github上面早已经有非常多的解决方案,着手根据业务选择一个最适合最优的方案
⑽ 程序员工作一年应该是个什么水平呀我是干c++的
这要看你刚毕业处于什么水平,对于编程又有多少天赋和付出多少努力。
这里说说大部分普通程序员的情况吧,我也是属于普通的那一档,结合我自己的经历说说吧。
说水平,你这里指的大概是技术水平,这可能比较主观。我们还是说薪资水平吧,这个很客观,也很现实,技术水平一般都由薪资水平来体现。
当前,国内软件公司招人的时候,一般会把应聘者分为:应届、工作3年、工作5年。。。(外企的话那是另外一套路数,这里不做讨论)
也就是说,薪资水平是这样分档的,如果你毕业一年,用人单位可能只愿意把你的薪资从应届毕业生这一档提升一点,但是你很难达到工作3年这一档的薪资水平,因为用人单位考虑的时候不仅仅是你个人,还会结合公司其他员工的能力和薪资水平,进行对比,然后得出结论。
对于C++的技术水平,我这里就一句话,工作一年,你还没入门。