职业发展
七个对我最重要的职业建议(阮一峰翻译)
一、不要别人点什么就做什么
“不要做一个别人点了什么才就烧什么的厨师,也不要这样的地方工作,你要去一个地方,那里的人能肯定你对产品的想法,相信你的能力,放手让你去做。”
单单实现一个产品是不够的,你还必须参与决定怎么实现。好的工程师并不仅仅服从命令,而且还会给出反馈,帮助产品的拥有者改进它。
🤔从技术角度改进产品?或者技术角度的feature吗?比如实现更好的交互,新的技术可以做更好的事情?
🤔不能只是让别人给你一个技术方案你只负责实现它,而是要自己能设计一个方案,甚至可以根据自己的技术给出一个让不同feature变成高级的feature。比如更节省成本,时间少人力少、效率高机器成本低、交互好、更美观、用户体验更好等等。总之就是,因为你的一些想法,原来那个别人提出来的东西别的更好了。
🤔对自己有什么好处呢?输出一些想法,肯定是要付出精力的,那么这些精力能不能有所回报呢?首先,它能体现分析、解决问题的能力,体现积极、负责,其次,进一步端粒自己分析、解决问题的能力,锻炼表达能力,这些经验多了起来,就相对其他人来说是一种优势,能创造出一些价值,可以写在简历中,对某某功能提出哪些想法,使成本降低了多少,收益增加了多少。
二、推销自己
“为了让其他人相信你,你必须首先让别人知道你做了什么。你需要推销自己,引起别人的注意。”
公司的其他人需要明白你的价值,最好的办法就是告诉别人你做了什么。
🤔写邮件告诉别人真的好吗?可能还是写博客好一点吧,但是博客很难找到读者,可以通过掘金、csdn之类的引流一下。
三、学会带领团队
“当你的技术能力过关以后,就要考验你与他人相处的能力了。”
如何带领一个团队,有效地与其他人协同工作,取到更大的成果。
🤔先看一下左耳朵的文章学习一下沟通技术。
🤔目前我只需要考虑一二三这几个问题。
四、生活才是最重要的
五、自己找到道路
“以前都是我们告诉你做什么,从现在开始,你必须自己回答这个问题了,我期待你来告诉我,什么事情需要做。”
很多工程师都没有完成这个转变,如果能够做到,可能就说明你成熟了,学会了取舍。你不可能把时间花在所有事情上面,必须找到一个重点。
六、把自己当成主人
“不要再去开这样的会了。你参加一个会,那是因为你参与了某件事。如果不确定自己为什么要在场,就停下来问。如果这件事不需要你,就离开。不要从头到尾都静静地参加一个会,要把自己当成负责人,大家会相信你的。”
从那时起,我从没有一声不发地参加会议。我确保只参加那些需要我参加的会议。
七、找到水平更高的人
“找到那些比你水平更高、更聪明的人,尽量和他们在一起,吃饭或者喝咖啡,向他们讨教,了解他们拥有的知识。你的职业,甚至你的生活,都会因此变得更好。”
面试时,如何向公司提问?
有一些注意点,你需要知道:
- 面试之前,一定要做准备,多了解公司的情况。
- 你提出的问题,应该围绕"这份工作是否合适我"这个中心点,其他与应聘关系不大的问题,不宜多问。
- 提问的时候,要自然放松,不要害羞,就把它当作普通的聊天。你要表现出对公司的真诚兴趣。
- 提问要直接了当,不要绕圈子。提出问题之后,你要保持安静,让面试官多说话。
- 面试官回答的时候,你可以做笔记,或者事先询问能不能做。笔记必须简短,你的大部分时间,要用来全神贯注倾听面试官的回答,并与其有眼神的交流。
- 面试结束后一周内,最好打一个电话或发一封邮件,了解公司对你的反馈意见。即使面试失败,你不妨也问一下原因,这会有助于你以后的面试。
6个问题
- 为什么招人,之前的人离职了还是公司增长扩张。
- 为什么大家想留在你们公司。公司的文化、价值观、环境对员工的影响。
- 如果被录用了,在上班的头两三个月,公司希望我做到的三件事是什么?
- 一个人像成功地做好这份工作,需要哪些东西?
- 我刚才说过的话里,是否有哪些内容让你华裔我不适合这份工作。
- 你们什么时候会做最后的决定?
围绕“这份工作是否合适我”提问
下面是一些你可以问的典型问题。
问题一:你们为什么要招聘这个职位?
这个问题会使得面试官开始谈论当前的项目,或者谈论前一位离职人员。无论哪种情况,都会让你了解,一些与你最密切相关的公司情况。
问题二:你们的新员工多吗?
这个问题起一个过渡作用,使得谈话导向公司内部的情况。但是,它本身也能说明一些问题。如果公司成立已经超过四年,又没有新项目,但是新员工却很多,这往往说明公司文化不是很健康。
问题三:你们公司(团队)目前面临的最大挑战是什么?
如果面试官开始谈论一些具体的技术问题,这很好;如果他的回答是项目时间紧迫,或者需要更多的资金,那你就要小心一点了,公司管理上面可能有问题。
问题四:什么新技术(编程语言)是你们未来希望采用的?
如果你申请的是技术职位,面试官恰巧又是技术负责人,那么这个问题将会非常合适。你会对公司的技术路线有所了解和准备,一旦入职,就能更好地适应公司的需要。
问题五:在业务方面,有没有什么地方是你们不满意的,未来想要改进的?
很少有公司,会百分之百满意自身的现状,即使那些状况很良好的公司也是如此。这个问题可以让你对公司管理层的关注重点和担忧之处,有所了解。
问题六:我申请的这个职位,对公司的业务有何影响?
这个问题会让你了解自己在公司的角色,以及你的岗位对公司是否重要。
如何提高求职时的谈判能力?
(1)记住你不是在求职,不是在展示编程技巧,而是在推销某种商业问题(增加收入或降低成本)的解决方案。
(2)面试时,要有自信,要平等的对话。你要的是一个互利的录用合同,不要每次对方提出要求,你都说Yes。
(3)雇主可能会问"你的上一份工资是多少",他们其实在说"给我一个理由,压低你的报酬"。你要想好如何适当地回答这个问题。
(4)要还价。这里不仅仅指钱,还指其它你关心的方面。如果你无法要求更高的薪水,那就试着要求更多的假期。
(5)在对方决定录用你以后,才开始讨论薪水。因为那时,他们已经在你身上,投入了大量的时间和金钱,产生了一定的成本,此时他们可能觉得一些小问题已经不值得再纠缠了,比如每年的工资增加几千元。
产品五问
- 给谁用?
- 他们用这个产品来解决什么问题?
- 这个问题对他们而言有多重要?
- 我们的方法是否足够简单方便?
- 他们要付出的代价与所得是否匹配?
创业公式
Paul Graham的创业公式就是:搭建原型、上线运营(别管bug)、收集反馈、调整产品、成长壮大。
程序员的能力
基础:掌握语言。
比如熟悉js——看《忍者秘籍》《语言精髓》《es6》等,而掌握语言的基础
进阶:掌握框架、语言细节、重要的工具。babel等的插件,开发一个通用sdk。
比如掌握react和vue的原理,状态数据管理redux和vuex等等。
比如git的各种常用用法。
高级:通用解决方案。
比如:算法、并发、分布式、沟通技巧、表达能力、领导能力
亮点:
技能和能力有多种,不可能也不需要掌握太多,有一两种能够给别人留下深刻印象即可。
比如java方向的可以是这些:
- 你特别熟悉Spring,跟它有关的啥问题啥需求你都能搞定
- 你特别会建数据库索引,分析慢SQL原因
- 你特别会写脚本进行自动化
- 你特别会看源代码,会debug
- 你对多线程特别熟悉
- 你特别会对JVM调优
- 你特别会进行性能调优
前端方向可以有哪些呢?