百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

自学编程,这些团队协作技能和工具让你更好找工作

sinye56 2024-11-18 16:44 6 浏览 0 评论

敲黑板


这篇文章是《 自学软件开发少走弯路的学路线和推荐书籍,满满干货 》的连载文章,介绍了小白进入公司后,进行团队协作需要的必备技能,还有进阶技能。

后面会陆续为大家分享自学软件开发的其他技术路线,让大家少走弯路。自学的小伙伴们点个关注,不要迷路。

若能在入职前,通过自学学透了这部分的内容,那么你能很快融入到团队协作开发里,也给团队同事有个好印象。

如果你是零基础想自学软件开发,那么可以先看这篇文章《自学软件开发少走弯路的学路线和推荐书籍,满满干货 》。这篇文章主要是介绍了自学软件开发的一些学习路线、建议和书籍资料等。



在阅读过程中,有疑问就在评论区留言,我必定一 一解答



团队协作的技术路线和技能树


这部分的技能树,大家在自学的时候基本上都会忽略。因为自学是单打独斗的过程,体会不到团队协作的感觉。

没有这些技能和相关知识,要融入到一个团队里面从事开发工作会很难受。搞不好还会让其它队友嫌弃你,甚至丢掉工作。

那么问题来了,团队协作的技能树点满后,你将拥有什么样的能力?

1:能快速融入任何一个开发团队的能力。
2:能有管理代码库的能力。
3:能参与到很多有趣的开源项目的能力。
4:能实现远程办公开发的能力。
5:能熟练使用常用办公软件的能力(别嫌弃,这个很重要)。
6:能自动化软件开发过程的能力(这属于比较高阶)
7:能一台电脑多用的能力

我们现在就来看看,这条技术路线长什么样子?


1 版本控制技能树

1.1 基础知识和概念

1.2 SVN,GIT版本控制

1.4 围绕版本管理的工作成

2 虚拟化技术技能树

2.1 基础知识和概念

2.2 Vmware,Vbox,虚拟机的使用

2.3 Dockerd的使用

3 任务协同软件使用技能树

3.1 office 全家桶

3.2 目前流行的任务协同管理软件

4 DevOps (终极技能)

4.1 DevOps的概念

4.2 DevOps自动化的意义

4.3 学习DevOps的前提

4.4 相关学习资料


现在就来认识一下这套技能树的细节。



版本控制技能,让代码进化


你必须知道的基础知识和概念

很多小白第一次接触到这个概念,肯定会觉得高深莫测。其实版本控制就是解决这三个方向的问题。

1:多人参与到同一个项目时代码的管理:

一些大项目会有上百人的工程师在同时写代码,如何协调这些工程师的代码不会相互覆盖?不会冲突?不会混乱?


2:“记录”代码的开发过程,并且让程序员能随时“穿越”到过去,看到过去写的代码:

我们经常修改程序时,会发现新修改的代码没有原来写的好。这时不用重写一遍原来写过的代码。直接通过版本控制系统“回到”过去就可以了。实际工作中这样的情况很多,特别是在修复BUG的时候。


3:让代码能像生物基因一样进化,演化,分类:

这其实是版本管理的精髓。在成熟的软件开发团队里面,他们会把一个代码库分支出很多副本,分别有不同的团队在打磨它们,最后在选择一个最好的副本合并到主代码库里面。像极了基因的进化。

版本管理实际实践中,用到的神器SVN,GIT

版本管理软件很多,目前常用的是SVN和GIT。它们在使用体验上是差不多的,差别在对代码管理的理念、团队协作的方式、和底层逻辑实现上。

SVN是集中式管理,适合一些管理过程比较严谨,和私密的项目。GIT属于分布式的管理方式,适合那些管理比较自由的项目,它们各有各的好处。目前在开源领域几乎都是在用GIT来做版本控制。这几年GIT发展很快,感觉要代替SVN了。

掌握这些版本管理软件,可以学习下面的资料。


关于SVN的学习(建议会用就行)

技能操作:

https://www.runoob.com/svn/svn-tutorial.html

SVN使用起来很简单,按照上面的操作就可以了。


关于GIT的学习(必须要去深入学习)

书籍:《Git权威指南》

为什么没有安排SVN的学习书籍?第一是因为SVN简单,第二是这本书里也介绍了SVN的一些知识。其实只要把这本书认真读了,版本控制基本上就玩得非常666了。

线上资料:

http://iissnan.com/progit/

中文语言,全面的介绍了Git 的概念、用法、还有工作流程。我建议还是买书看,比线上资料讲的生动有趣。


团队协作中,必须要知道的版本工作流

版本控制工作流程会有很多,不同团队在流程细节上也会不一样,常见的版本控制流程有。

1:代码库的创建与克隆
2:代码的提交与审核
3:代码的分支与合并
4:代码的Release(发布)

工作流程在GIT的学习资料里有详细的介绍,我们对版本工作流程的认识,与版本控制软件的操作一样重要。



虚拟化技术技能树,一台电脑当N台用


基础知识和概念

虚拟化技术也是一个听上去玄乎,但实际使用并没有那么难系列。简单理解,就是在你电脑里安装的操作系统下面,再安装一个或多个操作系统,然后同时使用它们。

这是很重要的技能,我们平常在做开发的时候,基本上都通过虚拟化技术在同一台电脑上安装不同的操作系统,并且同时使用他们。这样方便开发人员跨平台调试系统,也方便测试工程师跨平台测试系统。

在工作中,我们会用到的虚拟化技术有两种,一种就是虚拟机,一种是容器。


虚拟机:

就是在你的电脑上虚拟一些硬件出来,然后在这些虚拟硬件上安装其他操作系统。常用的虚拟机有Vmware 和 VBOX。


容器(Dockerd):

在虚拟机这个概念上发展而来,是谷歌的一个开源项目。它主要用于虚拟服务器环境,被大量使用在云服务器上面。

Vmware,Vbox,虚拟机的使用(必备)

Vmware与Vbox是非常像的软件,在用Vbox的时候可能会感觉就是Vmware换了一个壳。它们最大的区别在于。Vmware是收费的,Vbox是免费开源的。


线上文档:

如果只是要做到刚刚会用,那么可以看一下这篇文章就足够了

https://www.linuxidc.com/Linux/2020-03/162547.htm

上面是一篇使用Vmware安装Linux操作系统的例子跟着步骤一步一步来就可以。Vbox也可以效仿这个教程。会使用Vmware,Vbox安装操作系统,在日常工作中就够用了。


但是:

如果你想要有更高的工资,发展空间,那么下面的学习资料会帮助到你。


书籍:《玩转虚拟机——基于VMware+Windows》

这里没有推荐VBOX的书是因为,VBOX和VMware真的很像!


线上资料:

https://www.vmware.com/cn/support/support-resources/pubs.html


Dockerd的使用(进阶)

Dockerd随着云服务的崛起变的流行起来。但Dockerd的使用就没有Vmware,和Vbox那么直观了。因为它没有图形界面。需要编写脚本来完成容器的安装和部署。其实只要适应了Dockerd的操作方式,也会觉得挺方便的。


书籍:

《深入浅出Docker》


线上资料:

http://www.dockerinfo.net/document 中文文档,但不是官方的

https://docs.docker.com/ 这是官方文档,英文好的可以进去看



任务协同软件使用技能树


office 全家桶(不要觉得他不重要,你会把测试平台导出的Excel测试结果进行图形化吗?)

太多的小伙伴忽略Office的技能了!我们在协同办公时,Excel应该是用的最多的。特别是现在很多可以多人同时在线编辑Excel的平台软件越来越多了。所以Excel的进精晚学不如早学。

