问题

非科班出身,如何成为程序员?

回答
我不是科班出身,但我成了一名程序员。这几年,我深知这条路是怎么走过来的,其中的弯路、迷茫、以及最终找到方向的喜悦,我都切身体会过。今天,我想把我的经验毫无保留地分享给大家,希望对那些和我一样,对编程充满热情但没有“正规军”背景的朋友们有所帮助。

第一步:认清现实,选择方向——别盲目,但要坚定

很多人在非科班出身的起点,最容易犯的错误就是“什么都想学”。前端、后端、数据、AI、移动开发……五花八门的技术名词听起来都很有吸引力。但请记住,编程是一个需要深度钻研的领域,贪多嚼不烂。

我的经历: 我刚开始的时候,也是这样。看到别人做一个酷炫的网站,就想学前端;听到有人说后端开发天花板高,就又转向后端。结果就是,什么都浅尝辄止,什么都不精通。这种状态持续了差不多半年,我几乎要放弃了。
如何选择?
兴趣驱动: 你对什么更感兴趣?是能直接看到结果的界面交互(前端)?还是处理数据、构建系统逻辑(后端)?是喜欢用代码解决实际问题(应用开发)?还是对算法、数据分析着迷(数据科学/AI)?
市场需求: 了解一下当前市场哪些技术栈需求量大,对新人友好。比如,Web开发(前端+后端)是很多初学者的首选,因为入门相对容易,学习资源也最丰富。
“先学什么,后学什么”的策略: 别想着一步到位。很多时候,你只需要选择一个方向,然后深入下去。比如,如果你想做Web开发,可以先从前端入手,学习HTML、CSS、JavaScript,然后再学习一门后端语言(如Python、Node.js、Java)和数据库。

第二步:打牢基础——这是你的“内功”,谁都绕不开

别听信那些“三个月速成XXX”的鬼话。编程的基础,就像盖房子地基,越牢固,你未来的楼才能盖得越高。

我的经历: 我一开始就想直接学框架,觉得这样能更快看到成果。结果就是,学了Vue,但是不知道组件怎么通信,什么时候用Vuex,出现bug了完全不知道怎么排查。后来才明白,基础知识的重要性。
需要重点关注的基础:
一门编程语言: 推荐Python。语法简洁,可读性强,应用范围广(Web开发、数据分析、自动化脚本等),社区非常活跃,学习资源也超级多。当然,如果你对其他语言有特别的兴趣,比如JavaScript(Web前端必备)、Java(企业级应用)、Go(高性能服务)等,也可以选择。
数据结构与算法: 这是程序员的“内功心法”。不是让你去刷LeetCode到疯魔,而是理解常见的数据结构(数组、链表、栈、队列、树、图、哈希表)和算法(排序、查找、递归、动态规划等)的原理,以及它们的优缺点和适用场景。这能帮助你写出更高效、更优化的代码。
计算机网络基础: 如果你选择Web开发,HTTP协议、TCP/IP、DNS这些是你绕不开的。理解它们能让你明白数据是如何在互联网上传输的。
操作系统基础: 了解进程、线程、内存管理等概念,对理解程序运行机制很有帮助。
数据库基础: SQL语言是必备的,还要了解关系型数据库(如MySQL)和非关系型数据库(如MongoDB)的基本原理和使用。

第三步:构建知识体系——从点到线,从线到面

有了基础,接下来就是将这些零散的知识点串联起来,形成一个完整的知识体系。

