做好非典型程序员(做好非典型程序员心得体会)

http://www.itjxue.com  2023-02-09 06:15  来源:未知  点击次数: 

程序员面试过程中,面试官想要从"自我介绍"获得什么信息

工作10余年,经历过很多次面试,也面试了N多人。这些年来,已经有好些位朋友(或同事)与我聊起相关话题,涉及面试,更关乎职业生涯规划。感触颇多,就借助自媒体的浪潮,与更多的程序员一起共谈面试经历,希望可以让程序员的面试过程变得更舒适。

万事开头难。头脑中的万千个思路,在笔尖流淌,可就是不愿意走到纸上。既然主题是技术面试,那就从面试过程中最简单的最直接的第一个问题,“自我介绍”开始讲述。

本人自我介绍:非典型程序员,从事研发工作10余年,受互联网产品热潮的影响,现自认为可以兼任半瓶水晃荡的产品经理。

"我是面试官"介绍:从产品设计角度解读面试过程,尝试分析面试各个环节背后的动机和原因,从而,让程序员在面试过程可以更好地展示自己,也希望与各位面试官共勉,以改善现有的面试体验。

面试"官":Interviewer,此官非彼"官",而是职责-进行面试者,这里基本特指面谈专业技能环节的面试官,具有选择未来同事的权利。

对面试官的建议:面试前仔细阅读候选人简历,有精力的话可以针对具体简历内容准备相关面试话题。对于一个面试前没有详看简历的面试官而言,候选人在自我介绍的这段时间,面试官就会去详读简历,而这可能会降低候选人的积极性,也会给候选人留下不好的印象。

面试前,面试官可能会虚寒温暖,以缓解候选人的紧张情绪。那么当面试官让你做自我介绍时,就正式进入面试主题了。自我介绍,不会对面试起决定作用,但会影响面试官对候选人的第一印象,甚或部分影响后继面试官的话题选择。那么,针对这个问题,面试官心里究竟想要知道什么呢?

1.你是谁

虽然你的姓名年龄都在简历中,但通过你的声音、肢体语言,又或是你的姓名由来,背景故事,都可以决定你的第一印象是否深刻。

2.你会什么

面试官首先感知的是你的语言组织水平和逻辑总结能力。

其次,面试官想知道,你的知识面如何,是否对技术有浓厚兴趣,特别关注的是你的特长是什么。

3.为什么是你

当提到你的专业技能与特长时,面试官最感兴趣的是,你的知识面与当前岗位的技能要求的匹配度;如果有类似的业务经验时,面试官会更高兴,因为你可以快速熟悉当前岗位。 那么主动提及职业规划呢,一方面,一个对未来有追求的程序员,通常也会把当前岗位的事情努力做好。另一方面,方便面试官去判断当前岗位与候选人的职业规划的匹配度。

候选人做完自我介绍之后,面试官如果没有获得相关问题答案的,会在后面的谈话过程中作为问题单独提出。而如果已经获得一个简要答案的话,那么这个答案就是追问的基础,他可能就会有针对性的深入探讨相关话题。

还有程序员需要了解的一点:不同的岗位,不同的公司,面对不同的招聘需求,面试官的侧重点是不一样的。但只要可以全面地介绍自己,就迈出了成功的第一步。

如何才能修炼成一名不可替代的程序员,避免裁员危机?

程序员,就是从事程序开发、程序设计、程序维护的专业人士。

作为一种专业性极强的技术性专业,程序员的工作难度非常高,只有专业技能水平高超的人才能在这个领域获得良好的发展前景。……那些实力不足的人,只能被最终淘汰。

因此,要想在程序员这一行里成为不可替代的人,避免自己被淘汰出局的情况,就必须具备以下几方面能力:

1,高人一筹的专业技能。

在职场上,要想确保自身生存,就必须具备一项专业技能。……要想确保自己不被淘汰,就必须具备高人一筹的专业技能水平。

因此,要想让自己成为不可替代的程序员,要想让自己避免被淘汰的情况,就必须确保自己的专业技能水平高人一筹。

2,强大的罗辑思维能力。

程序,是一个逻辑性极强的系统。

一个程序的各个部分之间、各项功能之间,都存在着极强的关联,也拥有着非常强的逻辑关系。

因此,要想编写出性能优异的程序,就必须拥有极强的逻辑思维能力。……这是确保自己拥有更强实力、确保自己不被淘汰的重要能力。

3,高超的数学水平。

程序的表象,是一段代码。而其核心,则是数学模型,是具体的算法。……只有具备高超的数学水平,才有能力编写出算法精妙、逻辑严谨的程序来。……这是自己具备更高水准的关键因素。也是自己高人一筹,不可替代的关键因素。

4,精通至少一门编程语言。

编程语言是程序员在编程时所用的工具。……只有熟练掌握手中的工具,才能让自己编写出优秀的软件。……编程语言有很多种,一个程序员不可能面面俱到。……但是一个合格的程序员必须掌握至少一门编程语言,这就是自己工作时最得力的工具。……运用这个工具,自己就可以编写出优秀的软件,就可以获得更好的业绩,最终成为不可替代的优秀人才了。……自己也就不可能被淘汰了……

如何做好一名程序员

1,文档习惯 :文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。

2,模块化思维能力 :要想成为一个优秀的程序员,他的思想不能仅仅只在局限当前的工作任务里面,比如写plc编程语言,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。

3,团队精神和协作能力 :我个人认为团队精神和协作能力对于个人和所在团体都是相当重要的。团队精神和协作能力是作为一个程序员应具备的最基本的素质。虽然海南师范大学开设软件工程专业仅有三年的时间,但软件工程在全国来说已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。

4,规范化的代码编写习惯 :知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。

5,学习和总结的能力 :程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,我们只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。

6,测试习惯 :测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。

7,需求理解能力 :程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。

(责任编辑:IT教学网)

更多

推荐鼠标代码文章