程序员

资深程序员告诉你如何做到年薪 50 万!

瘦欲@ 提交于 2019-12-03 02:29:44
每天的工作就是和程序员以及 offer 打交道,回答问题应该很合适。 程序员都很诚恳,薪水没达到预期,会反思是不是自己的技术水平不够。 但事实上,技术能力并不是决定薪酬的唯一因素,供需关系对薪酬的影响非常大。 很多时候,两个能力差不多的程序员却在薪水上有较大的差异。并不鼓励轻易跳槽,但了解市场行情是很有必要的。 达到五十万以上年薪,最重要的是,公司有这样的招聘需求而求职者正好匹配,所以在求职时选择正确的方向十分重要。 总结一下我遇到的年薪超过 50 万的程序员在哪些公司工作,大致可以分为以下几类: 1. BAT 和其他盈利能力强的大公司 附一张阿里的级别对应薪资 不仅限于 BAT,其他盈利能力强的互联网大公司,高层技术员工达到 50 万以上年薪是比较容易的。 关注两个限定词:盈利能力强、大公司。 有些公司虽然员工数达到数千人,但盈利能力弱甚至常年亏损。如果所处细分领域、产品模式也不处于风口浪尖上,不被投资者看好,那么即使规模大,员工工资也不会高,可能低于初创期公司的员工薪水。 再来说第二点——大公司。对于五十万年薪以上的高水平程序员,大公司的招聘需求比小公司强得多。 举个例子:大型互联网公司的用户量大,日均 PV 达到千万、亿级别。为了处理大量的数据,公司必须要聘请那些有丰富经验、能解决问题的程序员。 而很多小公司管理者的真实想法就是这样的:我的产品目前只需要一个两年 XX

程序员最爱的五款专业辅助编程工具

 ̄綄美尐妖づ 提交于 2019-12-03 02:28:47
工欲善其事,必先利其器。对于每一位程序员来说,专业辅助编程工具犹如一把利器,将会大大提高编程速度,从而更加高效的完成工作。那么,哪些辅助编程工具才是程序员最爱的呢?下面结合用户推荐和软件下载量,给大家推荐五款程序员专用的辅助编程工具。 1 、 Beyond Compare Beyond Compare是一款智能化的比较文件夹以及文件的工具,使用Beyond Compare只需用简单的命令和操作,即可开启最优质的对比体验,找出您感兴趣的差异,合并变化,然后同步文件,并生成报告。Beyond Compare可以逐字节完整验证每个文件,确保精确查找文件之间的差异部分,并且软件自带强大的过滤功能可以忽略次要差异 。 2 、Sublime Text Sublime Text 是一个代码编辑器,软件具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等,还可自定义键绑定,菜单和工具栏。Sublime Text 支持多种编程语言的语法高亮、拥有优秀的代码自动完成功能,还拥有代码片段的功能,可以将常用的代码片段保存起来,在需要时随时调用。 3 、Navicat for mysql Navicat作为全球领先的数据库管理工具,是装机必备的软件,没有之一。为什么说它是装机必备呢?我最爱它的是操作界面,友好的简直是不要不要的!Navicat几乎所有的程序员都在用

2019年java技术大盘点

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-03 02:07:12
微服务技术 微服务架构主要有:Spring Cloud(29%)、 Dubbo(26%)、 Dubbox等,以 Dubbo占比最高,可达26% 微服务网关技术,使用springcloud-zuul的程序员占比最高。 远程调用技术 使用RPC框架的程序员中, 使用Dubbo的人数占比最高,其次为 dubbox、gRPC、hessian也具有一定的使用比例。 开发技术 多数程序员在工作中使用的开发技术为权限管理和消息队列。1/4的程序员在工作中使用的开发技术为报表技术、分布式缓存技术和负载均衡解决方案。 权限管理技术 shiro的使用比例最高,其次为spring security和自定义框架。 消息队列技术 消息队列技术主要有:ActiveMQ(48%)、RabbitMQ(38%)和Kafka(30%)。 分布式缓存技术 Redis技术是绝大多数程序员在工作中会使用到的分布式缓存技术。其次为ehcache。 全文检索技术 Solr(48%)、elasticsearch(52%)和Lucene是多数老程序员在工作中使用的全文检索技术。其中,超半数的程序员在工作中使用solr和elasticsearch。 最后 Java 仍在互联网技术圈占据主导地位,开发者需要不断学习新技能,掌握企业发展所需要的新技术,才能不被淘汰。 来源: https://www.cnblogs.com

《程序员修炼之道》第三次读后感

