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

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

sinye56 2024-11-18 16:44 2 浏览 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自动化,看下面这本书就够了

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


最后


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

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

让我们一起成长吧。

相关推荐

Linux在线安装JDK1.8

首先在服务器pingwww.baidu.com查看是否可以连网然后就可以在线下载一、下载安装JDK1.81、在下载安装的同时做好一些准备工作...

Linux安装JDK,超详细

1、了解RPMRPM是Red-HatPackageManager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux...

Linux安装jdk1.8(超级详细)

前言最近刚购买了一台阿里云的服务器准备要搭建一个网站,正好将网站的一个完整搭建过程分享给大家!#一、下载jdk1.8首先我们需要去下载linux版本的jdk1.8安装包,我们有两种方式去下载安装...

Linux系统安装JDK教程

下载jdk-8u151-linux-x64.tar.gz下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.ht...

干货|JDK下载安装与环境变量配置图文教程「超详细」

1.JDK介绍1.1什么是JDK?SUN公司提供了一套Java开发环境,简称JDK(JavaDevelopmentKit),它是整个Java的核心,其中包括Java编译器、Java运行工具、Jav...

Linux下安装jdk1.8

一、安装环境操作系统:CentOSLinuxrelease7.6.1810(Core)JDK版本:1.8二、安装步骤1.下载安装包...

Linux上安装JDK

以CentOS为例。检查是否已安装过jdk。yumlist--installed|grepjdk或者...

Linux系统的一些常用目录以及介绍

根目录(/):“/”目录也称为根目录,位于Linux文件系统目录结构的顶层。在很多系统中,“/”目录是系统中的唯一分区。如果还有其他分区,必须挂载到“/”目录下某个位置。整个目录结构呈树形结构,因此也...

Linux系统目录结构

一、系统目录结构几乎所有的计算机操作系统都是使用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件,而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树...

Linux文件查找

在Linux下通常find不很常用的,因为速度慢(find是直接查找硬盘),通常我们都是先使用whereis或者是locate来检查,如果真的找不到了,才以find来搜寻。为什么...

嵌入式linux基本操作之查找文件

对于很多初学者来说都习惯用windows操作系统,对于这个系统来说查找一个文件简直不在话下。而学习嵌入式开发行业之后,发现所用到的是嵌入式Linux操作系统,本想着跟windows类似,结果在操作的时...

linux系统查看软件安装目录的方法

linux系统下怎么查看软件安装的目录?方法1:whereis软件名以查询nginx为例子...

Linux下如何对目录中的文件进行统计

统计目录中的文件数量...

Linux常见文件目录管理命令

touch用于创建空白文件touch文件名称mkdir用于创建空白目录还可以通过参数-p创建递归的目录...

Linux常用查找文件方法总结

一、前言Linux系统提供了多种查找文件的命令,而且每种查找命令都具有其独特的优势,下面详细总结一下常用的几个Linux查找命令。二、which命令查找类型:二进制文件;...

取消回复欢迎 发表评论: