❶ 程序员怎样才能晋升高薪架构师
对于工作多年的程序员而言,职业生涯的发展有三条出路:专精技术、转型管理和晋升架构师。
网络,系统架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。
架构师工作职能
软件架构师在整个软件开发过程中都起着重要的作用,并随着开发进程的推进而其职责或关注点不断地变化,在需求阶段,软件架构师主要负责理解和管理非功能性系统需求,比如软件的可维护性、性能、复用性、可靠性、有效性和可测试性等等,此外,架构师还要经常审查客户及市场人员所提出的需求,确认开发团队所提出的设计;在需求越来越明确后,架构师的关注点开始转移到组织开发团队成员和开发过程定义上;在软件设计阶段,架构师负责对整个软件体系结构、关键构件、接口和开发政策的设计;在编码阶段,架构师则成为详细设计者和代码编写者的顾问,并且经常性地要举行一些技术研讨会、技术培训班等;随着软件开始测试、集成和交付,集成和测试支持将成为软件架构师的工作重点;在软件维护开始时,软件架构师就开始为下一版本的产品是否应该增加新的功能模块进行决策。
成为架构师所需要具备那些技能?
所谓架构师,思考的是全局的东西,是如何组织你的系统,以达到业务要求,性能要求,具备可扩展性(scalability),可拓展性(extendability),前后兼容性等。可能涉及到的东西包括了从硬件到软件的方方面面,实在是一言难尽。
架构师该如何学习
成为架构师条件根据自己经验列举几点
1.喜欢技术,这个是必备条件
2.技术方面要有一个单点突破点,别会很多技术都是个大概七,架构师都玩的很精不现实,精力有限。说自己各方面都很牛的伪架构师几率大
3.学习能力强,交流能力强,大局观强,三强能让你不落伍,不至于吃老本,技术更新太快,别安于现状
以上我的回答希望对你有所帮助
❷ 程序员的成长之路
了解整体: 对应要学的新知识要也要先了解他的整体知识结构,对整体有个印象后再去仔细学习。可以借助思维导图一类的工具,画出一个技术的知识结构,也可以参考其他人绘制的思维导图。
左脑思维: 指分析思维。“有一天,“两条腿”拿着“一条腿”坐在“三条腿”上。突然,“四条腿”跑了进来,一下子抢过“一条腿”。“两条腿”情急之下,就抡起“三条腿”朝“四条腿”砸了过去”。
右脑思维: 则指富有想象力和创造性的空间与形象思维。“一个挤奶女工坐在三条腿的小板凳上休息,手里拿着一块炸鸡腿。她刚想咬一口,一只土狗冲了进来,把鸡腿叼跑了。女工一气之下,抡起小板凳就朝土狗砸了过去”。
增加复习与练习: 强化复习与刻意练习可以帮助我们的大脑完成最重要的一个步骤量的积累,很快我们就会突然感受到质的飞跃。
首先要重现问题: 让提 bug 的同事重现问题,自己也按他的步骤把问题重新显现一次,这样我们就知道这个 bug 是在什么情况出现的,从而找出程序的报错的错误信息、错误码以及报错的文件地址和行数,然后解决 bug 就很容易了。
写博客记录: 我们千辛万苦的把问题解决了,一定要做好笔记,不然下次遇到相同问题可能还是忘了怎么解决,可以总结一下写在自己的博客中。以后面试求职,博客也能为我们加分不少。
第32本书 《内外兼修:程序员的成长之路》
❸ 如何成长为一个真正合格的程序员
优秀程序员都是很努力的
一个真正合格的程序员,除了要有扎实的理论基础和代码能力,还要有诸多的综合素质。除非你只是一个纯粹的码农,除非你只是想做一点平淡的代码工作,否则如果你想有更好的发展,那就必须“学习”。从我自己的发展经历来讲,其实我只是一个半路出家的程序员,我没上过高中,只是师范毕业,学的还不是计算机,而是美术专业,从参加工作那天起开始自学计算机,花了半年学会了VB程序设计,写了第一个vb程序,一个校园的自动播音系统,实现了校园铃声、升旗、课间操等定时音乐的自动播放,免费提供给学校使用,给学校带来极大方便,从此我爱上了编程。后来为了宣传单位的形象开始自学ASP脚本语言,一个月时间写出了第一个ASP网站,在这个过程中学习了网页前端布局,知道了前端可以有JS控制,知道了域名是什么,知道了http协议,知道了WEB服务的发布。从那时起,我觉得网站建设就是一个商机,从此开启了我的网站建设之路。其实也就是程序员发展之路,至此,我在这条路上一发不可收拾。
在这期间我开始接一些网站建设的活儿,一开始,在网上搜索一些开源的代码进行修改,满足客户需求,但是很快发现一些问题,大多数代码都是预先挂了一些广告在里面,如果对程序不熟悉,等你网站发布出来,你就只能看到满山的网站,客户当然就不满意了,最后你还不知道这些广告从哪里冒出来的,甚至有些网站留了很多漏洞和后门,让你防不胜防。所以,想想还是自己写一套CMS系统,我只自己使用,只放在自己的服务器上,这样的话安全性高了很多,至少被攻击的几率少了多,也不担心莫名其妙冒出来的广告。于是,我开发了第一套产品,属于我自己的CMS,期间我可以说学到了更多的知识,累积了不少的产品开发经验。所以这里我总结一条,要成为一个合格程序员,最好完整的做一个项目吧。哪怕是项目的前端不懂,数据库不懂,逼迫自己去学习,去了解,最终产品虽然不够完善,至少你了解一个项目需要什么,和什么技术有关联,这样对你自己所擅长的东西就很有帮助。
不断学习,与时俱进。我喜欢一句话叫万变不离其宗。虽然程序语言有很多,但是基本原理还是相通的。我做了第一个ASP的CMS以后,很快发现ASP的程序网站已经不能适应项目开发的需求,需要更加高效的脚本语言来实现更多的功能。这个时候php就成了我首先研究的语言,因为我发现很多第三方开放的APi提供的都是PHP的,这让我们使用更多其他第三方功能的时候开发会更加方便快捷,所以我花了一个周,学习了基本语法和函数,我发现从ASP迁移到PHP其实是很简单的事情,只是语法不同,程序结构也是一样的,条件格式、逻辑判断、条件分支、循环处理也都差不多。经过学习很快掌握了这个语言,开始了项目开发之路。可见不断的学习,也就是自我成长的一个重要的过程。
良好的思维能力,这是一个程序员必须具备的技能。思维能力就是一个能够让代码在你头脑中执行一遍的能力,也就是说你在写代码的时候你的脑海里就能呈现出代码运行以后的结果,呈现给用户的界面,把抽象的逻辑代码转成具体形象的能力。良好的思维还体现在,一个程序的处理其实都离不开计算机运行的本质,那就是数据输入(数据从哪里来),到数据处理(获取的数据需要怎么加工处理或者转换为另一种形式),最后到数据输出(给用户呈现一个结果,图像的、文字的、视频的、声音的或者是多媒体的)。程序整体是这个理念,分解到很多细小的模块也是这样,所以只要有这些核心理念,你的思维能力就不会有问题。
通过我的学习和发展,我总结了,要让自己成长为合格程序员,离不开学习,离不开项目实践,离不开思维的创新,更离不开努力勤奋和汗水,愿有志青年都想有所成,学有所收,成就自我!
❹ 程序员是青春饭 40岁后怎么办
可以继续做程序员,也可以自主创业,或者做在线"承包"的工作,成为自由职业者。
说程序员是一碗青春饭,大多是因为这是一个需要高强度脑力劳动的工种,而超过40岁的程序员身体机能逐渐弱化,家庭琐事缠身,往往面临继续做技术还是转做管理的局面。有人考虑转型,当然也有人选择对这份职业矢志不渝。
但是,无论在一个社会还是公司,管理者永远都只是少数人,大多数公司也只有一个CEO、CTO和CIO。少数就意味着激烈的竞争,尽管如此,最终达成个人目标,赢得社会赞誉的人也有很多。比如4月初接任王坚的阿里现任CTO张剑锋,还有雅虎美女CEO玛丽莎·梅耶尔。
可以说,作为一名管理者,你不仅需要精湛的技术水平,同时也要求背负团队进度和效率,也要求任职者拥有良好的沟通能力和卓越的领导力。
从一名普通的"码农"晋升为上市公司的CTO或者CEO,整个晋升之路就像是一个漏斗,很少有人能沉淀下来。但是,这仍然是程序员寻求一条专业化最理想的道路。
自由职业者当国内对于自由职业者的定义还停留在无业游民或艺术工作者的时候,很多国家的程序员已经实现在家挣钱的梦想。很多国家成熟的IT环境让程序员成为IT自由职业者似乎并没有那么难,方式主要可以分为线上和线下两种。
程序员应该都知道或者接过一点儿"私活儿",少则三五百,多则成千上万。其实这也是成为程序员自由职业者线下盈利的最重要的一种方式。只是,这需要程序员认识一帮能够给你私活儿的朋友,还需要擅长和对方谈业务。相比线下利用人情关系接私活儿的方式,在线众包业务似乎更适合自由职业者。
类似于freelancer的网站在国外已经出现很久,目前国内也出现一些相似的网站。程序员可以通过在线"承包"的方式,凭自己出众的业务能力和好运气来抢工作。
❺ 程序员年龄增大后的职业出路是什么
1、晋升管理层
随着技术水平的提高和经验的积累,在一段时间后很容易会逐步往公司高层进发,一方面是能力决定的位置,一方面是基础的开发工作已经可以由新员工接手,自己将继续在架构以及更为战略的领域进行工作,这也是大部分人们的一条好的通道。
2、技术研发
这方面的工作也是基于开发水平逐步优秀,同时自己并不想从事管理工作而出现的,随着积水的提高可以一门心思做着喜欢的开发工作,做着公司较为前沿的研发工作,也是许多技术大牛的发展趋势。
3、稳定工作寻求兼职
在管理和技能都难以寻求突破的时候,可以在稳定工作的基础上寻求兼职,一方面可以以自己的经验快速完成公司业务,另一方面可以根据自己的能力寻找适当的兼职,赚更多的薪水。
4、跳出创业
创业的选择固然是没问题的,不过还是不要跨行创业,根据自己的技术和领域进行适当的尝试,注意风险的同时,也可能收获意外惊喜。
5、自由职业
跳出固有的工作,选择自由职业,可以更灵活的安排工作和生活,不必为了工作而委屈生活,只要寻找到合适的自由职业,那么就是工作、生活双丰收的局面。
❻ 程序员未来有哪些发展方向
绝大多数程序员最终的职业目标可能都是CTO,做到CEO的人估计会比较少,也有一少部分人自己去创业去当老板,也有部分人转行了,当老板的牛人也有。一般来说,程序员的发展基本上都会经历这么几条路径。程序员-系统分析员-架构师-技术经理-CTO,程序员-项目组长-项目经理-项目总监-CTO,程序员-产品设计师-产品经理-CTO。
当然这只是一个大致的路径,不是所有程序员都必需要这么经历的,有些人可能跳过其中的一些步骤,也可能有些人会把中间的很多职位都做了。而很显然,CTO,是大多数程序员的终极梦想。
也就是说,许多的程序员最终可能是做技术经理、项目经理或者项目总监之类的,那么到底我们职业生涯要选择哪一种呢?我觉得这个问题没有一个统一的答案,因为每个人的个性和情况不同。但有一点是重要的,一是有际遇一定要抓住,二是自己要努力。
比如说你正好有机会带一个项目,而你又不是很讨厌项目经理这个位置,那么你就可以考虑向项目经理发展。因为老板让你做,说明他看到你有这个素质和潜力。要相信别人的眼光。
但是大多数人是遇不见这么好的伯乐的,那就要自己努力。没有能力就学能力,没有知识就学知识,没有气场就每天照镜子练。如果你的确不知道怎样才能从众多的程序员中脱颖而出,那么就去参加培训,培训别选学费巨贵的,选有特色还不贵的。用一两个月工资,可以换来你能力的快速提升。
再说有些公司,并没有明确的技术经理、项目经理、产品经理之分,在许多的公司里,他们经常是几个人混搭的。在外包公司里,通常会有项目经理和系统分析员(也可能是技术经理)。在一些非IT公司里,可能会是部门经理,而做自己产品的公司可能会分得比较详细一些。我大致说一下这三个职位的区别,让正在徘徊的程序员有一个大致的了解。
项目经理是项目的直接负责人,这个角色相当于一个中间接口,不管是团队成员还是需求方(客户),或者是上级领导,有事都直接找他,所以这个职位着重于管理与沟通。一般来说,项目经理的工作重点在同客户沟通需求、项目进度的把控、团队的沟通方面,有些公司也会需要项目经理承担团队建设的工作,不过貌似很多国内公司都忽略了团队建设这个工作了。对于项目经理来说,重点会要求沟通能力、协调能力、危机把控能力、执行力、团队管理能力,着重于沟通、管理与计划。当然也有些公司还要求项目经历要参与招标谈判,这就要求项目经理有一定的商务谈判能力。
技术经理有时候也可能叫系统分析员,一些小公司可能会整个部门有一个技术经理。技术经理承担的角色主要是系统分析、架构搭建、系统构建、代码走查等工作,如果说项目经理是总统,那么技术经理就是总理。当然不是所有公司都是这样的,有些公司项目经理是不管技术团队的,只做需求、进度和同客户沟通,那么这个时候的项目经理就好像工厂里的跟单人员了,这种情况在外包公司比较多。对于技术经理来说,着重于技术方面,你需要知道某种功能用哪些技术合适,需要知道某项功能需要多长的开发时间等。同时,技术经理也应该承担提高团队整体技术水平的工作。
产品经理这个职位一般在有自己产品(不管是软件还是网站产品)的公司比较常见,产品经理主要会负责产品的设计、产品的改良等工作。需要注意的是,产品设计与设计师是两个不一样的工作,产品设计主要会从用户体验、业务需要等层面去设计产品,而设计师更多是从用户的视觉上去做。产品经理应该是最懂业务的人,比如说你在设计一个微博的产品,就要求你对微博这个东西非常熟悉,从用户习惯、用户体验、公司的发展战略上去设计这个产品,还要对比同类产品会有什么优势等等。
不管是项目经理还是技术经理与产品经理,都要求要熟悉业务,业务是需求的来源,没有不谈业务的技术,所以不管你从哪个方向发展,都要求对业务熟悉。产品经理要求对业务最熟悉,项目经理次之,技术经理排最后。对于程序员来说,刚开始工作的前几年可以埋头扎到技术里面,一般这个时间在2-3年的时间,然后就应该多关注业务了。这个业务不一定是指某个具体的业务,因为具体的业务的范围太少,而且也需要机遇。
我见过许多的程序员,他们是做Web开发的,但对互联网很不熟悉,对于互联网流行的趋势基本上不闻不问。不知道现在大家都在使用微博,也不知道SNS,也可能从不使用网银。我觉得这样很不好,程序员应该多多去关注互联网的发展,多多去玩一些新的网站。
对技术不敏感、不兴奋的人,对进步和快速提高没有强烈欲望的人,是没有办法在IT界生存下去的。
❼ 入了IT公司,现在是程序员如果想晋升的话有哪些分支呢
一般有技术和管理两个路线。
技术路线就是往某一方面的专家去晋升,比如BAT等大厂的技术工程师,就是看等级的。据说阿里的分级是这样:
P1,P2:一般空缺,为非常低端岗位预留。
P3:助理
P4:初级专员|
P5:高级工程师
P6:资深工程师
P7:技术专家
P8:高级专家
P9:资深专家
P10:研究员
P11:高级研究员
P12:科学家
P13:首席科学家
升一个级别,薪水上下限都会增长。
技术管理也是一个方向,会带技术团队的。但比较考较管理技能
❽ 程序员怎么升职
1.大公司:打下手---代码工--- 程序员---项目组长---项目经理
2.小公司:代码工---程序员---项目组长---项目经理
虽然小公司容易成骨干,但项目组长拿的钱也行没有大公司程序员的高
也许很多程序员都碰到过,自己的技术能力已经很棒了,可还是无法升职,其实程序员要晋升到管理层,不仅仅要技术好,沟通、应变力和为人处事也是非常重要的。
1. 大胆的说出自己的想法
大多数程序员都不善言辞,沟通能力不够。而一个正常软件项目开发,都是团队合作模式,同时也是按照用户的需求进行分析梳理。如何很好的获取用户的需求,并与用户及团队内部之间沟通,是工作能力突出的重要的一环。平时,多与周边的同事沟通,周末多参加户外活动,努力的将自己圈子打开。平时多发表自己的看法,不用担心会受到批评,说出去才是关键。
2.要注重细节
公司团队里很缺乏一个项目助理,然后不得已选了一个程序员小伙,让他兼职管管样机、发发通知,这个小伙丝毫没有怨言,除了自己的代码照常写的非常稳妥之外,这些小事也处理的非常好,每天加班加点也要完成。后来没多久他就当上了主管。一个有能力把小事做到极致的人,也必定有潜力把大事做好。
3.听取别人意见,取别人长处
人都会犯错,一般犯错的时候领导会直接指出来,有些人每次听完之后都会去反驳这些理由,而且还觉得这并没有达到自己想要的,然后他交上来的东西依然没有任何改变,而有些人都会说:我以后会注意“、我会按照您的要求去执行、这是我的想法不知道您觉得如何。然后接下来就看到他的改进。
一般领导在明确指出你的错误,不管是耐心的说教还是严厉的批评,你都应该抱着“有则改之无则加勉”的心态,如果你要反驳,就需要准备充分的理由和依据。
面对领导的意见,要弄清楚其准确意图,然后实施针对性的改进措施。这就是团队里的游戏规则和生存之道。即使不是领导,是平级和下属,也应该采用类似的心态和应对方法。
4.不断提高自己的技术
一般程序员都会有自己的职业规划,在什么样的年龄达成什么样的成就或者技术水平的一个整体提升,目前从技术提高的曲线来看,新手的技术提高速度最快,无论从时间还是急迫性两个方面对新手的压力挺大的。而到了成熟阶段,其编程时间也大大缩短了和学习技术的迫切性也降低了,所以技术提高速度就慢下来许多。所以,你需要时刻看看自己的技术发展之路,哪些走的比较踏实,哪些走的比较急促;哪些是自己的技术特长,哪些是自己的技术薄弱环节。反思后一定要抽出时间抓紧学习,把自己的技术上明显不足的地方给补上,这样程序员的技术水平加上丰富经验和工作能力会使得自己更加具有实力,可以应付各种挑战,为今后的发展铺平道路。
❾ 10年做到CTO 一个美国程序员的职业晋升路[1]
10年做到CTO 一个美国程序员的职业晋升路[1]
我在美国工作了十年,十年的时间,不长也不短,我从一名普通的程序员成长为FreeWheel的CTO。在这期间发生了许多事情,结识了很多朋友,他们在我的成长过程中伸出了无私的援助之手。可以说,没有他们,就没有今天的我。我想,就和大家分享一些我十年中最感动,印象最深刻的小事情吧,也希望能借此机会结识更多的'朋友。
我的职业生涯,从DoubleClick开始。进入DoubleClick,起始于一个机缘巧合,九年以后,我在离开DoubleClick时的告别信中讲道:“……destiny landed me at Doub-leClick……”,指的就是这个巧合。
一个幸运苹果的故事(the story of a fortune cookie)
——偶入DoubleClick十年前当我准备去纽约度春假时,接到了一个电话。电话是DoubleClick 的一个叫John Bongiorno的猎头打来的,我至今仍记得这个名字,因为“Bongiorno” 是意大利语“早晨好”的意思。他在网上见到了我的简历,希望我能到DoubleClick去面试。坦白讲,我当时并没有在找工作,我答应了他只是因为DoubleClick的总部在纽约,而我正好要去纽约玩。
在到达纽约的当天,我在纽约的朋友请我吃晚饭。你一定听说过国外的中餐馆有一个咱们在国内没见过的习惯:餐后赠送客人幸运饼果“fortune cookie”。我的fortune cookie中的纸条上写着:“You are offered a dream of your life time, say YES!” ,第一次见到如此好的寓意,我很高兴地把纸条放到钱包里。
第二天下午去面试,见到很多人,其中两个人给我印象深刻,一个是Vince Li ,他后来成为我最好的朋友,专注于技术上的发展,是DoubleClick最出色的架构师;另一个是John Heider,当时的工程部副总裁。我和John的谈话进行得非常愉快,他在谈话结束时出乎意料地对我说:“I have such a great feeling that I am going to offer you a job, right at this moment. What do you say?”我很震惊,记起了那个幸运饼果中的小纸条,就拿给他看。John爽朗地笑着,告诉我会很快收到通知书。我真的很快就接到了通知,特别的是,John还随信寄来了一张卡片,他在亲笔题名的卡片上写道:“Diane, I wish your next fortune cookie says DoubleClick, YES!”我非常感动,没想到他会记住我们谈话中一个微不足道的小插曲,更没想到他还为此写了卡片。就因为这张卡片,我在毕业的当天就卷起铺盖到了DoubleClick. John给我上的第一课,便是如何用心去雇人。多年以后在CSDN的CTO论坛上,我曾谈到“用心交人,用心雇人,用心培养人”的重要性,我的第一个老师就是John Heider.
;