❶ 程序员转行可以做什么
面对着日新月异的代码和语言,你是否感到了力不从心?稍有懈怠,就跟不上岗位需要了?身体渐渐的发福,熬夜写代码开始扛不住了吗?
这个时代很残酷也相对公平,残酷的地方在于世界的变化之快容不得人有片刻懈怠,公平的地方在于:不论你是年轻还是年老,都要靠实力说话。
那些被时代抛弃的永远都是跑得比较慢甚至在原地徘徊的人,即所谓的工作十年却只有一年工作经验。
年轻程序员的优势在于年轻和激情,大龄程序员的优势在于阅历和经验。所以,年轻程序员不要有跨越年龄阶段的焦虑,大龄程序员也不要觉得年轻人抢了自己的饭碗。
每个年龄段都有自己要解决和面临的问题,认清自己内心真正的需求和渴望,再去寻找适合自己的栖身之地打怪升级,才是当务之急哦。
❷ 程序员可以做什么
程序员(英文Programmer)是从事程序开发、维护的专业人员。一般我们将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国。
作一个真正合格的程序员,应该具有的素质。
1:团队精神和协作能力
团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。
2:文档习惯
文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。
3:规范化的代码编写习惯
知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。
4:需求理解能力
程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
5:模块化思维能力
作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
6:测试习惯
测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。
7:学习和总结的能力
程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,我们只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。
作为高级程序员,乃至于设计师而言,除了应该具备上述全部素质之外,还需要具备以下素质:
1、 需求分析能力
2、 整体框架能力
3、 流程处理能力
4、 模块分解能力
5、 整体项目评估能力
6、 团队组织管理能力
❸ 能一辈子做程序员吗
出来做程序员,一写就是好多年,发现身边的大龄程序员也多了起来,盛传的"程序员30"的这道坎是不是会落在每个人头上? 的确,快三十的人慢慢地不大愿意像以前那样加班了,得考虑身体和家庭;薪水涨到了不少,但经济压力还是那么重,估计再找工作,很多老板看到简历的薪水要求就会马上把自己否决;技术更新那么快,自己没有时间去一一追逐;想想同学都是什么经理,什么长了,自己还是一个developer, 也许顶个leader的小头衔,老爸老妈是否还能像以前那样夸儿子有出息.随着年纪继续大下去,还玩得起么? 程序世界不是只有VC/DELPHIC这些程序语言,也不是只有MFC/GLIBC这些库,NT/Linux这些操作系统, 也许有人觉得做特种兵就是要精通各种语言, 熟悉各种LIB和SDK, 才能玩得转, 这些都是耗费巨大体力和精力的事情, 老了就完完了. 人家一个密码学的专家可以干上一辈子, 为什么程序员甚至程序特种兵30就玩不动了? 假如一个程序员把自己的价值就定位到VC java DotNet上, 的确就会疲于奔命, 渐渐就玩不动了. 你看招聘, 很多公司上来就要求各种语言,各种数据库, 甚至还要你精通PS,还能算帐顶个会计, 要求多得不得了. 你看了以后要么自卑,要么鄙视: 他们自己都不知道该做什么东西, 该要什么人. 那些招聘网站的首页,那些有名的外企,绝对不会show这种招聘广告: 丢人哪. 他们只会在基本的程序和平台外语技能后面加上: 精通xxx尤佳,最好该领域有xx年经验. 这里xxx可能是内核定制,可能是语音视频技术,可能是OA系统开发, 或者...这些才是他们想要的关键技能, 才是你的价值所在. (语言是很基础很重要的技能,它们就像厨师的菜刀和锅铲,它们是一门艺术,但是一个厨师不应该仅仅了解这些。) 常常看到有人问: 我精通这个语言,那个语言,大家看看我到底值多少钱哪? 假如你干了两年还这么问,你就麻烦了, 老板看的不是你单纯的程序语言技能, 他要的是你解决问题的能力, 这些更多的和你做过什么项目, 从事哪个领域或者行业的开发有关. 举个例子: 你给一家外包公司的简历, 说你精通VC或者其他什么的那行(不是不要你说), 远远比不上你说有在外包企业从事3年工作的那行文字重要. 很多人说外企好,别人老板尊重程序员,他们的程序员干到50还乐呵呵. 这里面文化的原因当然有, 但是更加主要的原因, 是因为资本家觉得他们还有价值, 而且是比那些刚入行的青年有大得多的价值. 那么多的内部技术文献, 那么多年通过开发和维护系统换来的经验, 该领域里面那么多的细节, 系统该这么作,不该那么作, 只有这些老家伙了解, 而且几乎是直觉上的了解, 我不仅不能开掉他们, 还要让他们HAPPY, 不能让他们被别人挖走了.不可能每个人都能转成市场和管理,每个人都能做首席架构师, 但是这不妨碍我们继续在一个自己精通的领域内作我们的特种兵: 我们比客户还清楚他们要什么; 我们不仅知道系统怎么做的, 而且知道为什么必须这样做. 有些地方, 架构师设计的时候, 必须通过我们的REVIEW评审他才放心; 而且有一点很重要: 这些知识比那些易变的语言甚至稳固的硬件更难过时. ------------------- 不管大公司小公司,对于一些不管什么项目都做的公司,只想安心做事情的程序员是永远没有前途的,对于那些没有根,没有技术积淀,没有行业背景的公司,程序员假如不能转型成市场或者管理者,他不仅低人一头,而且对于公司永远只是一个可以随时炒掉的螺丝钉。 成为为资深技术人员是出路之一,但是需要合适的土壤,欧美这方面的确好很多,但是在中国找到类似的土壤并非不可能。另外做技术比不上管理风光是必然的,外国中国都一样,但是是否一直做技术,要看个人兴趣和能力。不要迷信外企的"技术管理双阶晋升",那是糊弄人的,但是他们会给技术人员一个起码的自尊,你起码可以说:在公司我比经理级别高(虽然你没有那么大的办公室)。 这也是一个一直做技术是否现实的问题,一个如何实现更高的自我价值的问题:有人说年纪大了学习能力并没有下降,但即使保持了学习能力,给你开那么多的薪水,你比刚入行的小伙子的优势在哪里?可以说,对于新的语言的掌握甚至实战能力,很多学校出来的新人非常不错甚至可以说精通,你难道和一批批的新人反反复复的拼这些?就算你样样比他们强,性价比呢? 改编自:
❹ 普通程序员一天的生活是怎样的
普通程序员的一天基本上都是在写代码。
当程序员有项目的时候,程序员会根据自己的团队项目来安排自己的工作,同时也会适时跟进自己的工作进度。当程序员没有项目的时候,程序员基本上会根据团队的安排来维护项目,同时也会检修各种bug。与此同时,程序员的工作其实非常枯燥和单调,同时也有着非常大的工作压力。
一、程序员需要不断跟进自己的项目进度。
对于多数程序员来说,很多人都会选择在公司团队作战,也就意味着程序员只是公司项目的一份子。每当公司开发新的项目,程序员需要按照相关的工作进度来执行自己的工作内容。在有些特殊的时候,程序员需要加班加点来完成自己的工作,这也是为什么大家普遍觉得程序员的加班情况比较严重的原因。
最后,每个人的生活方式各不相同,我讲的只不过是大多数程序员的生活状态。
❺ 程序员转行能干什么
可以转行做设计,或是做前端啊,两者相关,而且相对来说简单一些。
❻ 自由程序员能干到多大岁数还是青春饭吗
程序员第一大职业风险就是被科技浪潮无情淘汰。
很多行业,从业者的职业生涯从入场到退场,像是在乘机场的自动传送带。人少的时候,你可以往前挪挪,或者伺机走一下快速道,越过那些挡在你前面的浑浑噩噩的家伙,但你能做的也就这些,快不了太多;人多的时候,你只能耐心排着,什么岁数到什么位置,前面的人不离场,你不能抢下他的位置。这一路你走的慢慢悠悠,四平八稳,但好歹,不那么辛苦,除非遇着剧变,你被踢出传送带的几率不大。
程序员不一样。从入场到退场,活脱脱一出 tomb run 的游戏:身后怪物穷追不舍,你只能不停地往前跑。虽然沿途可以收获很多金币(package),但你一旦放慢脚步,或者没能及时变道,就不得不主动出局或者被清场出局。主动出局一般是体面的 —— 当 manager,当法人,转 VC,转 sales,去教书,做庄德扑等等, 总之换个角色浪,从此和之前的角色相忘于江湖;被清场则是不体面的 —— 钱还没赚够,就被服务了多年的东家无情抛弃。为了养家糊口,只得 restart,重归赛道。可赛道哪是那么好挤回来的 —— 略微谢顶,银发中间或夹杂着些许黑发,肚腩厚实得,从上往下看,都看不见脚趾的奔四大叔,被二十岁出头的毛头小子面试:大叔,说说看,你能给我们带来什么价值?
程序员的第二大职业风险是马太效应过于明显,有时候稍低的起点就意味着经年累月数倍于别人的奋斗。
2017年的计算机应届生,我听说到的白菜价是二十五万。我信,但这可能是 top 10% 在北上广深的水平。剩下的,平均收入至少要拦腰。五年后,这些 top 10% 平均水平能上五六十万,加上股票就没边了;而剩下的,平均水平可能还达不到他们同龄人五年前所谓的“白菜价”。
这个游戏是这么玩的:
你学习好,卯足劲上了 985,然后大学的四到六年又认认真真地学习和开发,毕业后工作找你,拿了 BAT 等一线的 offer,兢兢业业工作,工资水涨船高,公司股票翻番,周围还都是优秀的人,有闲得无聊读个 MBA 的,有出国接受更大挑战的,有跑去创业公司当 CTO 的,人比人气死人,你也就被逼不断学习维持优秀的状态,好让自己不至于垫底。市场上满满都是向你抛来的橄榄枝,挪个窝轻松二三成的涨幅,你却不待见;
你学习不好,仅仅够上了个一本,大学有点荒废,代码没写几行,毕业后你找工作,鞋底磨穿,勉勉强强有个外包公司收留,没日没夜地工作,但公司就这么个水平,薪水很难涨,周围的同事浑浑噩噩地混日子,你稍微努力点,就显得鹤立鸡群。想跳吧,履历不好,跳不出好结果 —— 给心仪的几个大公司发了简历,却好像荷叶上泻过的水,连个痕迹都没有。
这个行业就是这么操蛋:起点低一些,人生的轨迹就差了很多。你要认清这一点,如果你不幸是那个起点低,现状差的人,那就加倍努力,想办法证明自己不比别人差。和咨询这种出生决定命运的行业,这一行还有很多证明你的水平的机会 —— 起码,talk is cheap. Show me your code 是行业的共识。
程序员的第三大职业风险是诱惑太多,容易毁了自己的职业生涯。
这里的诱惑主要是市场机会的诱惑。前面说了,局部供需严重不平衡,因而不乏挥舞着巨额钞票的工作机会。如果你没有一个良好的职业规划,也没有清楚地计算机会成本,那么就很容易被这样那样的高薪诱惑,从而在不合理的时间,不合适的机会上跳槽。当新的工作没有想象的那么好,或者新的公司遭遇崩盘,你不得不止损出局。这时候,找下一份工作就相当棘手。市场不认可你的价值,而你却经历了由俭入奢的过程,不愿回头,于是下一份工作依旧是一个不够深思熟虑的选择。当连续几次错误选择之后,你的职业生涯就岌岌可危了。
我见过五年换过八份工作的人,也见过对自己没有稳定定位,在几个方向上来回飘的人。我还见过履历倒着来的人 —— 在硅谷,见得多的是 Google - FB - Airbnb 的职业切换,我却见过 FB - Google - MS 的切换(没有贬低 MS 的意思)。这种没有想清楚,仅仅因为 package 一时之高低就随意跳槽,是程序员们的《伤仲永》。
以上。希望能触发你的思考。陷入深深的沉思前:请先不吝赞赏
❼ java初级程序员能干什么
首先我要和你说说初级程序员都要掌握什么:
1、java的基础知识,如果把要掌握的知识和所要看的书籍联系起来的话,你要看《Thinking in java 》、《java核心卷1、2》,如果你把这些书看完了,说明你对java有了一定深度的了解。
2、你对代码的清晰度和易理解性有比较深入的理解,能写出比较友好的代码,而不是晦涩的代码,相关书籍:《代码大全》(我的项目经理力推)、《重构改善即有代码设计》、《代码之美》。看完这些之后你就会感觉到以前写的代码简直就是一种耻辱。
3、数据库相关,现在大都开发离不开数据库,数据库也成了程序员必备素质。由于数据库大多了。就要看你们公司和你自己的喜好了。不过大都的sql还是可以通用的,除了数据库本身的方言和部分函数之外。对了除了要掌握SQL,还要掌握存储过程。这个也是必须的。
这些东西掌握了之后你就离合格的初级程序员不远了。其中也不乏还有一些我没有列出,这也符合计算机中的8/2原则啊。我说的是那80%,而那20%,可以看看服务器啊、框架啊、什么什么的。慢慢来。
❽ 作为一个程序员 30岁之后能干什么
30岁依然可以做程序员,30岁得程序员不算老,如果你想再为代码疯狂,你可以尝试做项目工程师什么的。
❾ 程序员能干多久
跟别的职业差不多,一般都能做到40岁左右,除非是国企一直做到退休都可以。而且如果转型转的好的话 一直干下去也是可以的,比如说从程序员变成技术部门的管理者或者项目的管理者。企业的架构师之类的。
❿ 程序员工作到底能干多久程序员的前途如何
千千万万的程序员们一直困惑“程序员的前途如何”、“程序员工作到底能干多久”的问题。目前比较普遍的认识,程序员的职业通道有两条进阶路线。一条 是技术路线,即由程序员、高级程序员、系统分析师,到架构设计师。在这条路线上,立足于从业务模型到计算机软件模型的转换,成为高端的软件技术工作者。另 一条是管理路线,即由程序员,经开发小组负责人、项目经理,再到企业中高层管理者。程序员加强自己管理意识的培养,多站在组织的角度来分析问题和解决问 题,成为优秀的管理者,甚至职业经理人。近年来,产品管理成为企业多产品经营形势下一个越来越受重视的管理课题。特别是知识经济环境下,诸如互联网与软件、创意、传媒等现代新型产业链中, 其几乎可以忽略不计的复制成本,有竞争力的产品与优秀的产品管理成为了制胜的关键。基于产品的商业化运营,在越来越具聚合效应的网络时代,扁平经营、草根 聚合、精准营销、直通车服务等全新的经营环境常常造就了赢者通吃的局面,以产品为中心的企业管理逐渐形成独立的产品管理体系,被众多企业所关注和采用。在软件企业中,随着产品管理的兴起,可以说,走向产品,是程序员在技术与管理之外的第三条职业通道。越来越多的程序员开始转型做产品工作,特别是对 那些具有创业意识的程序员而言,走向产品是一条必经之路。腾讯的马化腾和360的周鸿祎,他们都是由程序员做起,然后开创自已的产品和事业。产品管理的兴起,产生了以产品经理为中心的产品工作职业方向。产品职业方向可以从产品系列的职务与岗位两个维度来观察。职务上,有首席产品官 (CPO)、产品总监、产品经理、产品专员、产品助理,其中尤以产品经理一职最为中心;岗位上,有产品竞争分析与用户需求管理、产品创意与策划、产品原型 设计、产品运营规划、产品实现过程跟踪、产品商品化实施、产品运营、产品经营成果分析与跟踪、产品升级维护管理、产品管理体系与制度建设、产品人员技能培 养等。这些基于产品而设计的岗位以有效满足用户需求为中心,它不同于其它以专业技术和职能效率为中心的因职能分工而产生的岗位。产品管理是近些年随着IT和互联网的快速兴起而被各企业所重视,而现在的各大院校并没有产品管理相关的专业,各类培训机构也少有类似培训课程,从事 产品工作的人员大多是从不同专业、不同岗位转型过来的。相比较而言,程序员有着营销、测试、客服等岗位走向产品的人员所难以比拟的优势。有些公司甚至做出 了规定,欲从事产品工作,必须要有多年的软件开发经验。程序员转型从事产品工作所具有的独特优势主要包括以下几点:第一,程序员能够更好地理解产品的实现方案,所策划的产品更具可行性。做产品策划工作,也许缺的不是点子或创意,而是有效可行的方案。多年的程序员 工作经验,对软件技术和软件实现方案的判断,可以规避那些天马行空的产品想法,工作更有成效。比如在整理用户需求时,程序员的前期有效判断和可行性辨别, 会大大提高产品的策划质量与速度。程序员出身的产品人员可以和研发人员进行无隙的沟通,用更便于研发人员理解的语言和思路来进行产品方案的解读和跟进。第二,程序员的软件开发工作,与其说是代码的编写,不如说是逻辑语句的组织。程序员一般都具备严密的逻辑思维能力,这是进行纷繁而杂乱的需求分析和 产品概念设计必备的优势,更有利于从中分门别类理清脉络关系,转换为产品功能规划,把产品做成精品。例如需要往U盘写文件,产品人员可能只想到正常的操作 逻辑,但程序员可能会想到更多异常情况,如:U盘损坏、传输过程中拔出、断电、传输的文件损坏、U盘写保护、重复文件、焦点位置、空间不足等等。再有,好 的用户体验的产品,在本质上,就是产品功能的逻辑展示,或者说用户操作的逻辑引导。第三,程序员往系统分析的技术方向发展,从本质上来说,同往产品策划方向发展是相通的,都需要对真实世界本质关系有着充分的理解与把握。能够走向系 统分析员的优秀程序员,完全有可能成为一个优秀的产品策划人员。差别在于系统分析员的工作成果是面向程序员、面向计算机,而产品策划是面向用户、面向市 场。每一名程序员也必定是某个软件产品开发工具的使用者,有深厚的软件产品使用体验,具有从用户出发来表述问题的基础。第四,程序员一般都具有快速学习能力,保持对计算机相关行业动态和技术革新的观察与思考,这在一定程度上会培养对行业与技术的洞察力。产品策划和设 计工作,最后能否获得市场的成功,考验的正是这种洞察力。因为产品工作是时时围绕“解决的是什么人的什么问题”来开展,也就是始终围绕“做正确的事”。只 有对行业与技术有洞察力的人,才能够站在用户需求的角度来理解与体验,激发创意,做出好产品来。当然,程序员虽具备上述独特优势,并不等于程序员转做产品工作,就一定能够成功。要策划出好的产品,要成为一名优秀的产品经理,他们也面临着各种挑战:第一,创新和结构化思维的冲突。结构化思维可以说是程序员的典型标志,这种思维模式对于把一件事情做好是很重要的,但它往往也会是创新思维的天敌。创新却是产品工作的灵魂,程序员需要不断打破常规激发灵感才能做好产品工作,就必须克服已经形成的思维定势。第二,团队协作与英雄主义的矛盾。程序员往往习惯于单打独斗的工作方式,崇尚技术牛人,缺少团队协作意识和与人沟通的技能。产品工作则需要大量的沟通协调,甚至组织领导工作,强调的是团队作战。在合作精神方面,想要转向产品工作的程序员的确亟待加强。第三,商业意识和市场运营知识匮乏。特别是在全面产品管理思想下,产品人员需要有很强的市场营销方面的知识和商业化运作的策划与分析能力,仅仅把产 品做出来是不够的,卖得掉才是硬道理。产品策划的环节,面临着营销模式、目标用户、渠道选择、竞争策略等的选择与设计,这也是摆在技术出身的程序员面前的 重要课程。每个企业,都会根据自身所在行业特点和本企业的资源优势,来部署不同形式的产品管理机制。程序员针对自己的性格特点和能力特征,抓住产品管理这一方兴未艾的职业机遇,走向产品,以优秀产品经理的能力模型培养来规划学习道路与职业生涯,是值得重视的一个职业方向。沈阳师范大学火热招生中!