2.小公司:代码工---程序员---项目组长---项目经理
虽然小公司容易成骨干,但项目组长拿的钱也行没有大公司程序员的高
也许很多程序员都碰到过,自己的技术能力已经很棒了,可还是无法升职,其实程序员要晋升到管理层,不仅仅要技术好,沟通、应变力和为人处事也是非常重要的。
1. 大胆的说出自己的想法
大多数程序员都不善言辞,沟通能力不够。而一个正常软件项目开发,都是团队合作模式,同时也是按照用户的需求进行分析梳理。如何很好的获取用户的需求,并与用户及团队内部之间沟通,是工作能力突出的重要的一环。平时,多与周边的同事沟通,周末多参加户外活动,努力的将自己圈子打开。平时多发表自己的看法,不用担心会受到批评,说出去才是关键。
2.要注重细节
公司团队里很缺乏一个项目助理,然后不得已选了一个程序员小伙,让他兼职管管样机、发发通知,这个小伙丝毫没有怨言,除了自己的代码照常写的非常稳妥之外,这些小事也处理的非常好,每天加班加点也要完成。后来没多久他就当上了主管。一个有能力把小事做到极致的人,也必定有潜力把大事做好。
3.听取别人意见,取别人长处
人都会犯错,一般犯错的时候领导会直接指出来,有些人每次听完之后都会去反驳这些理由,而且还觉得这并没有达到自己想要的,然后他交上来的东西依然没有任何改变,而有些人都会说:我以后会注意“、我会按照您的要求去执行、这是我的想法不知道您觉得如何。然后接下来就看到他的改进。
一般领导在明确指出你的错误,不管是耐心的说教还是严厉的批评,你都应该抱着“有则改之无则加勉”的心态,如果你要反驳,就需要准备充分的理由和依据。
面对领导的意见,要弄清楚其准确意图,然后实施针对性的改进措施。这就是团队里的游戏规则和生存之道。即使不是领导,是平级和下属,也应该采用类似的心态和应对方法。
4.不断提高自己的技术
一般程序员都会有自己的职业规划,在什么样的年龄达成什么样的成就或者技术水平的一个整体提升,目前从技术提高的曲线来看,新手的技术提高速度最快,无论从时间还是急迫性两个方面对新手的压力挺大的。而到了成熟阶段,其编程时间也大大缩短了和学习技术的迫切性也降低了,所以技术提高速度就慢下来许多。所以,你需要时刻看看自己的技术发展之路,哪些走的比较踏实,哪些走的比较急促;哪些是自己的技术特长,哪些是自己的技术薄弱环节。反思后一定要抽出时间抓紧学习,把自己的技术上明显不足的地方给补上,这样程序员的技术水平加上丰富经验和工作能力会使得自己更加具有实力,可以应付各种挑战,为今后的发展铺平道路。
说起Java编程首先从Java相对其他的编程语言有哪些优势说起
第一:安全性高,健壮性好
安全问题一直备受关注,常见的电信企业,以及银行等行业都会优先考虑使用Java来做系统开发。
第二:开源,任何人都可以免费的使用的。源代码开放
第三:使用面向对象的编程思想,语法比较的简单
第四:支持动态更新,对于一些核心的业务,只需要在核心库中天健一个指向的关系,需要升级的时候,核心库升级了就可以实现动态更新了。
第五:支持跨平台,这一点很重要的,我们开发一个程序不仅能在winds系统上运行还能在linux系统上,甚至是mac系统上都是能运行的。
既然Java编程有了这么多的优势后,那么作为一名新入行的Java程序员新手该如何起步?
作为一名程序员,写代码是很正常的一件事,其实我们在写代码的时候需要要做的就是要明确需求,知道自己的要做的系统是一个什么样的,其次是分析思路,为了实现这些功能,我们该怎么做,思路清晰后就要确定步骤了,最后一个才是写代码了。
对于新手,小编在此建议新手在学习新的技术的时候要注意带着问题来学习,比喻我们今天要学习的这个Java编程语言,其实我们可以这样的来学习,Java编程是什么,Java编程有哪些特点,我们该怎么使用Java,哪些地方会用到Java编程,带着这些问题来学习你一定会有不一样的收获的。
Java基本语法知识,关键字,标示符,常量变量,数据类型,多线程,网络编程等等,最为新手,学习Java基础很重要的,Java基础学习完成后,进入Javaweb的开发和学习,继续就是Java的框架学习,有了框架后就可以做项目实战了。
学习方法有很多,找一个适合自己的就好了,多练,多实践才是关键。
基础知识完成后,可以进入新的阶段学习了
Java编程发展方向大部分就是往架构师这方面发展的,所以有这样想法的朋友一定要在现在准备起来。北大青鸟发现现在网络上有很多的来源的项目,源码都是可以下到的,有了这么好的学习环境我们应该充分的利用起来,不断的给自己新的学习方向。
信息技术的更新速度是惊人的,程序员的职业生涯则是一个要求不断学习的过程,如何才能成为一名合格的程序员,一名合格的程序员需要掌握哪些技能呢?为此天天招生网采访到几位孳生的程序工作人员,就如何做好一名成功的程序员谈出了自己的经验。
熟练掌握开发工具
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C和JAVA是重点推荐的开发工具,C/C以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一。其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
熟知数据库
为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库 *** 作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL,Postgres等。
对 *** 作系统有一定的了解
当前主流的 *** 作系统是Windows,Linux/Unix,熟练地使用这些 *** 作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解 *** 作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的 *** 作系统,是一个很好的学习平台,Linux几乎具备了所有现代 *** 作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。只有对 *** 作系统有一定的了解后,你会发现自己上了一个新的台阶。
懂得网络协议TCP/IP
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEBServices,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,所以,深入掌握TCP/IP协议是非常必要的。至少,你需要了解ISO七层协议模型,IP/UDP/TCP//CORBA/XML/WEBServices存在的意义
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。程序员需要做的不仅仅是利用商业的开发平台来开发软件,而是要理解这些技术的初衷,即为什么需要这项技术,如果你能理解了这一点,再回头看这些技术的具体实现,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布计算的基石之一。
不要将软件工程与CMM分开
现代大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。一句话可以概括我的看法:“创意无限,流程保证”。
拥有强烈的好奇心
什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。
真实,最准确的相关信息。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)