Word和PPT也是一种交流协作的方式,比如让你写一个接口文档,或者用PPT做一个总结演示什么的,作为一个软件工程师。这个应该是可以自己亲自动手解决的。除了Excel,PPT,Word,Office还有很多使用软件,比如Project,OutLook等等。


关于Office的学习

书籍:《秋叶Office Word Excel PPT 办公应用从新手到高手》


目前流行的任务协同管理软件

在实际项目中用过的任务协同工具,我把它列举出来。这些工具已经设计的很人性化。动动手就能知道该怎么用。

1:google日历
2:滴答清单
3:TeamBition
4:码云
5:禅道
6:飞书
7:钉钉

等等

这些在线协同的任务管理软件,只要会用一个,其他的也会很快学会。具体的学习方法就是自己动手尝试一下。



DevOps 软件开发过程自动化技能树(终极技能)


DevOps的概念,和意义

我们先来了解一下DevOps这个概念,它是Development和Operations的组合词。意思就是整个软件开发的过程。这个过程包括代码的提交审阅、代码的持续集成、测试、发布部署等。

DevOps最终追求的是把这些过程自动化!这对于10人以上的团队是很重要的。如果你能去到一些有规模的软件公司工作。会有一个独立的小组或者部门,专门来维护和管理DevOps的。

如果你能把这部分技能树点满了,你可以有下面的优势。


1 去大公司的岗位,钱多多。

2 帮助现在的团队改进DevOps过程。要知道DevOps自动化的介入,可以大大降低团队开发成本(节省时间)的同时大大提高开发效率(也是节省时间)。


你细品,如果你是老板,有一个人能帮你省钱的同时还提升了生产效率,你会对这个人做什么?

学习DevOps自动化的前提

要行云流水的操作DevOps自动化,需要掌握下面这些知识。


1 linux操作系统的知识:

linux是很重要的一个操作系统,若要在软件领域发展的好,不会linux是不行的。系统的学习Linux是需要一些时间。我建议每天拿出30分钟来看下面的文档,就可以系统的把linux搞定。搞定后,你会发现在工作中linux其实会比windows甚至MAC更有效率。


在线学习:

http://linux.vbird.org/

大名鼎鼎的鸟哥linux私房菜,我个人觉得 linux的学习看这个就好了,没有之一。


2 服务器的基础知识

任何网络应用程序都离不开服务器,服务器是网络应用程序的载体。在第一,二阶段学习里面提到了网络服务器的知识,但没有给出系统的学习路径和资料。

因为我会在这里给出哈。


书籍:

《Tomcat架构解析》 能放Java网络程序的服务器 Tomcat


线上资料:

1:https://www.docs4dev.com/docs/zh/apache/2.4/reference

著名的Apache服务器文档 中文

2:http://tomcat0apache0org.icopy.site/tomcat-8.5-doc/index.html

tomcat 的官方文档 中文

这里说明一点,服务器有很多。因为一开始建议大家学JAVA。所以在这里就推荐了围绕JAVA的服务器Tomcat。

一开始学习我还是建议从看书开始,官方文档主要用来后面查询服务器配置选项用的。当然如果你英文很好,直接啃官方文档也是很好的。


DevOps相关学习资料

DevOps的学习建议分为两个部分。


第一部分

就是理论知识和概念,我觉得看这篇文章就够了。

https://zh.wikipedia.org/wiki/DevOps


第二部分

要实践和操作DevOps自动化,看下面这本书就够了

《持续集成与持续部署实践》


最后


如果这些内容在你自学软件开发路上能助你一臂之力,就给我个关注吧。

对文章点赞、评论与转发,可以让更多想自学软件开发的小伙伴能找到这系列的文章。

让我们一起成长吧。

相关推荐

程序员:JDK的安装与配置(完整版)_jdk的安装方法

