程序员怎么获得高工资

经常听见朋友抱怨自己水平和同事不相上下,甚至更强,工资却没有别人的高,主要原因有两个:

1、技术面试:没有表现出来自己的能力

2、人力面试:没有与人资谈薪资的技巧

下面我们一起来分析一下这两个问题。

在技术面试中一般会从3个方面考核个人能力,项目的开发能力,技术能力的广度和技术能力的深度。

一、项目开发能力,面试中在个人的开场白后面试官会选择一个简历中的项目或者让面试人自己选择项目描述,这里主要是检验面试人的项目能力,包括项目理解力,沟通能力和思维能力等。选择哪个项目比较合适?描述和公司的业务或者和这个职位的业务相关的项目是一个更好的选择,因为相关面试官会更了解业务,所以就要求面试人对项目的描述要更有条理。介绍整个项目的时候 围绕以下几点描述:

1、项目的目标,项目主要解决了什么问题,是否能讲明白这点非常重要,只有说明白了问题域,才能使项目的实现更合情合理。

2、项目是怎么实现的,采用了什么技术,框架,有哪些困难,又是采用什么办法解决了?这个阶段面试人要仔细的思考一下,是主要体现能力的地方。最忌讳简单的描述实现方式是增删改查,没有难点和亮点。有句老话叫:“会者不难,难着不会”,所以当开发完成一个项目后总是发现项目没有什么难度,找不出亮点,其实是已解决的问题都会感觉到比较简单。所以做完项目后总结一下,回顾一下项目开发过程中设计的优点和缺点,挖掘一下项目的亮点,使项目更饱满。也不用回避项目中的缺点,项目没有一蹴而就的,不是所有问题都可以完美解决的,所以不妨说出项目的缺点,如果能给出一个补救措施会更好。

3、自己在团队中是什么角色,做了哪些贡献?有哪些收获?重点是哪些收获,因为以前的都是过去式,将来能在新项目做多少贡献才是重要的。所以项目中使用到的技术,框架,技巧等,如果能深入研究一下对以后的工作和面试会有比较好的帮助。

二、技术广度

如果上一条是考察项目开发能力,后面考察的就是技术点了。关于技术考察,听过太多的人抱怨,网上看的帖子或者同事朋友的聊天,XXX公司傻叉问我堆排序/堆排序的时间复杂度/ArrayList和LinkedList优势和劣势/HashMap和HashTable的区别等,项目中也不使用,问这些没有任何用处,纯粹是刁难。工作过一段时间的程序员面试比较讨厌回答基础知识点,首先是工作中用不到,问这些没有意义;其次是大学学的那点基础知识早还给老师了,或者就没学会。但是牢固的基础知识是程序员职业能更好发展的推动力。

1、二八理论,程序中80%的代码是为了解决20%的场景,所以怎么优雅的解决开发中那20%的场景就需要我们有超出常用知识以外的技术。

2、性能优化,使用合适的技术可以更高效的实现产品功能,积少成多性能就会有明显的性能差别。

3、写而优则架,随着工作经验的累积,大部分人会逐渐走上架构师或者技术经理的管理岗位,项目的架构,技术选型等都需要更多非代码的技术才能更好的完成。

所以良好的技术广度会使程序员走的更远。那么作为程序员的我们需要学习哪些知识呢?

1、计算机基础:操作系统,编辑原理,数据结构,算法设计与分析,这些知识可以有助于我们了解计算机软件基本的运行原理和运行效率。

2、应用运行环境:linux,apache/nginxweb服务器,mysql/oracle等db,redis/memcache缓存等,hadoop,mango等nosql数据存储

3、开发语言:Java语法,JVM,系统框架(spring系列,struts系列,ibatis/hibernate),各种封装工具类:apache下的







































北京白癜风治疗哪里好
治白癜风天津哪家医院好



转载请注明:http://www.xxcyfilter.com/gailian/gailian/1569.html

  • 上一篇文章:
  •   
  • 下一篇文章: