关于问题有编程基础,辞职每天自学四小时编程,做 git 项目,刷 leetcode。会比大厂在职的程序员成长慢吗?一共有 5 位热心网友为你解答:
【1】、来自网友【老 Do 不卷】的最佳回答:
虽然不想打击有类似想法的人,但如果还带着学生思维学技术,大概率是要遭受社会毒打的。
如果还处于学习技术的阶段,每天四个小时并不算很高的强度。回想我十多年前刚开始学编程,每天 10+小时的编程也是有的,即使工作多年我也还保持每天学习的习惯。如果你真的热爱技术应该会非常的投入,进入所谓的心流状态。不用刻意纠结每天编程多长时间,四个小时可能也只是起步。
做 git 项目感觉这个说法有点业余,猜测是做 github 等开源项目的意思。那我可能会质疑你所参与的是不是真实的开源项目,价值几何,是 yy 自嗨的还是有大量真实用户的,参与的是核心还是边缘工作?另外远程工作模式对个人的自律和团队协作要求会很高,你是否能真的适应?
真正有机会主要从事算法工作的人,在整个程序员圈子里都是极少的。而且以我从业十多年的经验,即使没那么精通算法,也完全不会妨碍你成长为一个架构师。因此每天刷算题不是必须的,偶尔练习下保持感觉即可,除非你未来还是想去宇宙条等需要刷算法题的公司。
既然提到成长,那肯定是要有成长的环境。虽然说大厂也有拧螺丝的水货,但大厂有完善的技术体系和流程,复杂的业务场景,以及大量技术大牛和团队协作等适合成长的环境和资源。只要你自己足够努力,大概率会成长得很快。但所谓大厂并不是每个人都能进或者必须要进的,即使在一个普通的互联网企业,如果你承担更多的责任,每天面对的是复杂的业务问题和线上棘手的技术问题,你一样可以成长得很快。
虽然说在技术成长的道路上,自我学习的能力很重要,但是在真实企业的业务场景里锤炼肯定会成长得更快。因为技术是为业务服务和解决问题的,「木无本必枯,水无源必竭」,单纯为了技术而学技术不会有太好的结果。
【2】、来自网友【AI 算法交流圈】的最佳回答:
肯定会慢的,纸上得来终觉浅。不要说大厂了,可能比不过很多学习氛围比较好的中小型公司,只有自己去做商业项目才能明白用户需求,只有自己去把技术运用到实践中才知道突破点在哪。
闭门造车只是在原地踏步,如果是初级码农的话可能还有效果,但是到了中高级的时候,不是单纯的写代码就行了,后面你还要懂设计模式,跨部门的交流,厉害的还要在甲方提需求的时候挖掘潜在需求,这样就不要一天到晚改需求了。
然后如果想往技术深耕的话,除了架构师其实还有现在比较热门的人工智能行业,这是我们一个新的进阶路线,很多人都在说学人工智能就是转行,其实不是,我以前的目标就是架构师,后来我脱坑了。
人工智能核心就是算法,算法就是一个有智能的程序,我们本身就是搞程序开发的,我感觉就是我们技术深耕的另外一个方向。
知道我为什么现在有时间和你们在头条、问答上面闲扯吗?因为我训练模型的时候可以自由活动,搭建一个模型就几百行代码,然后看着计算机训练模型就行了。
如果有想往这个方向发展的小老弟可以找我私聊啊,我告诉你我的上岸经验
【3】、来自网友【互联网探索百科】的最佳回答:
首先,这样的情况是无法断定的,因为具体得看学的质量怎么样,以及做的 git 项目的质量怎么样。不过一般情况来说,仅仅是问题中的描述的话,成长还是相对会比较慢的。以下给大家具体讲一讲原因:
第一,经验。
程序员不论是否在大厂工作,通常都需要通过不断的工作或者项目来促进开发能力的提升,这个也是最为重要的,程序员要尽可能的接触到不同需求的项目或者工作,在不断的完成之后,会有所提升,得到的经验相比于自学还是会比较多的。
第二,信息资源。
对于程序员来说,比如从事大数据、人工智能方向的程序员往往都需要大量的软硬件资源作为研发的基础,而自学者很难能够获得这些资源。另外,大部分程序员的工作需要多个角色进行配合,在配合的过程中也能互相促进,不少应用级程序员就是在合作的过程中逐渐成长为研发工程师的。所以,交流对于程序员的成长往往会起到更加重要的作用。
综上所述,对于初学者来说,自学在短期内应该是有一定效果的,且效果提升应该也是很明显的。但倘若想要继续深入,还是要通过工作尽可能的给自己压力去学习。大家对此有什么看法吗?
【4】、来自网友【IT 人刘俊明】的最佳回答:
首先,对于程序员来说,岗位提升和自主学习是两个主要的成长手段,但是岗位提升往往会起到更重要的作用,所以并不建议已经具有编程基础的人完全通过自主学习的方式完成提高。
程序员不论是否在大厂工作,通常都需要通过不断的岗位提升来促进开发能力的提升,不论是从事业务功能实现的应用级程序员,还是从事平台设计的研发级程序员,都需要不断突破岗位瓶颈从而获得成长。
对于程序员来说,能力的提升不仅仅包括做项目刷代码,更重要的是岗位往往会给程序员带来更多的资源,比如从事大数据、人工智能方向的程序员往往都需要大量的软硬件资源作为研发的基础(比如深度学习对于运算资源就有较高的要求等等),而自学者很难能够获得这些资源。另外,大部分程序员的工作需要多个角色进行配合,在配合的过程中也能互相促进,不少应用级程序员就是在合作的过程中逐渐成长为研发工程师的。所以,交流对于程序员的成长往往会起到更加重要的作用。
最后,对于初学者来说,通过做 Git 项目是会获得一定提高的,而且短期内的提高还是比较明显的,做 Git 项目一方面会促进自己的代码规范性,另一方面也会积累大量的编程经验,通过 Git 也可以完成一些交流,这些对于初学者来说都是有较大帮助的。所以,不少在职的程序员也会参加一些自己感兴趣 Git 项目。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网方面的问题,或者考研方面的问题,都可以咨询我,谢谢!
【5】、来自网友【三号售票员】的最佳回答:
本人是一个前端工程师。我的观点:自学比大厂在职成长更慢。
分析一下,github 项目应该是指参与到开源项目的开发。这个我有一点发言权:我参与了 harbor 的一个较为独立功能的前端开发。
我学到了什么呢?PR 的分支管理?前端代码的整体架构?还是说变量函数的命名规范?emmm….其实都有学到一点东西。学到最多的估计是熟悉了 Angular 的代码并进行开发,毕竟在此之前,我都是 Vue 阵营的。整体来说,开源项目和实际项目有一定的差距。而且开源项目的逻辑复杂度并不一定不会比实际项目高。就算 harbor 有多语言配置、各种组件高度抽象。
再一个非常现实的问题,如何参与到开源项目?我的经历估计没啥可复制性:我司后端在工作项目中用到了 harbor,然后根据业务需求提出了新的特性反馈给社区,然后我参与到了其中。emm…开源项目经验也是来自于实际工作,就很现实。据我个人了解,开源经验一般是解决 issue、完成 feature、或者是在某个生态圈自己产出项目。这里面对开发者的要求也是一步步往上升。
leetcode 我不是很熟悉,不过在类似的学习平台上也做过些算法题。工作中作用蛮大的,建议去刷,过程中要着重看下别人的思路,涨见识!
最后说下,我为什么认为大厂的在职员工成长更快。
1.同事间互相补充,沟通更方便。项目有需要用到的新框架,新组件。可以直接在群里发个消息,基本上会有人知道,然后可以很快上手,解决问题。比如我之前调研了 xterm,实现了浏览器的 shell 功能。同事在其他项目里或新需求有用到,就不需要再去从头开始了解。比如我想把 ts 引到项目中来,有个同事之前在另外的项目实践过了。那我就可以少踩很多坑。
而一个人的话,碰到坑,基本只能去论坛、社区里求助;新知识需要一个人找资料、再去消化。当然,这样的获益会大一些,只是时间成本会大更多。
2.项目督促学习。每个 deadline,需要我们有完成需求,或者有文档产出。举个例子:我接手的项目需要我去调研 openShift 的 UI 项目。迭代出调研报告。那我就得去好好看,我还得思考怎么和实际项目结合起来。
自己学习的话,说实话,这里是非常大的坑。
很容易没有重点;或者说学到了东西,没有实践的机会,知识学到了也很容易遗忘。
ps: 工作的成长快,其实也有个大前提:不能只做一些重复的业务工作。
以上就是关于问题【有编程基础,辞职每天自学四小时编程,做 git 项目,刷 leetcode。会比大厂在职的程序员成长慢吗?】的全部回答,希望能对大家有所帮助,内容收集于网络仅供参考,如要实行请慎重,任何后果与本站无关!