对于Java程序员来说,jdk是必不陌生的一个词。但怎么安装配置jdk,对新手来说确实头疼的一件事情。我这里以jdk10为例,详细的说明讲解了jdk的安装和配置,如果有不明白的小伙伴可以评论区留言哦下...

Linux中安装jdk并配置环境变量_linux jdk安装教程及环境变量配置

一、通过连接工具登录到Linux(我这里使用的Centos7.6版本)服务器连接工具有很多我就不一一介绍了今天使用比较常用的XShell工具登录成功如下:二、上传jdk安装包到Linux服务器jdk...

麒麟系统安装JAVA JDK教程_麒麟系统配置jdk

检查检查系统是否自带java在麒麟系统桌面空白处,右键“在终端打开”,打开shell对话框输入:java–version查看是否自带java及版本如图所示,系统自带OpenJDK,要先卸载自带JDK...

学习笔记-Linux JDK - 安装&配置

前提条件#检查是否存在JDKrpm-qa|grepjava#删除现存JDKyum-yremovejava*安装OracleJDK不分系统#进入安装文件目...

Linux新手入门系列:Linux下jdk安装配置

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:L...

测试员必备:Linux下安装JDK 1.8你必须知道的那些事

1.简介在Oracle收购Sun后,Java的一系列产品就被整合到Oracle官网中,打开官网乍眼一看也不知道去哪里下载,还得一个一个的摸索尝试,而且网上大多数都是一些Oracle收购Sun前,或者就...

Linux 下安装JDK17_linux 安装jdk1.8 yum

一、安装环境操作系统:JDK版本:17二、安装步骤第一步:下载安装包下载Linux环境下的jdk1.8,请去官网(https://www.oracle.com/java/technologies/do...

在Ubuntu系统中安装JDK 17并配置环境变量教程

在Ubuntu系统上安装JDK17并配置环境变量是Java开发环境搭建的重要步骤。JDK17是Oracle提供的长期支持版本,广泛用于开发Java应用程序。以下是详细的步骤,帮助你在Ubuntu系...

如何在 Linux 上安装 Java_linux安装java的步骤

在桌面上拥抱Java应用程序,然后在所有桌面上运行它们。--SethKenlon(作者)无论你运行的是哪种操作系统,通常都有几种安装应用程序的方法。有时你可能会在应用程序商店中找到一个应用程序...

Windows和Linux环境下的JDK安装教程

JavaDevelopmentKit(简称JDK),是Java开发的核心工具包,提供了Java应用程序的编译、运行和开发所需的各类工具和类库。它包括了JRE(JavaRuntimeEnviro...

linux安装jdk_linux安装jdk软连接

JDK是啥就不用多介绍了哈,外行的人也不会进来看我的博文。依然记得读大学那会,第一次实验课就是在机房安装jdk,编写HelloWorld程序。时光飞逝啊,一下过了十多年了,挣了不少钱,买了跑车,娶了富...

linux安装jdk,全局配置,不同用户不同jdk

jdk1.8安装包链接:https://pan.baidu.com/s/14qBrh6ZpLK04QS8ogCepwg提取码:09zs上传文件解压tar-zxvfjdk-8u152-linux-...

运维大神教你在linux下安装jdk8_linux安装jdk1.7

1.到官网下载适合自己机器的版本。楼主下载的是jdk-8u66-linux-i586.tar.gzhttp://www.oracle.com/technetwork/java/javase/downl...

window和linux安装JDK1.8_linux 安装jdk1.8.tar

Windows安装JDK1.8的步骤:步骤1:下载JDK打开浏览器,找到JDK下载页面https://d.injdk.cn/download/oraclejdk/8在页面中找到并点击“下载...

最全的linux下安装JavaJDK的教程(图文详解)不会安装你来打我?

默认已经有了linux服务器,且有root账号首先检查一下是否已经安装过java的jdk任意位置输入命令:whichjava像我这个已经安装过了,就会提示在哪个位置,你的肯定是找不到。一般我们在...

取消回复欢迎 发表评论: