首页 > 其他分享 >技术工作中怎么去提高基础

技术工作中怎么去提高基础

时间:2023-02-06 16:34:38浏览次数:37  
标签:框架 掌握 提高 基础 技术 源码 开发 安卓


技术工作中怎么去提高基础

公众号:diting_dapeng,关注我领取更多学习资料

做技术,我们经常听到的一句话是:基础很重要,一定要打好基础啊。

我们都知道基础很重要,那么对于我们来说,什么是基础?突然有感,记录下自己现在对于基础的理解。

基础是什么

相信有的盆友和我一样,我记得以前在学校时,有的同学经常和我说–“基础就是底层啊,就是源码,所有源码都看过才算是打好基础”。也有老师上课时说,“基础就是抓住不变,数据结构、计组、网络必须扎实学会”。

这些说法对于学生来说没错,对于工作党而言,如果还按照学校的方式来去追求源码、把基础知识打扎实的方式来提高基础。会发现这种“基础能力”根本看不到提升效果,工作中也用不上,白白浪费了时间和精力。

提升技术的技巧,在于把有限的时间和精力用在更有价值的地方,从而实现投入产出效率的最大化。工作中的基础能力指的是工作任务相关的基础能力,而不是整个计算机技术的基础能力。比如内存寻址,对于嵌入式开发是基础,但是对于安卓开发或ios开发就可能不是基础了。

了解自己当前工作

因此,搞清怎么去提高基础,先要了解清楚自己的当前工作。

当前工作如果不需要去修改源码或者理解源码细节,那就不是工作要求的基础能力。比如linux源码是对虚拟机开发的基础,但是对于Java开发来说就不是必备的。

我以前有一个误区,就是觉得基础像是地基,不把这些所有计算机知识铺垫扎实,就不踏实。但是殊不知,建房子的地基也是不断变化的,农村以前用土,后来用石头,现在用钢筋水泥。而工入在打地基时,也不需要知道如何制造水泥等这样的基础知识。

拿​​安卓开发​​​举个例子:
安卓开发可以分为业务开发和框架开发。那么根据具体根据每块内容,基础能力要求是不同的:

  • Java语言特性和API都是基础,但是对编译原理,业务开发不需要掌握,因为不需要去修改java语言。而框架则对于编译原理也是基础,因为动态框架可能要用到DSL
  • 安卓的基本原理是基础。对于业务开发则不需要掌握源码,而框架开发需要掌握源码来修改android的一些代码从而实现动态化
  • 业务开发需要掌握常见的库,框架开发则对库掌握的要求不多
  • 框架开发需要掌握JavaScript,一些动态框架都是以基于JavaScript的;

分解技能

了解了自己所做的工作后,可以按工作相关原则来进行拆分,以大数据开发为例子:

  • 工具:数据开发通常使用java或scala为主要语言。因此常用的工具有:IDEA、Maven、git、docker等;
  • 生态: 系统运行时需要依赖哪些组件或系统。可以按存储、计算和中间件分为三类:存储常用HDFS、doris,计算Hive、Spark、Flink,中间件talos、Flume、Zookeeper;
  • 容器:程序在哪里运行。Linux、服务器、跳板机、集群;
  • 原理:需要掌握的原理知识,SQL 窗口函数、常用算法等。

分解行动

列好和工作相关的基础技术点后,接着要明确自己要学到这个点学到哪一层。我们的时间精力有限,如果你把时间浪费在这个地方,用来提升其他更有用的技术时间就没有了。

  • 先明确一项技术可以分为哪些层。画出领域分层图,和细节分层图。尝试画图本身是一个梳理结构、强化认知的过程;
  • 明确自己要学到哪一层
  • 明确每一层应该怎么学。总的原则是学会而非学精,在上层投入更多时间,更关注细节和熟练使用,在下层投入相对少得时间,对源码部分只需要掌握关键源码,即和设计原理和方案相关的源码。

我是精神抖擞王大鹏,不卑不亢,和蔼可亲~
计算机硕士,目前小米大数据开发。目标今年总结完20本技术书,80本非技术书,欢迎一起讨论~

公众号:diting_dapeng


标签:框架,掌握,提高,基础,技术,源码,开发,安卓
From: https://blog.51cto.com/u_15955938/6039482

相关文章

  • 从产品和技术的对比想到的
    一想到产品与技术这对关系词,就联想到一大片的对比概念:阴和阳文科和理科冲动和冷静内功和外功外表与内在能力和素质道德与科学其中一个词代表内在,而另一个代表外在,没有......
  • RT-Thread stm32 基础记录
    准备工作安装RT-ThreadStudio。新建Nano工程打开IDE,点击【文件】-【新建】-【RT-Thread项目】:进入新建工程的配置向导:注:可以通过修改board.c的 ​​SystemClock_Co......
  • 软件测试基础(一)
    一.测试相关概念IT:InformationTechnology,即信息科技和产业的意思。软件:一系列按照特定顺序组织的计算机数据和指令的集合,程序+数据+文件。产品:能够供给市场,被人们使用......
  • 《区块链基础知识25讲》-第九讲-记录所有权
    把交易历史记录作为当前所有权的证明依据。需要:找到一份不仅是声称某人是某物所有者的账本记录,而且还提供所有权的证据文件,从而作为所有权的证明。每一次所有权的交易通过交......
  • 《区块链基础知识25讲》-第十讲-哈希算法
    无论输入数据的大小及类型如何,均可以将输入数据转换成固定长度的输出加密哈希算法拥有的特征能为任意类型的数据快速创建哈希值确定性:相同输入必定产生相同哈希值,换句话说,......
  • 《区块链基础知识25讲》-第十二讲-确保账户安全
    区块链使用非对称加密技术是为了确认所有者跟资产的对应关系,确保只有合法所有者才能获取他的资产用户使用公钥来确认给某账户转移资产,只有拥有私钥的人才能获取这些资产加密......
  • 《区块链基础知识25讲》-第十三讲-交易授权
    数字签名数字签名可用于识别一个账户,表明他的所有者同意对特定的交易数据的内容进行授权,并通过允许将新的交易数据添加到历史交易数据中来批准它的执行。利用了哈希引用以及......
  • 《区块链基础知识25讲》-第十四讲-存储交易数据
    目标是利用区块链技术,以有序的方式维护交易数据的整个历史记录挑战是如何按交易顺序存储发生的交易数据,并且找到一种能够快速检测到交易数据发生变化的方法通过创建一个交易......
  • 云原生微服务技术趋势解读
    作者:李艳林(彦林),Nacos开源创始人,阿里云微服务引擎MSE创始人。笔者参与过阿里巴巴集团电商业务微服务的升级和改造过程,并一直在支持历年双11的大促活动,活跃在支持一线,也......
  • 【android 】Android 高级开发工程师技术面试经验总结
    笔者前段时间参加了Android手机厂商的Android高级开发工程师技术面试,总结一下,希望对即将参加技术面试的程序员能有所帮助。    首先面试官问的是项目相关的问题,......