依然范特西╮ 提交于 2019-12-03 02:06:07
16 强力编辑 知道vi好,但是只会那么几个简单的命令,而且,通常我总是在windows下面工作,所以通常用crack的UltraEdit。不少实用的功能,加速编辑。倒是IDE的快捷键记住了不少,在实际工作中,发挥了很大的作用。 书上提到仍有不少人使用windows notepad写代码,我虽然不至于此,但倒是习惯使用它来写文章,记录东西,然而就在刚才,发现手工输入的东西都会出现几个黑色的黑框,可见一定要选择足够好的编辑器才行,何况,windows notepad只能撤销一次,而且你也不会知道撤销的到底是你那次的输入。 17 源码控制 凡是工作过的程序员,没有不用源码控制工具的吧?只是选择有所不同。 18 调试 学习编程,觉得和其他人最不一样的地方在于两点,一是自己思考程序的流程,写下代码之前,知道代码将要(预期)执行的顺序逻辑,二是会调试代码,出现错误时不像一般人完全不知道该如何是好,而是去调试来寻找出错的原因。我相信,现在还是有不少工作了的程序员,不习惯去调试,他们期待的是自己的代码都是一次编写就能正确无误的执行,如果不行,那么别人大概可以帮忙解决。 一直以来,一直觉得,一个程序员的经验丰富情况很大程度依赖于他遇到的bug并解决的数量,所以一个人代码写的越多,解决的问题越多,那么他下次遇到问题时就越容易很快的定位。所以,有时候遇到问题并且成功的选择另外一个方案绕过去以后

《程序员修炼之道》第二次读后感

☆樱花仙子☆ 提交于 2019-12-03 02:05:24
7 重复的危害 有时候是copy paste大法带来的后果,有时候是为了省事,总之,一份功能相同的代码在多处出现,更要命的是,需要修改这部分代码!这个可以毫不客气的说就是灾难,所以在设计,在编码初期就要有良好的规划,尽可能避免重复。实际工作中,发行有时候,尽管想要刻意避免,但是还是会出现。其中一个重要原因在于程序员的偷懒,还有是在于模块的可访问性。尤其是两个模块没有任何公用模块的时候,如何避免重复,或者说人工重复才是问题的关键,即使是build脚本去让两个模块出现相同的东西,也比人为维护两个东西都要好上千万倍。 8 正交性 模块耦合,代码耦合,分层分模块,善用设计模式。正交的目标只有一个,让系统富有弹性,可以随需应变。 9 可撤销性 还是系统的可变性,是否可以快速应付其中一些改变而快速改变。通常我们用面向接口的方式来做到这些。在前人的基础上,我们有corba ,com,ejb,webservice,odbc,jdbc等等让我们快速应变的基石,但是总有一些依赖我们自己的东西,接口,接口! 10 曳光弹 很炫的名字,可惜就是在讲poc,Prove of Concept ,的确很有用。 11 原型与便笺 原型,没别的,常用的东西。 12 领域语言 不同语言有不同的优势,关键在于扬长避短,合理运用,有时候组合起来事半功倍。 13 估算 开始前做好计划,过程中最终计划,磨刀不误砍柴工。 14

程序员必备神器--vps主机

匿名 (未验证) 提交于 2019-12-03 00:41:02
今天推荐一个功能强大、居家必备的神器给刚入行或还不了解它的同学们。 且不说它有什么功能,它有多好用,先说先你有没有碰到过这些问题吧。 用百度查技术问题,发现都是互相抄袭和广告,大佬都说google好,但是上不了啊,这就很难受。 存文件到网盘,要么收费,要么敏感资源被和谐?私密小视频无处安放。 爬虫等长期运行任务不适合在本地执行,没有稳定的服务器。 在外网想访问内网资源,却没有合适的方法? 。。。。。。 这些虽然都不是很严重的问题,但每次遇到都会很糟心。如果能一次性把这些问题都解决的话,肯定会方便不少。 vps主机就可以解决以上问题,不仅能解决这些问题,还有其他很多意想不到的用法和功能,比如挂机赚钱、游戏加速、建站等等,就要靠你自己去发掘了。 由于vps功能太多就不展开介绍了,详细的应用配置方法可以参考 vps精选网 。 转载请标明出处: 程序员必备神器--vps主机 文章来源: 程序员必备神器--vps主机

UML类图学习

匿名 (未验证) 提交于 2019-12-03 00:39:02
最近在学习设计模式,接触最多的就是先用UML类图画出这种设计模式。平常看其他人的博客多多少少也碰到UML类图,毕竟再多的文字,都没有一张图来的直白。掌握UML图其实对与java程序员来说,还是很有必要的。 java中的类我们最熟悉不过了。比如我新建了一个下面的类 public class Phone { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } protected void call(){ } } 对应的Phone类的UML图为 图分为三层:最顶层的为类名,中间层的为属性,最底层的为方法 属性的表示方式为: 【可见性】 【属性名称】 :【类型】 = {缺省值,可选} 方法的表示方式为: 【可见性】 【方法名称】 (【参数列表】):【类型】 可见性都是一样的,‘-‘ 表示private、‘+’表示public、‘#’表示protected 继承关系是用于描述父子类之间的关系的,父类又称为基类或者超类。子类又称作派生类。( 记得之前看其他人的博客。看到超类。瞬间懵逼了,后来一查,就是父类,所以基础的东西一定要掌握牢固) 下面定义个Mi和Oppo public class Mi extends

看见一个程序员敲键盘的速度不快

匿名 (未验证) 提交于 2019-12-03 00:38:01
看见一个程序员朋友在敲代码的时候打字速度并不快。于是想不应该啊,朋友经常用电脑敲代码,理论上应该打字速度不至于像我看到的那样慢啊。 因为好奇便问了一下。朋友解释到:这个是键盘的是新买的,包括字母位置布局、键盘凸起等和之前用的键盘不太一样,现在还没用习惯,所以打字速度受点影响。 我看了一下键盘,确实和朋友之前用的键盘不太一样。 总结:没有经过思考,没有查找为什么打字慢的原因,除了自身的技能之外,使用习惯和硬件等也占一部分原因。而且只是看到的那几分钟才看到朋友打字比较慢,没看到的时间朋友可能打字比较快。朋友打字的时间一天可能占12个小时,自己竟然用看到的2、3分钟的时间就判断朋友打字的速度慢,太武断了,下次注意。发散一下思维,生活中的别的情况也可以借鉴这种情况。不能仅凭自己能看到的几分钟或者比较短的时间来判断一个人或者一件事是怎么样的,因为背后可能有当时没有想到的原因等等。 原文:https://www.cnblogs.com/viplued/p/9241715.html

华为资深工程师:码农很多,但程序员并不多......

匿名 (未验证) 提交于 2019-12-03 00:38:01
本文来自《华为人》,转载请注明出处 作者: 于志国 期间一位驰骋商界多年的老友问:“你现在在华为做什么工作呀?”我很骄傲地说:”系统架构师“,可是他却愣了很久。 但当我老婆在旁边补上一句“码农“时,老友瞬间秒懂,却把我受伤的心孤独地留在风中凌乱。 作为与 UNIX 同年代的人,我当初选择计算机专业仅仅是因为抓到什么就学什么罢了。 本科毕业遇到互联网危机,便没有想法地去读了研,研究生毕业找工作,面试官问为什么要做软件开发。 答曰: “不给钱都喜欢做的事情,何况还给钱” ,从此便踏入了编码这一行,只是从来没想到一做就是十几年。 但凡一件事情做久了,无论成功与否,都会有一些真切的体验和心得。以前也读过一些工作中如何成功、快乐,诸如马斯洛理论之类的文章。 也许是因为自己领悟能力比较差,唯一的收获是庆幸自己当初选择了编码作为自己的工作,因为编码天生就具有让人愉悦的工作内容和工作氛围,快乐如影随从。 1 编码世界:规则简单有效,粗暴却完美 从事编码,可以锻炼逻辑思维能力,教会你如何思考。就像学习法律一样,学法律的人未必都是为了成为律师,但法律教会了你一种思维方式。 同样的,通过编码可以学习到这个世界上最严谨的思维方法。因为 在编码的世界里,对错是简单甚至绝对的。 只要敲下键盘,计算机就会判定孰是孰非,0 或 1,规则简单有效,粗暴却完美。 从事编码,可以获得持续的创造力。跟写作、绘画、作曲一样

程序员前端工程师视频 36期

匿名 (未验证) 提交于 2019-12-03 00:34:01
01HTML和css 02京东项目 03javascript 基础 04webapi 05javascript高级 06jquery 07php基础 08Ajax 09阿里百秀项目实战 10html5和css 11canvas 12移动web视频 13电商项目视频 14nodejs(7天 15vue.js 16reactjs拓展 Webstorm-2016.1.1.rar web前端开发软件.rar 【赠】100IT 名企前端面试真题.docx 【赠】前端面试题汇总.pdf 本文转载自: http://www.javaxxz.com/thread-365827-1-1.html 转载请标明出处: 程序员前端工程师视频 36期 文章来源: 程序员前端工程师视频 36期