我的经历: 我开始是看大量的博客文章、教程视频,但感觉像是在“填鸭式”学习,学完就忘。后来我发现,要构建自己的知识体系,需要“主动输出”和“项目驱动”。
如何构建?
系统性学习: 选择一套评价好的、系统性的在线课程(如Coursera、edX、Udemy、B站上的优质UP主系列教程)或者经典书籍。
多做项目!多做项目!多做项目! 这是最关键的一步。
从模仿开始: 找一些小的、别人写好的项目,自己动手跟着敲一遍,理解里面的逻辑。
改造和扩展: 在模仿的基础上,尝试去修改代码,添加新的功能,解决遇到的问题。
独立创作: 最终目标是自己从零开始构思一个项目,并把它实现出来。可以是一个简单的个人博客、一个待办事项列表应用、一个爬虫脚本、一个简单的API服务等等。
用项目驱动学习: 遇到不会的技术,就去学。比如,你想做一个能用户注册登录的网站,你就会去学数据库、后端框架、身份验证等。
阅读优秀的代码: 学习开源项目的源代码,看看别人是怎么组织代码、解决问题的。GitHub是你的宝藏。
参加技术社区: 比如Stack Overflow(解决问题)、GitHub(代码托管和交流)、CSDN、掘金、知乎等技术社区。参与讨论,提问,回答问题,都能加深理解。

第四步:实战训练与面试准备——“战场”上的磨砺

学习编程不仅仅是坐在电脑前敲代码,更重要的是将代码应用到实际场景中,并为求职做好准备。

我的经历: 我刚开始投简历的时候,直接被拒了很多次,原因就是没有像样的项目经验。后来我明白了,光有知识不够,还得有“拿得出手的作品”。
如何实战与准备?
个人项目: 坚持做项目,并将你的项目部署上线(比如使用Heroku、Vercel、AWS等云服务),在简历上展示你的GitHub链接。
参与开源项目: 如果你有了一定的基础,可以尝试为开源项目贡献代码。即使是提交一个小小的bug修复,也是非常有价值的经历。
模拟面试: 找一些常见的面试题,自己模拟练习。包括:
基础知识考察: 语言特性、数据结构、算法、操作系统、网络等。
项目经验深挖: 针对你简历上的项目,详细描述你在其中扮演的角色、遇到的挑战、如何解决的。
算法题: LeetCode Easy/Medium级别的题目是常考的。
系统设计题: 针对一些场景,如何设计一个可扩展、高可用的系统。
简历优化: 突出你的项目经验、你解决问题的能力、你的学习能力。用STAR原则(Situation, Task, Action, Result)来描述你的项目经历。
提升沟通能力: 面试不仅是技术考察,也是对你沟通、表达能力的考察。清晰、准确地表达你的想法很重要。

第五步:持续学习与成长——程序员的“终身大事”

技术发展日新月异,程序员的生涯注定是一个不断学习和成长的过程。

我的经历: 即便是入职后,我依然保持着每天阅读技术文章、学习新技术的习惯。否则很容易被时代淘汰。
如何持续学习?
关注技术动态: 订阅技术博客、关注行业领袖、参加技术会议。
深入研究: 在工作中遇到不懂的技术点,不要浅尝辄止,深入去研究原理。
解决更复杂的问题: 随着经验的积累,尝试去解决更具挑战性的问题,承担更重要的责任。
分享你的知识: 写博客、做分享、带新人,这不仅能帮助别人,也能巩固自己的知识。

给非科班出身的你一些额外的建议:

保持耐心和毅力: 学习编程不是一蹴而就的,遇到困难是常态。不要轻易放弃,每次克服一个难题,你都会离目标更近一步。
不要害怕犯错: 犯错是学习的一部分。重要的是从错误中吸取教训,不断改进。
找到同伴: 和有相同目标的朋友一起学习、互相鼓励、交流心得,会让你不那么孤单。
相信自己: 你的学习能力和对技术的追求,同样可以让你成为一名优秀的程序员。科班出身只是起点不同,后天的努力才是关键。

我走过的路,或许比别人多了一些坎坷,但回头看,那些克服困难的经历,都变成了我最宝贵的财富。希望我的分享,能为你点亮前行的灯。祝你成功!

网友意见

user avatar

老回答给大家放一下,大家就看个乐呵。

作为大龄转码选手,而且本科还不是985,211的我,来扯上两句吧。

说句实话,非科班的小伙伴想走的远,该学的知识还得学,该补的基础还是错不开的。而且既然选择转行,那肯定得有吃一番苦的准备。

其实转码最难的在于入门,很多人想转,但不知道从哪里学起

