您的位置:制图网首页 -> 新闻动态 -> 自学编程有公司要吗【自学编程难吗】

热门排行

自学编程有公司要吗【自学编程难吗】

2023/1/31 来自于:制图网 点击:38

来源:麦叔编程

作者:麦2叔

一场圆桌会

周日晚上9点,我正在看苏炳添的百米决赛,Kevin给我发来消息:

叔, 来参加吗?

Kelvin组织了比较熟悉的一群小伙伴直播讨论学习编程的问题。今天是「人于八」分享Django的学习

我加入的时候他们正在讨论:「什么是MVC」(Model,View,Controller)。大家七嘴八舌,说的不亦乐乎。

到了最后,人于八说:

不过招聘网站上Django的岗位真的很少,不好找工作!

大家有点沉默了:讲了一晚上,讲了个寂寞。

进而,又谈到了Python是不是很难找工作。学到什么程度才可以找工作。

最后大家请我讲一讲,下面是我的核心观点,希望对大家有好处。

Python不难找工作

在我前面的一篇讨论Python,Java和Go的编程语言中,我曾经展示过:

Python的专业开发岗位数量上大概是Java的60%,是Go的4倍左右。

自学编程有公司要吗【自学编程难吗】

从这个意义上说Python的开发岗位是不少的,如果你Python学的还比较扎实,并不难找工作。

问题来了:怎么算学的扎实呢?要掌握哪些内容呢?

只会Python不好找工作,换成其他编程语言也一样

那为什么很多自学的人,非科班出身的人,自我感觉学的也不错,在找工作的时候还是很容易碰壁呢?

因为编程不仅仅是一门编程语言的事情,而是需要综合运用很多知识。所以只会Python还不够成为一个专业的开发者。这个结论换成Java,换成Go,换成C 也一样成立。

开发和运行一个商业的系统,除了基本的编程知识外,还需要:

最上面是网页和HTML的基础知识。不管你是后端开发和全栈开发,这都需要会一些的。如果你的定位是后端,前端不需要精通,会核心的内容就可以。HTTP协议,TCP协议等网络知识。任何一个合格的Web后端开发必须对HTTP协议有一定深度的了解。你的网站或者API程序会最终肯定会发布到Web服务器的后面。你了解Nginx或者其他Web服务器吗?Linux操作系统总要会一点吧?大部分的程序会发布在Linux平台上。软件总要存储数据,所以数据库知识肯定离不开。自学编程有公司要吗【自学编程难吗】

对于非科班出身的人,相对来说右边的这些知识会相对比较缺乏。当然我们在学习Python的过程中也会或多或少的涉及到这些知识,只要注意积累,有意识的去补充,也没有那么难。

在校生好好学习很有必要

仔细看一下上面图中左边的这些知识,正好对应计算机专业大学里的几门课程:

数据库工程:其中包括数据库的原理,SQL语言,MySQL等。数据库和SQL分不清楚,Microsoft SQL和SQL Server分不清楚的直接就暴露了这方面知识极其欠缺。网络工程:学校里学的网络还是很重要的。但讲的太全面,缺乏重点。比如HTTP协议可能是一带而过的,但在这工作中很重要。这就需要自己再加强。操作系统:操作系统是学校里非常重要的课程。也是理论讲的偏多,实践缺少。这也要自己加强实践。但这些理论也很重要。数据结构:数据结构自然也是非常重要的科目。

在上大学的时候也许或觉得这些科目很无聊,但他们很重要,是区分专业和非专业的重要方面。对你能否更深入的走下去也有很重要的影响。

当然这些还不够,你还需要多做几个项目,多锻炼一下,再补充一些行业知识和实战能力。但在校期间,首先应该先学好这些非常重要的基础知识。

有些大学的课程作业也是很接地气的,很有用的,建议认真完成,不要随便糊弄完成。很多人来我的群里直接付钱找人代写课程作业,土豪归土豪,建议还是自己完成吧。

我印象很深的两个课程作业,给大家分享一下:

数据库课程作业:自己实现一个MiniSQL数据库管理系统。完成了这个作业,你对数据库的存储,SQL语言的理解不深都难。软件工程的作业:自己实现一个简单的浏览器。这个作业对HTTP,HTML,软件设计等要求都很高。

如果再补充一门学问,那就是「设计模式」。

本文开头讲的MVC严格来说算是框架模式,但也可以算是设计模式的扩展。

设计模式的书很多,其中最著名的设计模式的书是:GoF的23种设计模式。不过提前警告一下:这本书很难懂,可以先看:大话设计模式。

随着经验的增加,我越来越觉得模式的重要性。建筑设计有自己的模式,算法有算法的模式,软件设计有软件的设计模式。掌握了这些模式你就是高手,你就是行家。

总结

说了这么多,不想给大家泼冷水,说几个结论:

Python不难找工作,而且专业的开发岗越来越多。但只会Python语言本身不够,要有意识加强补充周边知识。

信心还是要有的,也许你不加强也能顺利找到工作,那恭喜你了。但要在程序员这条路上走的更远,这些知识是很有必要的。

我对周边知识的重要性排序:

第一梯队:「HTTP协议」 - 学习难度中等,找对资料,几天到一个月足够了。HTTP和Web服务器知识是关联的。Web基础 - 学习难度中等。数据库基础 - 这个入门不难,但是水很深。涉及到的知识,实战细节和经验都很多。是需要一直努力学习的内容。算法与数据结构 - 这个博大精深,慢慢加强吧。第二梯队:Linux命令,操作系统的其他知识。基本的操作也是简单的,有两周就够了。但是操作系统的总体知识就博大精深了,多线程,多进程等其实都属于这个范畴。Web服务器,其他网络知识。框架,设计模式等。

好了,今天跟大家分享一些个人看法和总结,希望对大家有帮助。

有问题欢迎在评论区跟我讨论。最后祝大家都顺利找到高薪的好工作。

制图网(www.makepic.net),专业的logo免费设计在线生成网站,全自动智能化logo设计,商标设计,logo在线生成!

欢迎使用制图网制作属于您公司自己的logo,不仅专业而且经济实惠,全方位满足您公司品牌化、视觉化的需求。

输入激活码

只需简单一步,使用微信扫码(或长按识别二维码)并在任一小程序首页根据提示获取激活码! chatGPT中文网页版,无需注册,快来体验全网最火爆的人工智能应用!
刻字印章刻章子定刻光敏盖章印订制(淘宝商家)

输入激活码

只需简单一步,使用微信扫码(或长按识别二维码)并在任一小程序首页根据提示获取激活码! chatGPT中文网页版,无需注册,快来体验全网最火爆的人工智能应用!
刻字印章刻章子定刻光敏盖章印订制(淘宝商家)
请使用手机淘宝进行扫码