先用一句话概括我要问的问题:文科研究生(这是大前提,很多人拿理工科背景转码成功说事)学习什么编程语言合适,进可以开发工具解决实际问题,退可以拿它找到工作(仅限国内环境)。
先说一下我选择编程语言的标准:一是学习曲线是否陡峭,二是就业市场上不同语言所需岗位的多少(仅以 boss 直聘为例)。在我个人认知里,似乎好找工作的编程语言很难学,容易学的编程语言很难找工作。
起初我选择了 python 进行学习,因为语言难度不大,基础也容易,但是我拿着它找工作却没找到合适的工作(也许是这个语言很“胶水”,性能不如 c++,应用生态不如 java ;也许是我技术水平确实不够);后来我选择了 c++,因为这个语言几乎无法替代,工作相对其他语言来说也好找(这只是我的个人认知,如果有误请指正),但是学习曲线很陡峭,很多抽象概念我很难理解。
我对编程语言以及就业前景的认知有很大问题,而且我也很难从企业视角去了解一个企业主力开发语言,我能了解到的很多信息几乎来自培训机构“制造”的大量充满焦虑甚至偏见的信息,可靠性很低。希望大家能够帮我确定一个切实可行的方向,谢谢大家。
在这里也对于可能出现的一些观点做个统一回应:
关于考公考编: 我在成为研究生之前考过公考过事业编,均告失败,这也是我成为研究生的原因
文科研究生为什么想“转码”,自己的优势在哪里: 我提出这个问题的本意只是确定一门“进可攻退可守”的编程语言,结果发现回答问题的人大部分由于我所写的“大前提”把话题引向了“文科生不要轻易转码”。如果说自己转码的优势在哪里,我觉得即便代码写的再怎么好,功能实现再怎么完美,光“文科生”这个标签就已经是巨大劣势了吧😂
“进”和“退”是不是搞反了,为什么要提出这种问题: 我对编程语言以及就业前景的认知有很大问题,提出这个问题也是为了给我的认知纠偏。当然我也希望能给文科生想转码的群体纠偏(就目前来说我没那么大牌面)
我重新理顺一下需求:退可以找到工作不一定是码农、开发岗位
后续:
还是选择python,正在过基础,python后续的方向还不确定
考虑辅学javascript,目前不太清楚javascript/typescript有什么区别,后续方向还是不确定
![]() |
101
ck65 150 天前 via iPhone ![]() 文科生只是个标签而已,针对你的兴趣,在热门工种语言里学一门容易看懂的就行,这只是万里之行第一步,最起码还要补的东西是计算机科班生花了四年学到的计算机基础知识。比如我目前主力 Go 、Python 、TypeScript ,C/C++、Rust 以及小众语言例如 Nim 都能来。
比较重要的是,初入行时语言功底必须扎实,要么写得快要么搜得快,你得有足够的产出效率,数据结构、算法、数据库基础理论、代码抽象能力这些基本方面不能和从业总体水平相比落后太远。你的技术就是你的货,识货的雇主多数不会死磕你的出身。做全栈开发八年目前三狗的外语本科哲学硕士大龄码农留。 |
![]() |
102
hitmanx 150 天前 ![]() 你太浮躁了,兄弟。这就和看了几个罗翔的视频就在考虑应该是进律所还是法院一样,哪个远景更好。这个根本不是你这个阶段该操心的问题……你这都还没入门呢。
但凡哪些“谋定而后动”、“三思而后行”的人,最后的结果都是半途而废,这个在各种论坛见的太多了。而真正实干的人,都是闷头在那里搞,到此时可能已经丢了一个看上去很不错的作品上来了。 什么文科生、理科生的,那都是给自己找的借口。岗位挑学历那是在所难免,但是真有一技傍身,还是很有机会的,放低身段,从小公司开始干起,先进这个行业再说。 甘蔗没有两头甜。又想进入这个行业,又担心付出没有回报,哪有那么好的事。想清楚、决定了以后把整个身心都投入进去,尽最大努力义无反顾搏一把。 写这些可能比较刺耳。因为我也是这样过来的,我能在一定程度上理解你畏首畏尾的心情 |
![]() |
103
tangshuier OP @lueluev
先解释前端,本来我对前端有刻板印象,我觉得现在靠 aigc 前端页面不成问题,但是评论里有人提到了人机交互和校验(#83 ),我才发现前端确实重要。 再解释 python 和 java ,我看了这么多楼,加上重新体验了一下这两门语言的开发,有重新捡起 python 的打算了( java 写一个 hello world 就已经够抽象了) 最后一个“文科生”标签,我这么说吧,要不是论坛规则要求友善发言,拿着文科专业的简历去找工作,有几个能找到合适的呢(我在这不说好不好,因为这个概念是相对的)? |
104
xz410236056 150 天前
|
105
ben1024 150 天前
php,js,go,python,java
|
![]() |
106
vevlins 150 天前 ![]() @tangshuier
"因为生成式人工智能出现,哪怕不熟悉前端的人也能写出前端页面" 这就是纯粹胡扯。根据我的经验,对 IT 领域新技术吹捧最过头的,要么是包装了大便一样项目去骗投资的,要么就是外行人。人工智能完成前端交互的难度肯定要比完成后台的难度大。 你要求进可攻退可守,我还是建议学习 python ,因为现在文科生用 python 做做统计和简单的机器学习也很热门,考研也是一个不错的优势。用 python 学会写后台之后,学点其他的语言去小公司写写后台能有什么问题。 我个人非常推荐新手学习 js ,我真觉得现在 js 写起来比 python 顺手,而且 js 自己几乎可以把小公司一把梭全干了,写网页写 app 写后台,前端凑活画画 UI 也没什么问题,而且对于文科生来说转行前端难度确实稍微低点,尤其是低级前端。但是目前来看,有几个问题: 1. 时代不同了, 现在外行转码农不容易了,主要是业内的都卷,985 科班硕士都招不过来了。 2. JS 作为初学语言,系统化的教程不够多,很多是跟前端混合起来的,新手没人带学起来容易蒙蔽。 3. JS 在机器学习上有短板,很多科研任务不太适合做。 在程序员这一行上,语言真不是问题,是要借助一门语言学习计算机体系和某一个技术方向(前端/后端/算法)。这个时代不建议转码了,没什么用了。 |
![]() |
107
tangshuier OP @hitmanx 第二段-第四段我在培训班基本体验过一样的话术了。我在这不想也不会怀疑你是否是培训班水军,我想问这样几个问题:
1. 能否列举出实际岗位招聘不会在乎文科生专业身份,甚至 hr 都可以打开简历中 github 项目地址的公司? 2. 能否列举出文科背景的著名程序员、码农? |
108
clue 150 天前
@tangshuier #107
这样和你说吧, 大厂社招, 只看学校档次不看专业, 我以前的一个同事是学生物的, 照样做开发, 还是非常强的那种 计算机本来就是一个强烈依赖自学的领域, 在学校学的那些只能算是全面的基础, 不自学几乎不可能胜任现有的工作 你是来寻求帮助的, 这里回复的很多人绝对比你想象的要资深, 你大可不必担心人家闲得蛋疼来消遣你 |
![]() |
109
Lambert2022 150 天前
绝对是 Swift
|
![]() |
110
cocogovern 150 天前
我想练习绝世武功,然后打工赚钱。
|
![]() |
111
tangshuier OP @clue 那大厂更直接寄了,我本科 211 ,研究生双非,文科专业
|
112
clue 150 天前
@tangshuier #111
211 完全没问题的, 我是指社招, 你这个起点已经超越 90%的人了, 关键还是看技术能力 该讲的前面也讲了很多了, 还不如现在去学点新知识, 找个好玩的项目直接上手开发 |
113
cshever999 150 天前
python
|
114
deplives 150 天前 ![]() 泼个冷水,别想着转码了,你没有任何优势。
你的认知还停留在 [在我个人认知里,似乎好找工作的编程语言很难学,容易学的编程语言很难找工作] 如果你真的想走这条路,现在踏踏实实在一个用一个你喜欢的任何计算机语言做点东西出来,而不是就学了个怎么从 json 提取手机号就开始杞人忧天 python 的性能不够,生态不好。可以说这个顾虑在你 5 年以内遇不到。 |
![]() |
115
cherrycake 150 天前 via iPhone
在 tg 群里看到一模一样的,祝题主早日找到方向
|
116
Seulgi 150 天前
目前的话,我感觉就是 python 啊,基本上现在很多系统都内置了 python 环境,简单写一些脚本 python 也很简单高效。
|
![]() |
117
tangshuier OP @Promtheus 培训班出教程赚钱赚麻了,代价是多了一大群像我这种没有方向的炮灰……
|
![]() |
118
SayHelloHi 150 天前
Python 吧
|
119
xcid 150 天前
本文科生一开始跟你想得一样,所以学了 python 。后来并没有找到这样的职位,索性学 java 转码了。。。
|
120
lchynn 150 天前
Excel VBA , 不开玩笑, 搞得好大部分办公室白领不如你, 部门工作离不开你。当然你得先有一个这样的工作。
|
121
aresyang 150 天前
ocaml
|
![]() |
122
iorilu 150 天前
非专业程序员就两个选择
js 或 python, 看你兴趣 |
123
456789 150 天前
python 是易守难攻,真正考验智商的就属它;文科大佬应该学记忆力强的比如 java php 这些; js 这类灵活的语言其实计算机专业性很强,易学难精不建议;
|
![]() |
124
shijingshijing 150 天前
我说句不该说的,你本身底子就是文科,即使是计算机专科,起码也花了几年时间来学计算机基础;现在你还想找一个学习曲线既不陡峭,还好找工作的进可攻退可守的语言,怎么说,属于典型的“既要……又要……还要……更要……”,想弯道超几次车。
你所谓的曲线既不陡峭,还好找工作的进可攻退可守的语言,即使在以前计算机繁荣的时候,对计算机从业者来说都几乎不存在(上面很多人说的 Python ,说实话,除了豆瓣用来做后端,几乎没有正经互联网公司用来做主力语言,都是用来做辅助的),更何况现在这种卷上天的就业市场。 你说的“python 进行学习,因为语言难度不大,基础也容易,…………性能不如 c++,应用生态不如 java”,我真心觉得你是想多了,真的就是小时候考虑自己是读清华好还是读北大好。还是拿前面推荐最多的 python 来说吧,真正要达到生产级的使用,对于 Python 底层的实现,GIL 锁,内存管理等等,都需要你有细致入微的了解,python 为什么被人们认为容易?还不是因为隐藏了大量的细节,降低了入门门槛,但是编程入门和工业级生产是两码事,还有,不要用你的业余爱好挑战别人吃饭的技能,我读书的时候在和校队朋友打乒乓球的时候就意识到了这两者的区别。 |
![]() |
125
fanyange 150 天前
我感觉是 JavaScript ,生态超丰富,做点小网站/程序成就感大,而且永远都是热门语言
学习 JavaScript 还是不算简单的(主要涉及的概念有点多,语言本身不算复杂),但花的时间都是值得的。 |
126
lyp82ndlfjh 150 天前
java 。java 的需求应该还是很大的。真正找工作的话不只是编程语言,还需要一些 CS 的基础知识。python 目前在工作中一般写一些小脚本。
|
![]() |
127
tangshuier OP @fanyange 确实不算简单,我看到那个“js 代码消消乐”就很难绷得住😂
|
![]() |
128
kuber 150 天前
文科生转到计算机行业适合的应该不是码农,而是项目经理,BA 吧。可以先从 BA 做起,积累项目经验慢慢转成项目经理。除了互联网公司,还有很多传统 IT 公司,你也可以看看。
话说文科不同专业之间还有很大差别。我们是外企,招了很多商科,财会,以及英语专业的毕业生做 BA 。 @tangshuier 作为文科生你自认为你的长处是什么(包括性格,经历,专业,思维能力等等)? |
![]() |
129
epiloguess 150 天前 via Android
文科学这些东西是给你赋能,就赋能来说,py js 很适合,不是让你拿爱好挑战别人的饭碗 就算是前端没个全身心半年也学不明白达不到初级开发的水平
|
130
chenzhekl 150 天前 via Android
找什么工作,学什么语言。不同行业需求不一样。
|
![]() |
131
GabrielleBellamy 150 天前
我也是文科生啊,也写代码啊,但从没想过成为码农,这个职业根本不值得……
写代码是为了自我表达,仅此而已。跟写论文是一个意思,只不过表达方式不同而已。 换言之,有人拿着语言材料搭建自己的大厦,有人拿实验数据,然后这个拿代码而已。 开心就好。 |
132
thedog 150 天前
pytho
|
![]() |
133
Cubat 150 天前
我高考失利报了英语专业,毕业后做了两年开发,然后五年的时间里运维、技术支持、实施、售前转了一圈。看你描述 C++ 和 Python 就觉得其实你挺浮躁的,也不是很想写代码,那你也别听楼上啥前端后端的了。你可以试试:
- 推荐 1. 事业单位的运维岗。做甲方,帮单位和厂商对接,不用写代码,进去一般只需要考行测和申论。 2. 传统行业的运维开发岗。不需要像事业单位一样准备行测,技术面试普遍简单。 3. 售前 & 解决方案。如果工作年限上去了可以考虑这个,一般得在技术岗干个十年左右。 4. 项目经理。和解决方案一样,需要项目累积,如果没有经验大概率找不到工作。 - 不推荐 1. 技术型销售。销售部门经常会这样说,但就是个销售,天天得吃业绩压力。 2. 初创公司的开发岗。初创公司缺人,搞点作品放简历里,一般看中了就会要,但基本什么都得靠自己。 3. 外包开发岗。走投无路的话也别嫌弃,如果还有其他机会就别看。 |
![]() |
134
ebushicao 150 天前
看到有人推荐前端,我来泼下冷水。前端岗位确实不少,入门也算简单,但东西是真杂,细分领域是真多,大部分工作都要求指定技术栈的实际项目经验,一般是 UI 框架+组件框架+状态管理库。比如 react-antd+redux ,vue+element+pinia 等等,然后还有其它类,比如 electron 、react native 、uni-app 等等,桌面端的网页、移动端的适配、浏览器兼容性的处理、移动端的 App 、各类的小程序等等。即便很多东西基础能力满足就可以无缝使用,但 HR 筛选简历的时候可不管,所以现在前端巨难找工作... 还有,BOSS 直聘上有很多假信息和过期信息,不要光在列表上滑动就感觉很多,实际上很多点进去,要么人力外包,要么半年前甚至一年前活跃。
|
![]() |
135
hello2090 150 天前 via iPhone
懂得太少,想的太多。
|
136
SD10 150 天前 via iPhone
Python ,我觉得没有比这个更合适的语言了。
首先,在你的日常学习中可以用来分析数据、做一些小工具,比其他语言简单,很容易带来成就感。 再次,和机器学习、AI 密切,方便摇摆。 还有,虽然豆瓣外没有大公司用 python 做主站,并不是说 python 不能做做网站,而且大公司内部也有不少自用的工具是用 python 做的,不要只盯着头部流量的网站看他们的技术,有所少从业人员在这些大公司做主站的?别被带偏了 学 python 吧,语言性能什么的不是你现在考虑的东西,生态才是! |
![]() |
137
snailya 149 天前
@coderluan 你说的最对,现在如果是转码,根本不可能找到专门的程序员工作。反而是很多传统行业的公司,内部有很多需求,但是不愿意找外部的开发,可能原因有需求不明确,随时变更,涉密等,与现在的开发模式不匹配,他们不会要求这么学历之类的门槛,当然他们也不会给到互联网那么高的薪资。
|
![]() |
138
tangshuier OP @snailya 这里面有个大前提,需要进入传统行业的公司
|
![]() |
139
dog82 149 天前
不如把 excel 、word 学精,你就超过 99.99%的人了,包括 99.99%的程序员
|
140
xinyu391 149 天前
文科就算了吧
|
![]() |
141
lowly 149 天前
都没看你的内容,第一反应想到的就是 Python
进可纯开发岗,退可自动化脚本 开发岗:进可数据开发,退可 web 开发 自动化脚本:进可互联网测试岗,退任何行业工作都可应用 至于说别的语言,你走后台数据开发,自然而然会涉猎,实际工作岗位需求,到了一定阶段,就是看实战项目如何 说说前端,你走 web 开发,也绕不开,react 、vue 、TS 等等,这些都只是公司工作内容 web 岗的次要工作内容( web 岗非纯前端的话) 再看你说的内容,以及各楼层你回复的,并非有意打击你 你就是想的太多,有一个选择,你看到不是好前景,而是会遇到多大的坑,你没有贵人指点,互联网上寻求帮助,协助你做决定,那你只能服从多数建议,少数建议说的也很有见地,但你心不够绝,做不来扑朔迷离的未来决定。往后你因为服从多数建议的决定,而没有很好的发展,你也没必要后悔,因为路一开始都在这里,是你自己不会对自己复盘,对各路分析,你听再多人分析,我们这些人也只是从我们角度看市场看自己能了解到的内容去给你建议 |
![]() |
142
EndlessMemory 149 天前
你这挺难搞得
|
143
zgsi 149 天前
py/js
|
![]() |
144
zen1 149 天前 ![]() @tangshuier #107 我可以补充个文科背景的著名程序员——尤雨溪。不过这种万中无一
![]() |
![]() |
145
8355 149 天前
不如还是去学习 excel 编程吧
|
146
charlie21 149 天前 via Android ![]() 学你个大马猴这道题拿到程序员面前就是一种侮辱
|
147
shyangs 149 天前
高級运维一樣掌握兩門語言以上 Bash (Shell Script), Python, Node.js, Go-lang (因為 k8s) , Groovy (因為 Jenkins)
維運會的語言沒比開發少. 你只會一門語言去小廠,可能低薪又累成狗. |
![]() |
148
wzbrbj 149 天前
你有这时间还不如学学 ai 相关的语法及表达方式。
|
149
miaowo 148 天前
@tangshuier #13 想多了,人工智能的出现,对前端和后端的影响都差不多,能生成一些简单逻辑的前端页面,也能生成简单逻辑的后端 api ,这东西目前还只能作为一个辅助工具,实际开发复杂着呢,远远做不到完全替代...我觉得如果你真的想转开发的话,还是以兴趣为导向吧,看自己是更喜欢和前端视觉类的打交道,还是喜欢和抽象的东西打交道
|
150
miaowo 148 天前
现在不比以前了,去网上看一看,很多 985 、211 科班毕业的都很难找工作了,你拿什么和他们竞争
|
![]() |
151
lueluev 145 天前
@tangshuier #103 现在非工程/工程中的后端:都要求对你不想学的操作系统、计算机组成原理、算法、数据结构等等有一定的要求;工程中的前端:轮子很多更新迭代也多不符合你一个语言一把梭的要求。对于你的刻板印象我不想多说啥,实际上手试一试呢。真的我最建议的就是产品,产品找不到就干测试,测试干阵子转产品也是可以的,你这个组织语言和表达能力还是挺好的,我不知道你为啥非要转码,如果转码没那么顺利的话真的可以看看产品岗,更适合表达能力好又不想学很多编程语言的你。
|
![]() |
152
swordspoet 130 天前
@tangshuier #13 入行六年以来,每年都是“寒冬”。年年难过年年过。
|
153
mark2025 37 天前
可能 js + TS 更适合
|