高手勿进!写给初中级程序员以及还在大学修炼的“准程序员”的成长秘籍

2023-10-26

1、不要畏惧英文

互联网上很多优秀的技术资源和社区的内容都是英文,如果畏惧英文,就没办法从中汲取富有营养的知识,也没办法跟上技术的发展潮流,那么技术能力就会很难再上一层,技术的眼界就会受限,所以需要去突破语言这关。

A、从改变语言环境开始

你可以将手机、电脑、平板、各种APP的语言设置为英文,让自己的平时习惯都处于英文环境中,慢慢的去适应。

B、用英文开始入侵

将你的每天的一些想法用英文记录下来,将一些使用中文记录的日常替换成使用英文来记录。然后慢慢的尝试完全用英文写一篇文档。

C、阅读英文技术文章和文档

尝试去阅读英文文档或者翻译英文的技术文章,哪怕是借助翻译工具,这样不仅仅能开阔技术视野,还能让自己进一步的适应英文环境,接触更多的生词和专业术语。而技术文章或者对应的技术文档中会出现该技术的一些专业术语。

D、进一步学习英语

大学四级六级没过,并不能阻挡你继续学习英语。一门额外的语言技能可以很好的助力职业发展,可以利用一些英语学习工具和学习教程,根据自己的情况来制定目标和学习计划。

2、善用工具

除了平时开发工作本身的工具来提升开发调试的效率之外,分享一些其他的工具,这些工具不仅仅可以辅助开发工作,对于个人其他方面的成长提升也有帮助。

A、科学上网

前面说到互联网中很多优秀的技术资源的内容都是英文的,这些基本上都需要科学上网的工具才得以访问,所以要学会使用科学上网工具,透过它访问国外的各个技术社区和资源平台,接收到最新的技术资讯和学习资源,探索更宽阔的世界,关于这点就不过多讲述。

B、Google搜索

在平时的开发工作中如果遇见了问题,经常会使用搜索引擎来搜索问题,使用Google搜索引擎搜索问题,其搜索结果的丰富性和准确性都要远超越其他搜索引擎,但这个也需要借助科学上网的工具来使用。很多技术问题大都数前辈都已经踩过坑,但也基本上都是发布在国外的技术社区中,国内的一些搜索引擎都是抓取国内的内容,不仅仅重复冗杂质量低,还不少广告。

使用搜索引擎也是有一定的方法和技巧的,可以有效的提高搜索问题的效率和精准性,关于这部分的内容请参见下面的 #提升搜商

C、Grammarly

这是一款英文写作辅助工具,拥有英文语法错误监测功能,如单词的用法、语句的搭配等。能够在英语写作或学习时进行更好的提升,从而有效提升写作效率。使用 Chrome 插件可以在网页的文本输出框中检测你的英文语法错误,像在 Github 上进行 Code Review 时需要留下英文的 Comment,那么试试它,相信你会爱上这款工具。

D、Deepl

在用 Google/有道翻译?来用用这款翻译工具,DeepL是一款基于机器学习和神经网络技术,并支持多语言的翻译工具,翻译会比其他翻译工具更加的贴和日常当中的语句。多有贴近?可以看看下面例子的对比。

PEOPLE MAKE A lot of noise. Cars rumbling along streets, planes roaring overhead, feet slapping the sidewalk—these and other actions create countless tiny vibrations in the ground. A global network of seismometers registers those oscillations 24/7. But since world leaders have urged citizens to stay home and maintain social distancing to slow the coronavirus pandemic, the hum of daily life has quieted.

这是一段有关于新冠的新闻。

下面是 Google 翻译的结果:

人们发出很多噪音。汽车沿着街道嗡嗡作响,飞机在头顶咆哮,双脚拍打人行道,这些动作和其他动作在地面上产生了无数微小的振动。 全球地震仪网络记录这些振荡24/7。 但是,由于世界领导人敦促公民留在家里并保持社会距离,以减缓冠状病毒的流行,所以日常生活的嗡嗡声已经平静下来。

这是 DeepL 翻译的结果:

人们制造了很多噪音。街道上隆隆作响的汽车、头顶上轰鸣的飞机、拍打人行道的脚步,这些行为和其他行为在地面上产生了无数微小的振动。全球的地震仪网络24小时不间断地记录着这些振荡。但自从世界各国领导人敦促公民呆在家里,保持社会距离,以减缓冠状病毒的流行,日常生活的嗡嗡声已经安静下来。

“全球地震仪网络记录这些振荡24/7。” 与 “全球的地震仪网络24小时不间断地记录着这些振荡。” 这两句话的差异就能体现 DeepL 更能贴合日常。

如果这个差异不能体现,那么试着翻译下面这句:

货拉拉不拉拉布拉多!

Google 翻译结果:

Labrador, Labrador!

Deepl 翻译结果:

Cargo puller does not pull Labrador!

哈哈,是不是很因吹斯挺?!

E、Miro/ProcessOn

善用思维导图工具梳理和呈现脑中的思路,也可以用来去构建自己的知识图谱。

ProcessOn是一个国内的在线画图工具,支持流程图、思维导图、原型图、UML图等图形的绘制。

而 Miro 则是国外的一个在线协同白板平台,最大的特点就是用无限白板来自由组织和编辑元素,比如内置的形状、文字、连线、便签等,除此之外,它还支持创建思维导图、看板、图表,以及 iframe 嵌入、网页截取。还可以安装 App,来插入诸如谷歌文档、Dropbox 等等。

这两款工具的共性与差异性其实能从官网的介绍中就能明白,可以根据自己的需求来选择。如果你偏向于脑暴、自由发挥组织那么可以选择 Miro,但是 Miro免费版只支持 3 个画板,私密分享、高清导出等额外的特性会受限,但是免费版对于个人来说已经基本上是够用了。如果你更习惯于用 xmind 这类的软件来梳理和构建知识图谱,那么可以选择 ProcessOn,它可以发布自己的模板来获得收益,也可以将自己的读书笔记,分析亦或是经验流程图公开上传,学习交流。

欢迎读者在下方评论区说说自己觉得很好一些工具。

3、学会正确的提问

在平时的开发工作或者学习中遇见问题是很正常的事情,但是遇见问题的时,不要随便或者立即问其他人,要学会独立解决问题。先利用搜索引擎搜索一下,大部分的问题其实都能在搜索引擎上搜到,以免浪费大家的时间,另外,问题代表着突破自我的一个机会,给自己一定时间努力的去解决它,每一次畏惧就是一次退步,每一次突破就是一次积累。在尽力解决但无果的情况下,再考虑寻求他人的帮助,但提问的方式是有一定讲究的,因为不正确的提问浪费的是你和帮助者的时间,无法高效率的解决现有问题。常常在社区或者技术群里能看到一些这样提问:

你(有人)用过 xxx 吗?

xxxx 操作抛出问题,该怎么解决?

xxx 进行 xxx 操作,为什么不行?有人知道吗?

此时,[黑人脸+问好号.jpg]。

这里大家可以阅读下《提问的艺术》这本书,这是一本教你如何通过富有技巧性的提问来提高沟通效率并提升自身影响力的书。

Github 上一些开源项目会有 Issue Template,最主要的目的也是让提问者更仔细的去描述遇见的问题,让维护者更容易明白以及给出帮助。

4、多参与技术大会

参与技术大会并不是为了能在现场掌握多少知识或者在朋友圈“凡尔赛”。

A、开阔视野

开发者大会的内容一般都是技术的发展趋势、行业的动向和解决方案。比如如何做的技术拆分、如何进行架构设计、如何通过技术解决业务问题、一些技术会向什么方向演进等等。所以开发者大会对于开发者来说是开阔视野和获取思路的途径,不至于自己闭门造车。对于参会者本身来说也需要一定的技术积累,不然大会的内容可能不容易吸收。

B:社交活动

参与大会的人基本上与你都是同样的岗位或者相关的岗位,从大会的另个角度来说,这是就是一场社交活动。而社交则是可以给自己来带来潜在的机会,比如新的朋友、好的就业机会、兴趣相投的人、与业内大佬更进一步的机会。这些都是可以在大会中自己去捕捉的。

大家可以阅读下勾三股四的《我对技术会议的一些看法》,这里面对技术会议有一些更详细的阐述。

5、开始项目的复盘

有回顾、归纳、总结,才有成长。通过回顾项目以往的处理细节,一些技术方案的产生的实际效果如何,怎么进行衡量,对比之前的项目,哪些技术方案在特定的场景中更为有效,看看是否还留有技术债,项目中每个知识点是否都已熟练掌握级运用,项目的流程和质量是否有进一步优化、提升的空间,如何在将来做得更好。

A. 回顾

  • 最开始项目想要达到的目标或者意图是什么?
  • 预先制定的计划是什么?
  • 预选设想要发生的事情是什么?
  • 项目的实际情况与预想的差异?

C.归纳

  • 设定几个维度去划分整个项目,具体的业务是否可以分类进行整理?
  • 每个技术方案的效果和业务场景是否有特定性和通用性?
  • 技术方案效果的评估可以用哪些数据指标来进行衡量?
  • 哪些有待提升和注意的地方?
  • 有哪些做得好的地方?

D.总结

  • 项目的整个过程中学到了什么?
  • 做的好的地方如何保持?
  • 做的不好的地方如何提升?
  • 解析来可以做什么?

项目的复盘不仅仅可以让你再学习一次,为之后的项目做更好的服务,在你更新简历的时候也不会为写些什么或者没有亮点而发愁了。

6、主动分享

分享的表达方式是多样化的,可以是文档的方式,可以是会议的方式,不管以什么方式,主动分享、积极参与分享在整个成长的过程中也是很重要的一环,这一能力是很多人都欠缺的。对于文档,偏向于写作表达,对于会议,就偏向于语言表达,无论哪种表达能力,都是在向你的受众表达你的意图和内容,越强的表达能力,受众就能越完整清楚的明白所表达的内容,感受到内容的真实性和你的主张。

好的作家,一段文字就能让带着你去向远方。

好的导演,一段视频就能给你身临其境的感受。

他们都是在进行表达,而分享就是锻炼表达能力的一种。在你准备分享的过程中,你会去论证并确认分享的内容,这让你更加严谨。分享内容还需要进行归纳分类,层层递进,这让你思维更加清晰有逻辑。分享的时候还需要调动受众的情绪或者使其受你感染,支持你的主张,这让你更能把控现场,更有气场。分享锻炼的不止表达能力,一场成功的分享是多种优秀能力组合使用的表现。

所以,不管是一份技术文章或文档,还是一场内部的技术分享,只要是一次分享,就主动积极的去参与吧,多次分享后,你会看到自己与之前不同的地方。

7、主动规划你的职业生涯

这世界上一部分人是因为兴趣使然,选择了自己的职业和发展道路,这是很幸运而美好的,因为兴趣是可以给自己正向反馈的,但是有很大一部分人并不是也不能根据兴趣来优先选择,因为没有那个机会或者资源支持,只能被动的选择,就像有一部分转行进入互联网的开发者,其实之前的职业他们并不喜欢,转入互联网行业也只是因为高薪。但高薪相比之前只是一时的,如果不主动的去规划自己的职业,那么一段时间后将会遇见瓶颈,各种迷茫和焦虑就会随之而来,可能会发生再次转行的情况。不能根据兴趣来选择自己的发展道路,这不是最糟糕的,最关键的是要主动的思考,规划自己的职业,这样才会让道路更清晰,自我发展的曲线才会尽可能的符合预期。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

