原本想着昨天晚上回家做一点工作的,但却不知怎么的睡着了,今天早上又是被闹钟吵醒,无奈的起床,做着昨天未竟之事。
忽然想起昨天和同事讨论的事情,现在可以说一下了。
同事:搞前端,和后台真没什么意思,想学机器学习又没时间,真要命,看着同学机器学习工资那么高,真是羡慕!
我当时也是懵了,现在的机器学习真的有那么高的含金量吗?
但是我还是礼貌的回了一句:做前端和后端不好吗?到了某一天你能创造一个框架,而不是再用它的时候,你也会达到同样的地步,不要形成鄙视链,每种语言都有自己独特的特点,将一门语言用到极致,那个时候你也能创造令人刮目想看的东西。
他说:太难了,如果有这本事,我还用在这待着吗?
我沉默了。
作为程序员,如果只是用,或者熟练,精通能走到多远,如果用找个培训班,三个月就能包教包会,那我们还有什么核心竞争力。在产品中,我们往往只是在用着某个框架,用着某种语言,但是有没有想过,我们的目的是干啥,做产品,做东西。框架,语言这些东西只是工具,实现才最重要。但是具体实现过程中我们会遇到很多问题,项目的组织问题,协同开发问题,前后端开发隔离问题,甚至是拓展问题,交互问题。这些问题将使我们的项目变得巨大无比,其中还需要重构等,这些问题不是简简单单的会用语言或者会用框架能解决的。我这里按照自己的想法列了几条,可能不一定对:
语言框架的基础功底
这个能力是对整个项目的理解基础,你不能不知道项目的语法,库的使用方法,不是说你要对每一个库的了解,比如你使用到了jQuery,你至少要知道他是干嘛用的,怎么用,他的特性等等,如果你连dom是啥都不知道,你为啥不去官网看看,看了几遍。如果你看到一个项目用到vue,而你不知道vue,而你被安排继续开发这个项目,你应该怎么做,看官方文档,以学致用。最起码得知道有啥,你看了多少遍官方文档,会导致你对该语言的熟练程度。
项目的整体架构
对于一个开发者,我认为应该对整体架构有所理解,怎样开发才能更好的兼容架构,而不至于破坏开发项目的初始者的目的。很多人在没有了解项目全貌的情况下,自由开发,最终出现了某些问题,转过头来去找框架的开发者,这是很麻烦的事情,建立框架的时候不可面面俱到,如果每个人都要框架兼容,那么项目会变的麻烦,到最后都难以维护。
创造性与学习力
写代码是需要创造性的,如果你只是局限于语言,那么你会发现你的理解会局限在这一块,要理解背后的原理。如机器学习和深度学习不就是数据处理+概率估计吗?虽然这是本质,但是怎么从数据模型建立概率估计这个确实是一个艰难的工作。
工作中你会遇到一时无法解决的问题,可是你有自己分析的方法吗?你会考虑一题多解每种解法的优劣吗,你会看技术文档一遍又一遍,看到自己想吐的节奏嘛,你会学着去看源码,找到自己代码的缺陷甚至改进自己代码,提高自己的编码吗,你会永远在学习,快速吸收新新知识吗?
如果你没有耐心,其实最终你会觉着代码的世界是如此的不美好。
如果你有耐心,你会学着将那些不美好变成美好,加油吧!少年
网友评论