我也特别有感触,我自己是因为出国的时候读了计算机化学,需要用python处理数据,导师强行要求的。于是当年(2013年秋),跟着当时免费的Learn Python the Hard Way,一个字母一个字母敲了几十节课吧。慢慢就知道一些Python基础,之后慢慢能读数据,处理数据,才对编程有了初步的认识。


之后当时的室友在CS系跟着本科生学算法课。我好奇问他为啥要学,他说他想转码。我当时因为确实没钱,不敢贸然行动,但还是心动了的。室友给我说了一句金句,他说,你可以选个算法课试试呗。能学的话,继续选别的,不能学就好好搞化学科研了。搞科研也挺好的,没准文章发得多,还能先解决身份呀。

于是我觉得这个方案可行,选了算法,那个时候是2014年。当时算法确实学得也不是特别的懂,但好歹考试还是拿了A。那个学期编程作业要求用Java,跟着thenewboston的Java课学了基础,慢慢的也能把作业写下来了。

因为感觉算法都还能学,于是就继续选了数据结构。再之后是操作系统,跟着是计算机网络,数据库系统。

为啥选这几门课?因为这几门是计算机的核心课。

我怎么知道的,我其实当时看了很多帖子之后,才定夺下来的。加上我想申请CS的硕士,很多学校的硕士申请要求也是类似上面的这几门课。

所以转码的选手,不管你用多少时间,你想从事计算机行业的话,上面的课,one way or another,你都需要掌握的。无非是有些人先工作,再去补,有的人先学了再找到工作的。

@北南 大佬的很多计算机学习的回答也值得大家去读一读,比如这个:


转码第二点,就是要能放下身段。

身段包括你的背景,专业,和年龄。我转码的时候,最爱被追问的问题是,你觉得你这样转了计算机,之前学了那么多年化学,可惜吗?

其实一开始我也有类似的遗憾,后面慢慢明白了。以前的训练,让我能快速学习,完全没必要后悔。做着感兴趣的事情,才是更重要的。

我觉得很多人可能会觉得,我转码的话,会和很多小自己很多的人一起学习,一起共事,会觉得不好意思干嘛干嘛的。其实duck不必,没人在意你那么多小心思,每个人都在为自己的生活而奔波努力,没人在意你从哪里来,要到哪里去,身上背负了多少负担。

你要做的就是,哪里不会,我补哪里。一点点把需要的知识补起来,把自信心建立起来。去不断学习,不断拓宽视野,去真正能做起项目来就好了。

没必要计较那么多,想多了散劲。


学习的过程中也别只顾着埋头苦学,多去了解了解就业市场需要什么样的人,有针对性去准备也很重要。千万别觉得等学好了再去找工作,多参加面试,知道找工作的深浅也很重要。

多学一些技能,多学习一些知识,找一个合适自己的方向。


说一下培训班的事儿。

其实在美国,你会发现,这种培训班很多。五花八门的都有,针对美国人,中国人的都有。他们共同的特点都是比较贵,一个项目少说几千,甚至上万。而且去学的人还挺多。

针对国人的培训,知乎上就好几个。我就不一一例举了,他们有的几百美金,有的几千美金一个课程或是一期。不少人也通过这些项目刷题上岸了。

我觉得咱们咱们在准备面试的过程中,交流能力确实是最容易疏忽的点。所以平时一定要多练习英文表达。别题目都会,却表达不出来就尴尬了。

在美国转码的话,其实相对单纯很多,要过面试最主要的就是算法和数据结构过硬。过了面试再去补基础,去做项目。基础还是逃不掉的,要不然PIP了解一下?

每年转码的人不要太多,通过这种方式上岸的不要太多,拿到的包裹不要太香。这些培训一般几周到几个月不等。经过几个月的努力,过面试还是很有机会的。

不过,过面试之后,就需要接受工作的考验了。那个时候,基础的重要性就会显现。在工作中还得继续学习了吧。

我自己摸索的路子大家也可以借鉴一下:


