如何快速成长为不可或缺的技术人才?

如何快速成长为不可或缺的技术人才?

尤其是近几年非常火热的人工智能,机器学习等等,还有推上风口的 python。这多少会带动一些人盲目跟风。其实开发工程师对自己知识体系的扩充和转型都需要有一个明确的目标。跟风是一件比较危险的事情,转型也不同于丢掉自己所有的东西。我想通过程序员的诞生和程序员的成长来讨论,究竟该如何选择。

  • PHP 程序员的现状;

  • 什么导致了程序员的分层;

  • 高级工程师需要达到的要求;

  • 程序员如何快速成长;

  • PHP 程序员渴望的蜕变;

  • 干货,你需要的转型路线;

  • 总结。

  •  

    现阶段大部分 PHP 程序员都比较迷茫,初级 PHPer 觉得这个行业难,中级 PHPer 大都想通过学习来提升自己,但往往会陷入今天追这个技术明天追那个技术的一种情况,高级 PHPer 大都有了自己的知识体系,部分在架构的位置。

一般来说,如果你很难熬过开发生涯的入门期,可能说明你不适合这个行业;如果你无法通过蜕变期,你可能就不会有太大的成就。

我之前用重庆互联网学院中某家培训机构(YMSD)的数据分析过,在这部分培训进入行业的学生中 2 年后还在这个岗位继续发展的学生仅仅占有 20%。也就是说 80% 的学生花钱花时间只是做了回陪跑员。这也从侧面说明,如果我们进入这个行业,除了期望让自己能够挣到很多钱,也必须对以后的发展有个预期。

什么导致了程序员分层

导致这种分层的原因是什么?

其实工作年限也不是一个非常重要的因素,确实在之前的面试中,我们遇到过工作年限只有一年但是非常优秀的开发者。但凡是使用求职软件时就会发现,几乎所有的职位描述里都有一个指标——工作经验年限。

  • 一般 13 年工作经验是一个层次,在北京一般薪资范围是 1020k 之间;

  • 35 年又是一个层次,在北京薪资范围是 1525k;

  • 5 年及以上又是多个层次。

在之前的小节我已经说了程序员大概分为科班出身和半路出家的两类,我并不是说科班出身的就一定会比半路出家的优秀,这完全是两回事。只是科班出身表示他的知识面更广一些,所以其他人也应该注重知识面和基础功。

追语言的人

记得不要盲目追随一门语言,因为你掌握任何一门高级语言后,对于语法的入门来说都是非常快的,而且现在的语言的语义化非常友好,我们学习及接触都非常容易。其实我们最需要了解的是语言的特性。

这样思考,当公司遇到其他比当前更为复杂的场景时,你就能知道这种特点的场景应该用什么样的语言及技术栈来解决。你对开发的认识就上升到了另一个层面。

有种人就是重复的做同样的事情觉得很有成就感的,这样虽然没有大错,但是会导致我们停滞不前。

其实导致程序员分层的主要原因就是学习的习惯。为什么这样说?因为导致分层的最直接原因是知识面,而知识面的形成需要不断学习,学习的效率也很关键。之前我从很多人口中听到他们抱怨技术主管的技术水平不如他们。这也是两个层次程序员不同的表现吧,因为看待问题的角度不同,没能将解决问题和提供方案两者的关系搞清楚。

我们主要是探讨,抛砖引玉。

我之前带过一个程序员,他也是做了一年的开发了。我让他通过 UserAgent 来判断用户是不是在微信中访问的,结果他问我什么是 UserAgent。大家别觉得可笑,其实不知道的人大有人在,为什么呢?因为他们只注重于自己的 CURD 能力了。我不是说 CURD 不好,只是因为 CURD 就像了解 UserAgent 一样只是基础。

之前我在培训机构机械化时,我让学生背诵的面试题中还有 mysql 的 InnoDb 和 MyISAM 引擎的区别,每当看到学生回答一个支持事务一个不支持事务,然后看着领导高兴到想笑的表情时,我就想笑。

以上只是一个例子,只是说明学习也需要分场景。学习语言也是一样的,我们要想想为什么不用当前的语言而要再选择一种新的语言。比如为什么不用 PHP 做机器学习?可能说到这个问题很多人就想笑,‘PHP 是世界上最好的语言’(因为喜爱所以容我自黑一下)。

引用别人经常说的一句话 “几年前一帮人叫苦连天的说 Java 要死了但是 Java 死了吗?” 别再看着语言杞人忧天了,你更应该学会的是选择语言。

所以快速成长需要我们自己有主见地分场景来仔细探究技术细节,需要有极强的学习能力。

我同事的观点是这样的:PHP 程序员转型发展有两个方向,一个是更深层次的后端开发,可以熟悉 Go 或者 Java 语言然后找家这些语言相关的公司。例如在做 PHP 开发时很少有人去了解异步,协程,多线程等问题。另一个是转向前端,前端也是一个竞争非常大的区域,而且前端需要学习的东西并不比后端少。

当然在这儿要给那些非常缺乏安全感的程序员说一声。PHP 并不会死。

另外,可能每个程序员都想赶快投入到人工智能和机器学习中。如果你还是想当这个领域的码农,那你可以看网上的各种文档教程来学习,像 TensorFlow 这种向外提供的 api 也比较多。如果你想在这个领域发展,还是得首先把那些经典算法搞清楚。