高手勿进!写给初中级程序员以及还在大学修炼的“准程序员”的成长秘籍 的相关文章

  • map.setMyLocationEnabled(true) 的真正作用是什么

    我正在设置 map setMyLocationEnabled true 但我想知道这到底是做什么的 我知道的 我在地图的右上角看到一个 定位我 按钮 我在地图上看到一个代表我当前位置的蓝色图标 这是我的担忧 我正在编写一个位置感知应用程序
  • 如何在android中的视频视图中获取视频的总长度

    我有一个问题 我想获取在视频视图中运行的视频的总长度 为此我正在使用视频视图的 getDuration 方法 但当我将其与 currentPosition 进行比较时 它总是返回 1 实际上我希望如果视频的当前位置等于视频的总长度那么它应该
  • Android + XAMARIN + 强制屏幕保持“纵向”模式(使用 AndroidManifest)

    我在这里阅读了这个问题的一些答案 但不知何故我无法让它发挥作用 我的 AndroidManifest xml 如下所示
  • 找不到我的绑定的 inflate 方法(使用 Android,数据绑定。)

    我正在使用数据绑定来绑定 Android 应用程序中的布局 我已经设置了布局 my custom xml 并生成了绑定类 MyCustomBinding 但 Android Studio 似乎没有立即找到 Binding 类的 inflat
  • 在显示之前在后台加载 Activity

    在将视图切换到该活动之前 是否可以在后台加载新活动 例如 我想要一个被调用并显示启动屏幕的斜杠屏幕活动 当显示此启动屏幕时 将加载下一个活动 当加载完成时 当 onCreate 完成时 启动屏幕活动结束 并显示新的活动 我知道另一个选择是在
  • 使用 hisorian.py 时显示“找不到结束时间”

    我正在尝试收集我的应用程序的电池统计信息 运行指定的所有命令后http developer android com tools performance batterystats battery historian index html ht
  • Android 中如何调用 getContentResolver() ?

    我想知道当时的背景getContentResolver 叫做 我有一个这样的场景 我有一个调用方法的活动 AmyFunc B 类 这不是一项活动 所以 在B类中我必须使用getContentResolver 我直接打电话getContent
  • audioTrack play() 只播放一次

    第一次使用Android的AudioTrack 我创建了一个 AndroidAudioDevice 类 我用这个构造函数初始化它 public AndroidAudioDevice constructor Log i Audio const
  • API 级别 15 的印地语字体(又名 Android 4.0.2)

    我有一个基于印地语内容的 Android 应用程序 并使用了 Android API 16 SDK 中的 devangiri 字体 并重命名为印地语 ttf 文本在 API 级别 16 和 17 上渲染良好 但在 Android API 级
  • 在 OpenGL ES 1.1 中将多个纹理绑定到一个网格

    如果我有一个网格 例如有 6 个面的立方体 每个面分别由 4 个顶点组成 总共 24 个顶点 并且我想对每个面应用不同的纹理 我该怎么做 目前 我使用 glDrawElements 一次绘制整个网格 立方体的所有 6 个面 将所有索引提供到
  • 如何减少 MediaCodec H264 编码器延迟

    我正在尝试使用 Android6 0 的 MediaCodec 将 h264 实时低延迟编码为流 编码器大约有 6 帧延迟 我想知道如何减少 代码来自屏幕记录 cpp https android googlesource com platf
  • C++ OpenCV imread 无法在 Android 中工作

    我正在尝试读取 C 代码中的图像 LOGD Loading image s n inFile c str Mat img imread inFile CV LOAD IMAGE GRAYSCALE CV Assert img data 0
  • “赠送”应用内购买 Android

    有没有办法将 Google Billing 中的应用内购买 赠送 给特定帐户 我把这个问题放在这里是因为如果有一种方法可以以编程方式完成它 那很好 但不是必须的 在官方文档中找不到任何相关内容 我想要这个的原因是因为我的一个应用程序目前处于
  • Android Facebook SDK - 无法接收访问令牌

    我正在尝试在我的 Android 应用程序中使用 Facebook SDK 这是片段 Facebook myFacebook new Facebook 123456789012345 myFacebook authorize LogInSc
  • 如何在活动之间传递大型集合(主从流)

    背景 我正在实现一个从网络服务读取有关电影信息的应用程序 该网络服务返回有关每部电影的一些信息 标题 日期 海报网址 导演 演员等 该 Web 服务支持分页 因此电影以 100 部为一组加载 执行 这个想法是显示一个包含所有海报的网格 当用
  • Android GLSurfaceView 具有可绘制背景

    我有一个带有可绘制对象作为背景的 GLSurfaceView 但是在没有 surfaceView setZOrderOnTop true 的情况下渲染时只有背景可见 我需要避免使用 setZOrderOnTop true 因为在 GLSur
  • 如何使用Android平板模拟器?

    我想开始 Android 平板电脑应用程序开发 我已经使用 1024X600 模拟器创建了一个新的 avd 并启动了 但是当我单击任何应用程序时如何从模拟器返回 是否有任何特定的 api 可用于开发 android 平板电脑应用程序 或者我
  • onActivityresult 数据为空

    这是我的相机应用程序 我想在其中捕获图像并裁剪它 但它拍照保存在我的 myimage 目录中 但不执行裁剪功能 请我需要帮助 我是这个领域的新人 这是我的相机开源代码 Intent intent new Intent MediaStore
  • 如何在我的 Android 库 (AAR) 中包含 proguard 配置

    Android 库 根据AAR 文件规范 http tools android com tech docs new build system aar format 包含一个 proguard txt 文件 我的理解是 该文件声明了如何正确地
  • Android 并获取 id 转换为字符串的视图

    在 Android 项目的 Java 代码中 如果您想要视图资源的引用 您可以执行以下操作 View addButton findViewById R id button 0 在上面的 R id button 0 不是一个字符串 是否可以通

随机推荐

  • VUE 输入框实现光标插入,设置光标位置并删除光标内容

    最近做项目遇到这样一个需求 可以往输入框指定光标出插入内容 并且当删除插入的内容时会先将插入的内容进行光标选中给用户进行提示 当再次删除时才删除内容 而这个需求的核心就在 setSelectionRange 设置光标位置 这个dom api
  • Docker之Nacos的持久化和集群部署

    注1 小插曲 由于虚拟机分配的内存为1G 开到第四个容器时 由于内存不够导致容器启动失败 重新设置4G内存后启动成功 ok 正式进入主题 一 Docker mysql 5 7的持久化存储及远程连接 1 拉取相关镜像 目前网络模式为 brid
  • Flutter中 解决自定义阿里妈妈图标一直显示不出来的问题

    前些天发现了一个蛮有意思的人工智能学习网站 8个字形容一下 通俗易懂 风趣幽默 感觉非常有意思 忍不住分享一下给大家 点击跳转到教程 前言 Flutter中 自定义图标一直显示出来的问题 这里引用的是阿里妈妈图标 问题解决 位置一定要对应好
  • 解决小程序报错getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json

    报错 1 uniapp项目 在manifest json中打开源码视图 小程序特有相关 mp weixin appid 你的开发者id setting urlCheck true es6 true postcss true minified
  • 【Scala入门】scala基础语法:类和对象,变量和常量

    上一篇请移步 Scala入门 Scala下载及安装 Windows 以及Idea创建第一个scala项目 水w的博客 CSDN博客 目录 一 Scala 二 Scala基础语法 2 1 注释与标识符规范 2 2 变量与常量 案例 变量声明和
  • 摩尔定律到摩尔第二定律

    摩尔定律相信大家都不陌生 由英特尔创始人之一戈登 摩尔提出来的 其内容为 当价格不变时 集成电路上可容纳的元器件的数目 约每隔两年便会增加一倍 而普遍的说法是约每隔18个月便会增加一倍 各种说法总结起来就是 1 集成电路芯片上所集成的电路的
  • 【docker】/var/lib/docker/overlay2/ 占用磁盘问题 最终解决方案

    找IT 挂载了新磁盘 比如 data2 100G 在docker配置文件中 加上这个 systemctl daemon reload 重启docker服务即可 会导致此服务器上的所有docker 容器丢失 需要重新部署 还会导致一个问题 d
  • Hibernate参数校验报错:No validator'javax.validation.constraints.Size' validating type 'java.lang.Integer'.

    javax validation UnexpectedTypeException HV000030 No validator could be found for constraint javax validation constraint
  • Python网络爬虫学习笔记(三)正则表达式

    正则表达式 正则表达式是处理字符串的强大工具 它有自己特定的语法结构 有了它 实现字符串的检索 替换 匹配验证 1 实例引入 正则表达式匹配 也就是用一定的规则将特定的文本提取出来 开源中国提供了正则表达式测试工具 https tool o
  • 虚拟机升级glibc(libc), 导致段错误等问题

    由于确实glibc高版本 需要升级glibc 导致出现段错误等信息 只剩下pwd cd等命令可以执行 这个时候需要靠补全命令查询到原系统使用的libc 2 xx文件 然后使用sln 原系统的重新索引libc so 6文件 sln lib64
  • SOA是什么?

    写这样的blog很容易被人砸砖头 而且我现在在专心做BPEL的研究 http hongsoft iteye com admin blogs 287353 也没有必要现在趟这个混水 不过想想 还是有话要说 定义 SOA是一种做架构的范式 这个
  • FreeSwitch数据库

    Freeswitch数据库 一 ODBC DSN 1 概念 ODBC 开放数据库连接 Open Database Connectivity ODBC https baike baidu com item ODBC 是为解决异构数据库间的数据
  • 线性回归(两种方式代码实现)

    方式一 最小二乘法 正规方程 公式推导 其中 代码实现 1 导入库 import numpy as np from sklearn datasets import load boston boston load boston x bosto
  • 前端面试总结及建议

    最近 由于项目组刚成立不久 团队处于天地初开的混沌状态 人员配置不齐 急需一大股新鲜血液融入 为此 开启了一段时间与求职面试者的博弈之路 如今的IT大环境 似乎每个公司一年四季都处于招人状态 而同时又有一大批无论是离职还是在职人员期许找一个
  • Linux操作命令笔记

    Linux Linux的字母大小写 下载和卸载 软件更新 查看空间使用情况 当前目录所在的位置 查看文件中的内容 查看目录下的文件 重启 关机 移动文件 磁盘管理软件 修改权限 删除文件或文件夹 新建文件夹 移动一个文件夹 文件重命名 编译
  • CMake中define_property的使用

    CMake中的define property命令用于定义和记录自定义属性 其格式如下 define property
  • 轻量微调和推理stanford_alpca

    当前的Alpaca模型是在Self Instruct论文中使用的技术生成的52K条指令数据 从7B LLaMA模型微调而来 并进行了一些修改 A10 gpu显存 22G cu117 驱动470 103 01 absl py 1 4 0 ac
  • 图形化界面

    文章目录 一 引入图形化界面 二 关于Easyx的基本函数操作 2 1颜色配比函数 2 2EasyX的坐标 有负数区分 2 3窗口函数函数 三 关于Easyx的实际操作 代码实现 3 1颜色操作的代码实现原理 3 2坐标操作的代码实现原理
  • uview ,uniapp 的UI组件

    文档 https www uviewui com components picker html
  • 高手勿进!写给初中级程序员以及还在大学修炼的“准程序员”的成长秘籍

    1 不要畏惧英文 互联网上很多优秀的技术资源和社区的内容都是英文 如果畏惧英文 就没办法从中汲取富有营养的知识 也没办法跟上技术的发展潮流 那么技术能力就会很难再上一层 技术的眼界就会受限 所以需要去突破语言这关 A 从改变语言环境开始 你