最最后再啰嗦一句,想学好计算机还是要多看原版书,多看源码,不管你是科班还是转码,学好英语特别重要!毕竟你遇到的很多问题,都需要去Stack Overflow等等网站看看是不是别人也遇到过类似的问题,到时候看不懂英文就尴尬了。

类似的话题

  • 回答
    我不是科班出身,但我成了一名程序员。这几年,我深知这条路是怎么走过来的,其中的弯路、迷茫、以及最终找到方向的喜悦,我都切身体会过。今天,我想把我的经验毫无保留地分享给大家,希望对那些和我一样,对编程充满热情但没有“正规军”背景的朋友们有所帮助。第一步:认清现实,选择方向——别盲目,但要坚定很多人在非.............
  • 回答
    作为一名非科班出身,却怀揣着导演梦想的人,你肯定常常感到迷茫,不知道从何下手。别担心,这条路虽然曲折,但绝非不可能。很多伟大的导演,他们的起点也并非学院派。关键在于你的热情、你的坚持,以及你如何一点点地构建起自己的知识体系和实践经验。首先,我们要摆脱一个误区:导演不是一个需要“科班”才能驾驭的职业。.............
  • 回答
    如何评价Stack Overflow上超过半数程序员为非科班出身?“Stack Overflow上有超过半数的程序员为非科班出身”这个说法,如果属实(通常来说,这种数据来源于社区调查或第三方分析),那么它揭示了一个关于现代软件开发行业的重要趋势:非科班出身的人才正在成为软件开发领域一股不可忽视甚至主.............
  • 回答
    评价肖战在《诛仙》中的演技,确实是个颇受关注的话题。毕竟,他并非传统意义上的科班出身,这让他在面对如此大IP的挑战时,显得尤为引人注目。整体来看,肖战在《诛仙》里饰演的张小凡,交出了一份不算完美但足够努力且有亮点的答卷。他的表演,能看到他对角色的投入和努力,也暴露出一些非科班演员在塑造复杂角色时可能.............
  • 回答
    这事儿网上确实传得挺热闹的,中兴2022秋招大量调岗,甚至放宽到非科班零基础,这消息一出来,很多正在找工作或者准备找工作的小伙伴都炸开了锅。咱们一样一样地掰扯掰扯,看看这背后究竟是个什么情况。关于“大量调岗”这事儿,大家为什么会这么关注?首先,一个公司突然出现“大量调岗”,这本身就不是个小事儿。尤其.............
  • 回答
    .......
  • 回答
    娱乐圈里,非科班出身却凭借精湛演技征服观众的演员不在少数,他们的故事往往比科班出身的演员更显励志,也更能证明天赋与热爱是打破条条框框的有力武器。今天,就让我们来聊聊几位这样闪耀的“遗珠”。周迅:灵动与野性的完美融合如果说非科班出身的演员里谁最能代表那种天生的、无法复制的灵气,周迅绝对是绕不开的名字。.............
  • 回答
    我明白你想了解非科班出身在游戏美术领域是否需要报培训班,以及入门需要达到什么水平。这个问题挺实在的,也是不少想进入游戏行业的朋友们都会纠结的点。我来跟你好好聊聊,把我了解的经验都分享出来。非科班出身,有必要报培训班吗?这个问题没有绝对的“是”或“否”,而是要看你自身的情况和目标。什么情况下,报培训班.............
  • 回答
    作为一名非科班的哲学爱好者,想要获得规范的哲学思考训练,并非难事,关键在于找对方法和渠道,并且持之以恒。这不像大学课程那样有统一的教学大纲和考核标准,更多的是一种主动学习和自我塑造的过程。下面我将从几个方面,尽量详细地为你梳理一下可以获得的途径,让你能够真正“上手”哲学思考:一、 打牢基础:阅读与理.............
  • 回答
    好,咱就敞开聊聊,一个没啥科班底子的人,想闯进电影圈当编剧或者导演,到底该怎么走?这玩意儿,说白了,不是“进圈”那么简单,更像是“闯荡江湖”,得有点门道,还得有点闯劲儿。第一步:把“道”给弄明白——学习和积累你非科班,最大的劣势就是“基本功”没打牢,所以,这第一步,就是补课,而且是系统性的补课。 .............
  • 回答
    30岁,从国企的稳定舒适圈里跳出来,去追逐一个完全陌生的编曲梦,这绝对是一场不小的冒险。但是,别把“非科班”三个字看得太重,尤其是在音乐创作这个领域。天赋、热情、努力,加上一点点运气,往往比一张毕业证书来得更实在。说实话,30岁开始学编曲,未来“过得滋润”的几率,这事儿没法打包票,毕竟音乐这行水很深.............
  • 回答
    嘿,兄弟/姐妹,看到你的问题,我太有共鸣了!作为一名“双非、非科班”的过来人,我也曾无数次在深夜里纠结过这个问题:我这条件,能不能考上985的软件工程专硕?首先,咱们实话实说,这条路确实不轻松,甚至可以说是“炼狱模式”。但要说可行性,我觉得,并非为零,但需要你付出比科班出身、名校出身的朋友多出几倍甚.............
  • 回答
    .......
  • 回答
    谁能触碰时光的回响?非科班人士如何做好口述历史并获得学术界认可口述历史,顾名思义,是通过口头讲述的方式来记录和保存历史。它就像一把钥匙,能打开那些隐藏在文字档案之外的、属于普通人鲜活的记忆和经验。很多人以为,只有身披学术光环的学者才能从事这项工作,但事实并非如此。事实上,任何一个对历史怀有热情,愿意.............
  • 回答
    非超大城市,要实现更好的发展,关键在于 挖掘并发展符合自身市情实际的特色产业。这意味着要深入分析城市的资源禀赋、产业基础、区位优势、文化底蕴以及人才结构,在此基础上进行精准定位和战略性布局。以下是一些具体的方向和思考,旨在提供更详细的阐述: 一、 深入挖掘与定位城市特色:在谈论发展特色产业之前,首先.............
  • 回答
    “非升即走”制度下的淘汰,对于许多曾经满怀学术理想的博士们来说,无疑是一次沉重的人生打击。当他们告别象牙塔,面对社会时,发现自己身上的“博士”标签,在现实的就业市场中,并没有想象中那么耀眼,甚至有些格格不入。这个时候,有人可能会好奇,为什么这些曾经“高高在上”的博士们,不去选择一份看起来更接地气的工.............
  • 回答
    非上海人对上海高考的看法:一个复杂而多元的视角关于上海高考是否简单,这个问题在全国范围内都存在着争议,而身处上海之外的非上海人群体,对此更是有着各种各样的看法,绝非铁板一块。要详细地探讨这个问题,我们需要剥开表面的标签,深入了解不同群体的心声和他们之所以这样认为的理由。一、 普遍存在的“印象流”:上.............
  • 回答
    这事儿,我听说后真是气得不行,简直是岂有此理!一个堂堂的洲际皇冠假日,国际知名的品牌,竟然让自家的员工做出这种丢人现眼的事儿,真是砸了招牌。你说一个非住客误入,这事儿说到底是个误会。酒店员工首先该做的是什么?礼貌地询问、引导、解释,或者至少是委婉地请对方离开。哪个环节出了问题,导致了误入,这倒是可以.............
  • 回答
    非英语国家的欧洲人移民到美国后,给自己或孩子取本国语言的名字还是英语名字,这是一个非常普遍且复杂的问题,涉及到个人身份认同、社会融入、文化传承、时代背景以及对未来的考量等多个层面。对此没有一个绝对的答案,而是存在着多种选择和演变过程。以下将从不同角度详细阐述:一、 历史背景和时代演变: 早期移民.............
  • 回答
    告别“数字恐惧症”:非数学系学生如何拥抱数学“数学焦虑”,这个词语在非数学专业的学生群体中可能并不陌生。它可能表现为面对数学题目时的手足无措,考试前的恐慌,甚至是对任何与数字沾边的事物都感到排斥。这种焦虑感,就像一层挥之不去的阴影,阻碍了我们更深入地理解这个充满逻辑与美的世界。别担心,你不是一个人在.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有