首页 > 编程知识 正文

现在程序员这个行业怎么样(it程序员后来都转行做什么了)

时间:2023-05-06 11:14:42 阅读:101018 作者:2890

对于一个技术人员来说,编程技能是最基本的能力,能够完成工作中的需求和任务。作者:浅唱浅唱;来源:线段断层

除此之外,还有一些其他每个人都应该具备的基本功,或多或少有点,但平时没有重视,也没有刻意学习和钻研,以至于有了鸡汤概念,觉得自己做不到,或者觉得自己还不错。

但是很少有人能确切地说出什么是好的,什么是坏的。

日常场景

在程序员的日常生活中,会有一些我们每天都会遇到的极其高频的场景。

遇到棘手的bug或者忘记某些属性和方法的时候,可以查阅网上的文档手册和博客文章,针对某个需求,比如时间格式化、字符检查等开发项目,使用网上的代码片段或者第三方库,然后进行单元测试,有些是测试专用的帖子,但这和自我测试并不冲突。具体来说,看工作安排和项目周期,上班前拉最新代码,下班前合并、开发、提交你最新的代码。合并、创建、测试、发布和其他版本过程都需要使用构建工具来运行项目代码或将其打包进行测试。这是一个基本功,还有很多地方值得优化和改进。开发过程中有三个模块,分别是功能开发、代码调试、问题排查,能够快速定位并解决问题是核心技能。当我们每天都要重复做一件事的时候,人与人之间的差距就来了。

具体差距取决于我们做这些事情的水平。高频越是核心的东西,就越要不断想办法去优化和完善。只有这样,我们才能每天提高效率和质量。久而久之,就会产生无限的正反馈。

另一方面,如果我们一直稀里糊涂,依靠本能和有限的知识来应对这些场景,那么这将是一场极其疲惫的消耗战,直到我们无法再支持业务场景。

基本技能

上面提到的所有总结的行为都可以找到一个或多个更快、更友好地执行的技能,至少尝试将概念内容转化为可量化的方法。

高级搜索

遇到问题时,如果找不到原因或者解决不了,通常会在搜索引擎上寻找答案。

百度,可能不知道,谷歌可以解锁更多内容,友情提示,用英语作为关键词,获得更高质量的答案。

还有一些其他的搜索引擎不会一一列出。关于搜索,不仅涉及搜索,还涉及搜索什么,在哪里搜索,如何搜索。不同的人用不同的关键词会对同一个问题得到截然不同的答案。使用一些搜索技术可以消除劣质信息,快速准确地获得想要的内容。

知识体系

编程中不建议做轮子,很多场景直接使用别人现成的代码片段和库更方便,比如手机号验证等。没必要花时间自己写规则。

当然,有时候考虑到安全性和特殊需求,还是需要自己做轮子的。这个时候,更重要的是检验技术技能、基础知识和底层逻辑。

建议平时自己搭建编程系统。常用内容要及时整理,合理使用。特殊场景可以快速适应,跟上节奏。

也会用到一些第三方库,快速入门是核心,尤其是很多文档都是英文的,不一定有一系列教程。这时候就要考英语功能和基础知识了。

版本管理

几乎所有的公司都会使用版本管理工具,无论是Git还是SVN还是其他工具。

不能做高级搜索,可以没有知识体系,但不能做版本管理。需要说结局吗?

版本管理几乎每天都有操作,需要掌握什么时候提交,如何合并,如何解决代码冲突。

学习优化的地方很多,正确使用,提高效率非常重要。

andler/489ddfc6-637b-42a5-b07b-9f8db6203dd8?from=pc">

构建工具

前端的webpack,npm,后端的maven或者gradle都属于构建工具的范畴.

打包输出,合理设置依赖,项目优化,这些都是本身职业中必须掌握的基本技能,之所以单独列出,是因为其本身就是一个分类领域.

如同版本管理工具一样,不同的软件有不同的方式和效果,不论是配置测试环境,正式环境,还是项目本身的设置,都是有很多需要注意的地方.

代码调试

如果是开发占据了一半时间,那么调试就占据了另一半时间.

有人调侃程序员,一半的时间在写bug,另外一半的时间在debug.

遇到问题的时候,第一时间就是用正确的方式debug,比如断点,比如查看日志,比如其他调试方法.

熟练的调试时是发现和解决问题的最有效的方法,反之,如果代码调试的能力一般会极大的影响开发效率,造成不必要的时间浪费等.

问题排查

调试只是查询问题的方法之一,就拿断点来说,会断点,查看相应的数据并不一定能找到问题所在.

了解断点如何设置,应该设置在哪等就涉及到问题排查,是采用断点,还是查看日志,还是选择别的方式,也是问题排查.

问题排查是一个思考方式,怎样发现问题,为什么没能发现问题,才是重点,发现问题后如何解决问题,也很重要.

一方面取决于经验的积累,一方面取决于思考方式,相对之下,工具的使用就比较弱化.

有些问题发生的时候,特别能检验一个人的能力,分析能力,沟通能力,技术能力,综合起来形成问题排查和解决能力.

linux系统

现在技术越来越方便,很多框架都十分的成熟,图形化的开发界面也比较完善,很多人平时使用window系统开发,但是这并不意味着不需要了解linux技巧.

也不能说是纯粹的linux,而是应该指命令行和服务器系统.

很多开发场景都是可以通过命令行的方式来开发,不论是前端还是后端,还是其他职位,使用命令行都是比较推荐的方式.哪一个开发效率快,质量高,错误少就采用哪一种,没有绝对的限定.

其次服务端系统linux也要多多了解,一个项目的开发到上线,涉及到产品,ui,前后端,测试,运维等等,按道理懂得越全面越是有好处,能够从全局思考,从技术角度看,熟悉linux很有必要,许许多多的场景都与之有关,就像上面的额问题排查,这涉及到知识储备和经验值,能够帮助我们全面而快速的定位问题.

单元测试

单元测试是保证软件持续集成和持续交付的一个基本前提。

测试作为一个大的分类也有很多要学习和优化的,好的单元测试可以帮助我们节省开发时间,尽早的发现问题.

因为有测试岗,所以一定程度上测试为非必须,我们需要在开发效率不断的做出选择.

但从个人综合能力上来说,测试是一个开发人员应该具备的基本能力.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。