关山难越,谁悲失路之人;萍水相逢,尽是他乡之客。
百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程教程 > 技术文章 > 正文

关于最近你们的问题

guanshanw 2023-09-17 17:16 49 浏览 0 评论

最近比较奇怪,收到不少在微信问我怎么学习语言,看什么书才好的,还有问我是不是要换专业、转行做IT应该怎么学习的?

我一时还比较费解,我的号的受众不都是有几年工作经验的吗?怎么会这么多这种问题?

好家伙,我打开用户分析一看。为什么还有60岁以上的?小朋友。。你是否有很多问号。。。

18-25和26-35的居然55开了,我记得之前是28开啊。

好吧,既然如此,根据兄弟们的提问,我看下来,问题其实就基本围绕以下两个问题来展开。

  1. 非科班现在转行做IT怎么样?应该学习什么语言?
  2. 怎么入门,怎么学习语言?

1.非科班现在转行做IT怎么样?

首先,现在一大堆人想往IT行业转,首要因素我想应该还是薪资高吧。

但是,其实IT行业很枯燥,非常枯燥,学计算机首先得耐得住寂寞,有些人就天生好动,搞计算机的话天天和电脑打交道,一坐就是一天,其实对于很多外向的人来说可能非常折磨。当然了,我就不一样,我不出门可以坐一年,所以,我这种人就比较适合做IT。

其次,我希望你还是考虑清楚自己的爱好和兴趣,不要为了单纯的薪资高进入这个行业,你对计算机是否热爱,虽然说兴趣变成工作再也不是兴趣了。但是不可否认的是,兴趣是入门最好的老师,如果你对计算机都完全不感兴趣,我建议你遵从自己内心的选择。

当然最重要的问题就是现在IT行业严重的加班风气,你基本上很难找到一个完全不加班的公司,特别对于女生来说,可能每天十几个小时面对着电脑的辐射完全就是折磨。不过话又说回来,好像也没多少写代码的女生。

加班的问题得想清楚,做这行的上了年纪不锻炼的身体毛病一大堆,比如我就是,我天生就懒,能坐着坚决就不站着,能躺着就不坐着,最后你还得健身续命。

说了这一大堆好像都是缺点,但是好处我开始就说了啊,来钱快啊,你去拼西西是不是,应届生给你40万香不香?

2. 应该学习什么语言?

语言这块我就认为都行,你想搞Java现在阿里、美团这些大厂都是,Python也有,但是从从业人数来说比Java少多了,搞C、C++、Go这些现在字节、腾讯这些也都是,我有不少朋友进了腾讯、字节就转Go了。

我认为第一门语言都可以,如果想受众更广我建议你选择Java,找工作好找。毕竟也不是每个人都能进大厂。

其实,我想说不太建议你选择PHP,啊,PHP是世界上最好的语言,算了吧,玩PHP的也转Go了。

如果单纯玩票,想增加点技能,PHP或者Python学习起来都很快,是个不错的选择。

其实对于非科班的同学来说,还有一个更简单的选择,前端工程师。你会发现计算机的那些基础完全不学,直接上手HTML+CSS,JavaScript、VUE、Jquery那些一学,马上就能找到工作,工资还不低。

我不骗你,真的,如果你啥基础都没有,就想面向工资编程,赚两年快钱,前端是不错的选择。

但是,想在行业里扎根,向上发展,还是认认真真,一步步扎实地好好学。

语言这种东西,都是触类旁通,学会一门,再学其他的其实就很简单了。

3. 怎么入门,怎么学习语言?

这个问题,我就当做是书籍推荐了,一切从基础开始,任何东西学习都这样,万丈高楼平地起,那什么什么来着对吧。

我把书籍简单归纳为两类:

  1. 计算机基础,这些都是你的基础,要打扎实了
  2. 语言类,涉及到工作中,找工作你应该会的东西,比如数据库、中间件这些东西。由于我一直做Java,其他语言我避免产生误导性,我还是以Java为基础来说。

计算机基础

操作系统

  1. 《现代操作系统》
  2. 《操作系统—精髓与设计原理》
  3. 《深入理解计算机系统》

关于操作系统,都很难看,也很难懂,可以网上找找视频看。

Linux

  1. 《Linux内核设计与实现》
  2. 《深入Linux内核架构》
  3. 《鸟哥的Linux私房菜》
  4. 《Unix环境高级编程》

从基础使用到进阶,编程都有了。

计算机网络

  1. 《计算机网络:自顶向下方法》
  2. 《TCP/IP详解 卷1:协议》
  3. 《图解HTTP》
  4. 《网络是怎么连接的》

前面两本是经典书,难懂,后面两本比较容易点。

数据结构和算法

  1. 《算法导论》
  2. 《大话数据结构》
  3. 《剑指offer》

第一本是硬书,初学者太难了,可以看看网络上现在比较火的几个课程。不做推荐,避免广告。

语言

基础

  1. 《Java编程思想》
  2. 《Effective Java》
  3. 《深入Java虚拟机》
  4. 《码出高效》

第一本是基础,但是可能有些人看不懂,那就去网上看视频课程吧,我还是可以推荐马士兵老师的Java基础,是个人都能看明白系列。阿里出的《码出高效》也可以一读,通俗易懂。

并发编程

  1. 《Java并发编程的艺术》
  2. 《Java并发编程之美》

设计模式

  1. 《Head First 设计模式》
  2. 《设计模式之禅》

框架

现在主流的框架就是SpringBoot\Spring\Mybatis这些对吧,我觉得好像没什么书可看的,建议自己项目实战+辅助读源码吧,网络上也有很多源码解读,可以缩短你的学习时间。

如果你很不幸,进入一家古老的用Strust2和Hibernate写的代码。。那只能祝你好运了。

数据库

  1. 《MySQL必知必会》
  2. 《高性能Mysql》
  3. 《MySQL技术内幕 : InnoDB存储引擎》

第一本是入门书,进阶看后面两本就足够了。

Redis

《Redis 设计与实现》

就这一本,差不多了。

RocketMQ

其实没什么书,只有丁威丁总的一本《RocketMQ技术内幕》

Kafka

《Kafka技术内幕》

这个就够了

Dubbo

这个别买书了,看官方文档就行

其他

工具

  1. IntelliJ IDEA
  2. Eclipse
  3. Visual Stduio Code
  4. Sublime Text
  5. Atom

初学者,不建议一上手就使用IDE,可以先用记事本或者sublime这种,熟练之后再用工具软件来开发。目前来说,Java主流是IDEA,我当初从Eclipse转到Idea也各种不爽,后面还是。。。真香。哈哈。

前端开发、Go这种目前应该主流是VS Code,插件,功能强大。

版本控制

  1. Git
  2. SVN

当然选择是Git了,别说你还用SVN,趁早换了,做开发呢就要紧跟潮流,太死板,不愿意挪窝,死守着面前那点东西不愿意接受新事物都是很多普遍开发人员的通病。

最后

我想,看完这里,你应该还有一些疑惑,让我猜猜?

这些我都要一点点学完吗

大可不必,如果直接就想简单找个工作,直接网上找个视频,报个培训班什么的都行,但是,我希望你还是先打基础,再言其他。关于学习路线的问题,我觉得渣本和985、211这种可能不太一样哈,学霸和学渣也不太一样。像我这种,我其实大学都在玩,直接上手学的语言实战,基础回头补的,当然,我不建议你也这样。

太难了,有些书就把我劝退了,发现自己怎么学都学不会,怎么办

我觉得一点问题都没有,只要你智商正常,肯吃苦,肯定是能学会的。你看不懂,学不会,只是没有掌握方法,如果你上来对着一本经典900页的大头书一通啃。。。

看计算机的书,不用和学文科一样,一个字一个字的看,先通读,大致看完,心里有概念,再细看,有针对性的看。

我应该做项目,还是怎么搞

我问过不少人,他们有的大学的时候就埋头去做项目,项目倒是做了一大堆,回头一看,代码写成了一坨,基础被秒成渣。面试一问,直接GG。

还是看基础、基础、基础,再说3遍,当然,光看书也没用,学以致用,学习和实践结合才是最好的办法。

我觉得还有一点很重要的就是,学计算机你一定一定学会Google、baidu,一定得有自己思考解决问题的能力。碰到问题没法解决,搜索永远都是你第一个老师,学会善用网络。

而且,现在可不是当年了,网上的各种课程、视频一大堆,不像我那个时候学个东西只能靠自己撸啊。网上不用付费,免费的课程也一大堆,都能帮助你快速入门,没必要非逮着一本看不懂的书往死里怼,学会利用这个时代的优势,帮你快速入门。

这,可能也是程序员越来越卷的原因。

- END -

相关推荐

七条简单命令让您玩转Git
七条简单命令让您玩转Git

凭借着出色的协作能力、快速部署效果与代码构建辅助作用,Git已经得到越来越多企业用户的青睐。除了用于开发商业及消费级应用之外,众多科学及政府机构也开始尝试使用这...

2023-10-07 12:14 guanshanw

基本完整的关于Git分支branch的操作
基本完整的关于Git分支branch的操作

Git使用背景项目中要用到dev或者其他分支开发完代码,需要将该分支合并到master的需求操作步骤下面以dev名称为lex为分支名为例来操作一遍客户端操作:...

2023-10-07 12:14 guanshanw

Git 进阶(合并与变基)
Git 进阶(合并与变基)

在Git中整合来自不同分支的修改主要有两种方法:合并(merge)以及变基(rebase)合并(merge)merge流程图merge的原理是找到这两个分...

2023-10-07 12:13 guanshanw

Git学习笔记 003 Git进阶功能 part5 合并(第一部分)

合并(merge)是很常用的操作。尤其是一个庞大的很多人参与开发的企业级应用。一般会设定一个主分支,和多个副分支。在副分支开发完成后,合并到主分支中。始终保持主分支是一个完整的,稳定的最新状态的分支。...

非标题党,三张图帮你理解git merge和git rebase的区别
非标题党,三张图帮你理解git merge和git rebase的区别

初始场景:基于正常的开发分支修改几个小bug,然后在合并到开发分支上。gitmergegitcheckoutfeaturegitmergeho...

2023-10-07 12:13 guanshanw

git 初次使用(01)
git 初次使用(01)

先从github上克隆代码下来:使用vscode克隆代码如下图,填写上github仓库地址:vscode有时候克隆代码速度比较慢,可以用命令行方式克隆gitc...

2023-10-07 12:12 guanshanw

Git 远程操作

4.Git远程操作命令说明gitremote远程版本库操作gitfetch从远程获取版本库gitpull下载远程代码并合并gitpush上传远程代码并合并4.1远程版本库操作gitre...

Git常用命令-总结
Git常用命令-总结

创建git用户$gitconfig--globaluser.name"YourName"$gitconfig--globaluser.em...

2023-10-07 12:12 guanshanw

git中删除从别人clone下来项目的git信息,并修改为自己的分支

如果你从别人的Git存储库中克隆了一个项目,并想要删除与该存储库相关的Git信息,并将其修改为你自己的分支,则可以执行以下步骤:使用gitclone命令克隆存储库:gitclone<u...

git系列-回滚和放弃本地修改

回滚历史提交就是reset的功能。这种情况是已经提交远程仓库,需要回滚到之前的提交。gitreset--hardcommitId//注:强制提交后,当前版本后面的提交版本将会删掉!gi...

GIT使用小技巧大全
GIT使用小技巧大全

在大型软件工程的开发过程中,版本控制是无法绕过去的;目前来说,最火的版本控制软件就是GIT了。早两年SVN比较火,不过被大神linus喷了几次后,就日落西山了,...

2023-10-07 12:11 guanshanw

git相关命令-上
git相关命令-上

这些命令都是看了文档后,个人觉得比较有用的一些,展示给大家。回到远程仓库的状态抛弃本地所有的修改,回到远程仓库的状态。gitfetch--all&...

2023-10-07 12:10 guanshanw

Git命令行接口:掌握Git的必备技能
Git命令行接口:掌握Git的必备技能

Git是一款强大的分布式版本控制工具,它支持命令行界面操作。熟练掌握Git命令行接口,是开发者使用Git的必备技能之一。在这篇文章中,我们将介绍Git命令行接口...

2023-10-07 12:10 guanshanw

Git命令详解
Git命令详解

相信各位小伙伴们应该都对git有一些了解,毕竟作为代码管理的神器,就算不是IT行业的小伙伴肯定也或多或少的听说过一些。今天就来和小伙伴们分享一下自己总结的常用命...

2023-10-07 12:10 guanshanw

工作7年收集到的git命令
工作7年收集到的git命令

概念git中的术语解释:仓库也叫版本库(repository)stage:暂存区,add后会存到暂存区,commit后提交到版本库git安装linux...

2023-10-07 12:10 guanshanw

取消回复欢迎 发表评论: