程序员能力

摘录

☆樱花仙子☆ 提交于 2020-01-06 21:29:02
1,所以我写下这篇文章来警示一下自己,对于我们程序员来说,现在的碌碌无为可能表明了你之前的工作没有用心或者你真的不适合做这方面的工作。我是今天早上的时候看到了一片关于工作了三年之后的程序员应该何去何从这样的一片文章,才有此想法。我想把我心里的都说出来,我觉着既然到了这个时候了,工作经验肯定是有了的,该遇到的问题也基本上都遇到了,只不过有些问题自己还不能够独自解决。 2,说一下选择,人生有很多的选择,但是有些选择就是能够决定命运的,所以这个时候的选择很可能决定了你三年以后的生活怎么样,五年之后的生活怎么样,甚至后半生的生活如何。在感到迷茫的时候,仔细想一想,适合不适合做这份工作?如果觉着不适合了,先要考虑自己能做什么,如果只是单纯的以不想工作为借口,那么可能你是欠考虑的。毕竟生活中的不如意十之八九,你要学会适应。 3,其实,如果你工作了有一段时间了,但是时间还不是很长,并且你还是一个程序员的话,那么你就应该考虑自己独立完成一些项目方面的需求分析,自己平时多读一点书,多写写博客。 4,这样可以提高一个人的综合能力,如果你觉着自己在编程方面已经有了不错的功底,那么你就应该往非编程领域(人际交往、管理能力等)这些方面发展;如果你的技术水品还不是十分扎实,那么你就要注意一点了,不是你到了需要放弃或者转行的时候,而是你没有付出努力,就算是换了一个行业也还是这样。 5,对于我的经验来讲

《选择大公司还是小公司》(2010/06/11)

假装没事ソ 提交于 2020-01-06 02:49:41
很多人在第一次求职的人几乎都会遇到“到大公司还是到小公司?”问题。他们认为大公司的薪水高、工作稳定、技术水平高、升迁机会多,但是,大公司要求高,竞争激烈,自己怕进不了;而小公司薪水相对低一些,工作稳定性较差,技术水平参差不齐,升迁机会不多,但是,录取率相对较高。这可能是各种求职中一个常见的话题。这个选择应该是因人而异,几乎没有什么正确答案。所以,我们看到过选择大公司的人获得了成功,我们也看到过选择小公司的人获得了成功,相反的情况我们同样也一样见到。 作为程序员的求职,我想还是有些职业的特殊性的。程序员职业和一般的职业有很大的不同,程序员职业有其鲜明的特点 : : 1 、个人劳动 2 、产品可复制。这两个特点注定了程序员有很大个人发展的空间。 1、 个人劳动 表明其工作主要和劳动者自身有关。无论是程序员独自承担一个编程项目,还是在一个项目中承担着部分编程工作,都可以归集于个人劳动。不象有的职业需要昂贵的劳动设备,依赖于昂贵的设备,例如:炼钢工人必须要有炼钢厂的炼钢炉。也不像有的职业需要其他人联合劳动。例如,流水线上的装配工。也不象其他职业有严格操作规范和工作流程。例如,制药厂必须按照制药的配方生产药品。 程序员只要有台电脑(其价格可以忽略不计)就可以工作了,而且在工作时,是一个人在工作(工作前后,项目的衔接可以忽略不计)。其编程过程完全取决于程序员个人的技术水平发挥。 2、

程序员:我们为什么爱上直播编程?

你。 提交于 2020-01-04 00:29:31
在“直播”没有进入互联网之前,我们是不会想到几乎所有事情都可以通过互联网,电脑或移动设备展现在公众面前。如今,无数网红通过直播分享他们的生活和工作,与粉丝互动,甚至成为全职的播客。而程序员,作为互联网技术以及无数电脑或移动设备应用程序的创造者,他们在“直播时代” 同样表现得十分活跃。他们通过直播平台,把自己开发某个软件甚至是整个项目的过程,全部展现在观众面前,与同样喜欢编程的人分享,将兴趣,工作与乐趣融会到直播过程中。 前Opera软件工程师,来自波兰的Noisy,他在最近写的一篇博客——How to increase a productivity as a software developer?(《作为软件工程师,应该如何提高工作效率?》)中就提到了Livecoding.tv这个专为程序员提供的编程直播平台。Noisy在他的博文中首先抛出了这样一段话:”I don't remember exactly how I found a LiveCoding, but I remember the impression which this website made on me. I started my adventure with programming in 2003 Then I didn't even had an internet connection. ” (

程序猿薪资闲扯

爱⌒轻易说出口 提交于 2020-01-03 02:50:31
国内首份关于程序员的技术成长与薪酬报告出炉,从技术小白到大牛有迹可循。报告显示,大数据工程师最值钱;运维工程师最悲催,在哪个城市都不好过,薪酬是平均薪酬的三分之二;测试工程师和游戏工程师薪酬表现也比较疲。 5年工作经验的工程师最抢手 近几年,程序员工资一直居高不下。北京程序员平均工资是 12715 元,和此相差无几的是上海、深圳、南京和西安,所以程序员在逃离北上广之后选择南京和西安也会有不错的生活。 在工作年限上,1-3年和3-5年的工程师平均薪酬相差不多,而 5年以后的工程师薪酬有了明显的上升,这说明资深工程师在市场上更加抢手。 大数据工程师最值钱 大数据工程师和后端开发工程师及移动开发工程师是薪酬榜的前三名。居于榜首是大数据工程师。当然,优势才是王道,做擅长的事比做赚钱的事重要。 工程师中哪个细分工种薪酬最低? 运维工程师最悲催,在哪个城市都不好过,薪酬是平均薪酬的三分之二;测试工程师和游戏工程师薪酬表现也比较疲软。 当然从未来往前看,现在给的薪水一定是廉价的,还要综合平台、资源、人脉、能力增值这些无形的东西做综合判断。 融资到 B 轮和 D 轮的公司最豪爽 融资到哪轮的公司,给工程师的薪资最高?D轮以绝对优势胜出,比较好理解在于一般融资到D轮的公司已经成为行业翘楚,高速发展。但是融资到B轮的公司给的薪酬也很高,这可能反映出国内创业公司的特点:终于拿到B轮了,逃过了A轮死

程序员的发展方向和薪水

◇◆丶佛笑我妖孽 提交于 2020-01-01 14:13:11
  IT行业的待遇比很多行业要高,程序员是最突出的,刚刚毕业的大学生,进入百度、腾讯、阿里巴巴等这些大企业,年薪一般在20万左右,厉害的可以拿到30万。这是第一梯队,一般重点大学的毕业生才能进入,怎么也得是个一本吧。   拿到融资的创业公司、规模不大的公司、一些国企等给的待遇也不错,年薪也可以超过10万。   很多小公司,老板一个人说了算,也没有融资,待业一般都不会高,一个月几千块钱。这样的公司招人难,进入的门槛低,对学历的要求也可以忽略,能干点活就行。   每个城市的待遇也不一样,北京、上海、广州、杭州这些一线城市都有大公司,待遇最高;成都、大连、西安这些二三线城市的待遇就一般了。    沈阳463医院 程序也是有分工的,常见的有下面几种:   小A:专门研究复杂的问题的解决办法,被称成算法大牛,见到牛的人时候,喜欢发Orz等文字;内心脆弱,大多没法独自完成一个工程,更多参与研究,是程序员中的高薪群体。——想成为他?建议学一个基础语言后,选择算法课程,然后多多挑战难题。   小B:喜欢写代码,不喜欢动脑子,复杂问题用别人写好的程序解决;一般能自己写一些小东西,多数自视很牛;团队协作能力好的这种程序员比较难得。多见创业和大企业就业群体,薪水一般,提升空间小。——想成为他?建议学习一个基础语言后,学习数据结构,然后去开源社区混迹;不过要提醒,注意修行、修心,多和大家一起做项目。  

非好学校科班出身的程序员,该如何快速提升自己

青春壹個敷衍的年華 提交于 2020-01-01 14:07:41
目前一般的大点的公司,往往会在招聘时(尤其在招聘3年以下工作经验的程序员时)会设置学校的门槛,比如需要211或985相关专业毕业。这里我无意贬低不在这个范围的程序员,相反在本文里还将根据我所见和我所闻,为这些同学给出发展的建议。 首先我用我的切身体会给大家予以足够的信心:我最近呆的都是一些不小的公司,虽然在招聘时有上述的门槛,但事实上,在3年左右的正式员工里,大约30%是一般学校,或非科班出身,在外派的员工里,这个比例会高到70%左右,而且,每个组平均每年有3个左右转正的名额。所以,出身一般的程序员,只要有足够的勤奋度,而且方法得当,绝非就一定低人一等。 恕我直言,在学校和学历方面稍微欠缺的同学里,我有见过能力很强的,但平均综合能力确实不如好学校。(这里如果我说高于好学校,说出来也没人信)。 不过对于勤奋的同学来说,并非是能力不行,而是努力的方法和方向不对。对于这批敬业勤奋的同学,我非常敬佩,所以在这篇文章里,我将专门分享些相关的提升技巧。 1 战术上要重视,分析为什么大公司要设置学历和学校的门槛 平心而论,为什么有这样的设置呢?第一,能进好学校的同学在之前的学习过程中已经证实了自己“综合能力强“这个特质,第二,好学校毕业的同学,一般基础能力比较扎实,比如数据结构算法操作系统编译原理等,不仅理论经验,不少还有实训经验。 在前进的过程中,我们必须认清自己,所谓知己知彼百战不殆

组合和聚合之间的区别

无人久伴 提交于 2019-12-31 21:30:00
组合表示的是整体与部分的关系,比如:引擎是汽车Car的一部分,脱离了汽车的引擎毫无作用,没有实在的意义。 而聚合表示的是另一种关联关系,比如:人由身体所组成,应该由身体来组合为一个人,身体作为人的组合的一部分,人和人的手,脚是组合关系,因为当人死亡后人的手也就不复存在了。人的身体在数据库中,应当直接作为人的属性存在。但一个记录人信息的文档,即便脱离人本身,也可以在其他地方体现价值,这就是聚合。 用更加理论化的文字阐述: A类的构造方法里创建B类的对象,也就是说,当A类的一个对象产生时,B类的对象随之产生,当A类的这个对象消亡时,它所包含的B类的对象也随之消亡。 而在聚合的方式下,A类的对象在创建时不会立即创建B类的对象,而是等待一个外界的对象传给它,传给它的这个对象不是A类创建的。 容易看出,组合的关联关系要比聚合更强。 不过,组合和聚合的关系并不是一成不变的。假如有一个程序员,他只会写代码,那么他想用写代码谋生,就必须拥有一台电脑,那么程序员就与这台电脑为组合关系,一旦电脑坏了,程序员就会饿死,如果程序员能力太差,找不到饭吃然后饿死了,这台电脑也会被丢进垃圾桶送去焚烧。 这时电脑与程序员的关系应该是这样的: public class Programmer { public Computer computer; //程序员唯一一台电脑 public Programmer() {

优秀程序员和普通程序员的差别在哪里?

核能气质少年 提交于 2019-12-30 10:53:20
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1.对待需求的态度 优秀程序员: 在有需求与任务时,会不断地询问需求与任务,并且多次确认想要的结果,再动手写代码。 一般程序员: 接到任务就闷头写代码,反正做错了也是你们要求的,不是我的锅。 2.编码习惯 优秀程序员: 他的代码读起来是赏心悦目的,若遇到难理解的实现点时,他也会写下清晰的注释来帮助后来人理解。 一般程序员: 我有我的代码风格,我看得懂就行了。几个月后我也看不懂了,那就重写一遍吧。 3. 善于学习 优秀程序员: 遇到没接触过的技术时,他会主动搜索资料去学习钻研,并以此为乐趣。 一般程序员: 疯狂地找插件,类库和框架,常常做代码搬运工,安慰自己不要造轮子。 4. 对工作精益求精 优秀程序员: 会抽时间review自己的代码,并思考如何提高性能。 一般程序员: 只喜欢开发新项目,不喜欢维护旧项目,万一搞崩了呢? 5. 有钻研精神 优秀程序员: 遇到问题,会考虑独立寻求解决办法,提升自己处理问题的能力。 一般程序员: 喜欢把问题交给别人,把代码发给别人,让别人帮他找问题。 6. 良好的情绪管理 优秀程序员: 理解需求是会不断变化的,不会把消极情绪表达出来,能控制好情绪,能跟产品经理和谐愉快沟通。 一般程序员: 因为需求反复修改就索性说这个代码实现不了。 7. 态度很谦虚 优秀程序员: 对新的技术敏感度

《漫谈程序的效率和水平(一)》(2009/12/26)

女生的网名这么多〃 提交于 2019-12-29 02:55:45
程序的效率和水平常常被挂在程序员的嘴边。他们推崇高效的程序,他们把运行快的程序看成水平高的程序。但是很多程序员并不清楚什么是高效的程序,如何才能编制高效的程序。他们把编制高效程序看作一种奢望、一种追求。 程序运行的快和慢是需要比较的,其前提是相比的程序必须是要完成相同的功能,而且程序运行的硬件环境和软件环境必须一样。不同的人因其程序的不同,程序运行的时间就不同。因此,程序就有了差距。即使相同的人,因对程序进行了完善和变更,也同样会导致程序的不同,进而导致了程序运行时间的不同。没有这些前提谈论程序的效率是没有意义的。 我们不能一概而论的认为,程序越快越好。不同程序对效率的要求是不相同的。现在许多程序员只知道程序越快越好;不知道程序效率改进是一个无止境的过程;不知道程序的快慢是有一个度的;不知道人们对效率的追求是需要成本的;不知道程序快慢与用户感受相关的。而这些正是我最为担心的。我认为无论什么程序只要有用户使用才有价值,用户的感受才是程序效率的目标。只有树立这个目标之后,我们改进程序效率才会有动力,我们改进程序效率才有一个尽头。我们可以把程序归为三种情况: 1、 批处理 是指系统业务功能终止后或其它事物终了后,对其终了前的数据进行加工的过程,这个过程可能涉及到多个程序。有的批处理时间很长几小时到十几小时都有,有的批处理需要几分钟到几十分钟。批处理时间主要涉及到数据量的大小

程序员面试考察的5个方面

蹲街弑〆低调 提交于 2019-12-27 02:03:49
面试时程序员绕不过去的话题,我的理解是具体分为如下5个方面: 1.基本功 正所谓美团说的基本功,程序员面试的基本功,每个人的理解不一样。但无外乎几个方面:编程语言+数据结构+算法+平台编程经验。 平台编程经验举个例子是你用java,你能够在后端框架写程序还是能够移动端开发安卓。 编码规范 编码规范不是背一下就行了,背后体现的是项目经验的积累,如何写出高质量的代码,比如编写的代码稳定,可靠,满足安全性和鲁棒性等特点,同时有清晰的注释和缩进等格式特征。 分析解决问题的能力 现实世界程序员面对的很多问题都是未知的,如何分析并且解决掉就是一个很重要的能力。 这个主要是考验的是一个人的抽象问题,分析思维,逻辑思维等能力。 比如如何得到一个解题思路: 1.具象思维,画图 2.类比思维,举例子。3.归纳思维 4.反向思维等。5.拆解问题等 优化能力 程序员更多指的是优化代码,提高效率,比如时间,空间效率等,其他具体维度:优化一些流程等,比如打包流程,上线流程,自动化测试流程,包大小等 学习和沟通能力 这部分决定了一个人的长期能力和软实力。 学习在面试中主要考察对新概念的理解和知识迁移能力。 沟通主要体现了你的沟通风格和效率,效率方面比如金字塔模型等。 来源: CSDN 作者: fesng 链接: https://blog.csdn.net/u010321471/article/details