根据程序员开发工作所处的产品层面,程序员分为两类,分别是前端工程师和后端工程师。现在对开发工程师的分类更繁多了。我就从前端和后端这两类中给大家分享。

在你考虑转型之前,PHP 应该已经让你具有这些知识。

还有一个需要掌握的知识就是 http 请求和响应,其实这个知识是我们一直在用的但是很多人都搞不明白,例如我们经常用浏览器的开发者模式在 Network 中点击某个请求就可以查看请求的 header。

PHP 中有四种标量类型,分别为 boolean、integer、float、string;三种复合类型,分别为 array、object、callable; 两种特殊类型,分别为:resource、NULL,当然还提供了一些伪类型。

首先来说说向前端的转型。

其实最主要的还是前端的思维。在掌握了 js 的一些基本类型操作,包括字符串、数组、对象、json 的处理后,就可以去看看 vue.js 或者 react 这样的框架。推荐大家从 vuejs 开始,比较简单,容易入门。当然 html 和 css 的基本用法还是需要了解的。在学习的过程中看别人的项目非常重要,可以去 github 搜索 vue.js 的一些项目,看看别人是怎么实现的。

你需要选定一种比较常用的服务端开发语言。java 也好,go 也好,其他选择也非常多。从入门开始,如果有基础的程序员一定不要从厚厚的语法基础开始学习,因为这个过程非常浪费时间。在了解了最基本的语法后就可以开始选定一个框架来学习,在学习中发现问题,再回过头来学习语法。

很多程序员比较看好的是 go 语言,确实 go 语言相对其他语言来说简单,工程化中可靠,而且有着天然的开发标准,goroutine 给服务器开发带来好处。在国内,七牛云很早就使用 go 语言了,现在很多大的公司也开始使用 go 语言解决部分问题。

在深入服务端开发的路上需要了解的知识非常非常多,比如性能优化。很多人提到 redis 就是一句话,当做缓存来使用。这就是我前面提到的业务场景的问题,说明你所理解的业务场景太单一了,导致对于知识的认知不够。

程序员最需要的,也是每个程序员最缺乏的,就是交流。大家需要和其他程序员多交流、多交换意见,这样很有利于自己的成长。

互联网行业不是一个进入就可以高枕无忧的行业,你需要不断地学习,提升自己。

PHP 程序员不需要有太大的语言本身的危机感。

<p backgroundcolor:#ffffff;fontsize:15px;color:#555555;”=”” >快速成长的关键是要对自己有一个正确的认识,不盲目跟风。注意根据场景来学习,能够思考并解决场景中遇到的问题,解决或优化瓶颈问题。这个过程中也是一个很好的学习过程

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/113205.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Pytest(6)重复运行用例pytest-repeat[通俗易懂]

    Pytest(6)重复运行用例pytest-repeat[通俗易懂]前言平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来。自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,

  • js将时间戳转化为年月日时分秒_时间戳转换成日期

    js将时间戳转化为年月日时分秒_时间戳转换成日期/***时间戳转化为年月日时分秒*@param{*}number传入时间戳*@param{*}format返回格式,支持自定义,但参数必须与formateArr里保持一致*@returns*/exportconstformatTime=(number,format)=&amp;amp;gt;{letformateArr=[‘Y’,’M’…

  • 解决删除symantec,需要输入密码的问题

    解决删除symantec,需要输入密码的问题安装了symantec后,感觉系统满了好多,决定卸载了。在卸载是发现需要输入密码,从来没有设置过密码,也不知是要输那个密码。研究了一阵子,可以通过以下步骤来绕过输入密码问题。1.安全模式启动,在命令行中输入serviecs.msc打开服务管理器,找到Symantec相关的项,在启动选项里设为禁用。其实发现真正要禁用的Symantecendpointprotecion,启动项是灰的,根本禁用不了。只能找到C:/\ProgramFiles\Symantec\Symantecendp

  • 详解softmax函数「建议收藏」

    做过多分类任务的同学一定都知道softmax函数。softmax函数,又称归一化指数函数。它是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来。下图展示了softmax的计算方法:下面为大家解释一下为什么softmax是这种形式。首先,我们知道概率有两个性质:1)预测的概率为非负数;2)各种预测结果概率之和等于1。softmax就是将在负无穷到正无穷上的预测结果按照…

  • google cloud platform官网_ai智能体验店免费送

    google cloud platform官网_ai智能体验店免费送一、GoogleCloudPlatform(GCP)简介GoogleCloudPlatform(以下简称GCP)是Google提供的云平台,。Google云平台提供很多功能,包括计算服务,存储服务,网络服务,大数据服务,人工智能服务,以及谷歌的产品等,可以用来搭建加速服务,网站和存储数据等等。本文将介绍如何申请GCP一年的免费试用、Linux服务器环境搭建。Docker环境搭建…

    2022年10月23日
  • LINUX Shell常用命令

    LINUX Shell常用命令LinuxShell常用shell命令一、文件、目录操作命令1、ls命令功能:显示文件和目录的信息ls 以默认方式显示当前目录文件列表ls-a显示所有文件包括隐藏文件ls-l显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行ls-lh显示文件的大小,以容易理解的格式印出文件大小(例如1K234M2G)ls-lt显示文件,按照修改时…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号