本人于2010年开始从事WEB领域相关开发岗位,先后从事过ASP#net、php、JAVA、前端、项目管理、技术总监等岗位。参与研发重构互联网产品60多项,领导负责项目12例。职业生涯算是中国互联网中生代开发者中比较常规的路线选择:初级工程师>中级工程师>高级工程师>全栈工程师>项目管理>技术团队管理,曾经也的在A/T等厂子工作过,也完成了基础的财富积累。总体来说不算成功,但也是实实在在享受到了互联网和资本带来的红利。
最近受到贸易风波的影响,很多朋友和网友都有向我询问过如何才能转行进入互联网行业发展,而问的最多的就是怎么才能成为一名developer(开发者) 从而进入这个看起来很美好的高薪圈子。所以今天我就把我成长经验和对于要不要成为开发者的看法梳理总结一下,希望能够帮到屏幕前有同样想法和疑惑的朋友。
每一位想要踏入这个行业成为一名开发者的朋友, 一定要问自己这个问题。 为什么想要成为一名开发者?
记得在07 08年的时候,大学最热门的专业是法律、土木、金融、贸易、财会这些方向。选择计算机科学、软件开发、信息工程这些专业的同学算不上是主流。我还记得选专业的时候曾被有一位亲戚关切的阻止过, 理由是: " 玩电脑, 开机关机这些还用去大学学习? 还是跟你表哥一起选土木“ 原话大概就是这样。
现在回想起来当时选择这条道路的原因有3条:
计算机互联网很神秘,有很多未知的领域可以探索,这很酷。让我很好奇。做开发的话应该不需要和别人应酬、喝酒。我讨厌酒局和繁琐的社交可以光明正大的拥有自己的电脑,玩游戏。(这是真的,那时候不像现在上大学人手一个笔记本。那时候还是买个台式机搬去了学校)这两年我问过很多想转行的朋友和网友,大部分人都很坦然的表示只是因为薪资真的很高而已,很干脆也很纯粹,不论你内心的答案是什么,一定要有一个明确的目的,并且时刻提醒自己。
不知道从什么时候开始,月薪过万已经成了一个普通刚毕业的年轻人所追求的目标。
一、实实在在的薪资
2010年我刚毕业的时候第一份工作工资是2500元,那时候在老家的地方政府作为一名体制外的php开发人员。属于放羊模式,有大量时间去研究新技术自己瞎折腾,也没人管我。一年之后开始北飘,在后续的几年里就是北京 上海来回折腾。2018 年底我突然发现,算上各种名目,自己的收入比最开始提升了将近20倍。是的,造成这种情况的原因除了自身的努力和积累,更多是因为在15年开始 大量资本涌入互联网。
二、自我成长的满足感
很多朋友都说他们的工作没什么技术含量,随便来个人学一两个月就能替代他们的工作,所以经常晚上会象征性的焦虑一下。做开发完全不用担心,因为有学不完的知识等着你,学到手的别人也没法从你脑子里偷走不是。在我看来很公平,不需要靠家庭背景,不需要拼关系,也不需要送礼、陪酒、刻意奉承。技术到位了只要不是特别没情商,基本都能获得和自己付出一样的回报。每一次自身技术实力的提升都能带给你正向的反馈,激励你继续提升自身实力。
三、能够及时洞察各种新风口
作为互联网开发人员,每天都会主动被动的接收到各种最新的互联网资讯。在这个信息爆炸的年代,你所处的圈子决定了你的信息来源和质量。开发者自己的圈子中充斥着大量的互联网资讯,你所参与的项目都需要你对其业务和整体流程有一定的了解。要是愿意观察和思考你可以比该业务线上的的大部分普通员工都了解他们的业务模式,如果有一定的志向,这些业务模式和行业信息都可以给你之后创业提供参考。
天赋能够决定你的上限,后天的努力决定你的下限。
一、 能够忍受孤独并且坐得住
做开发是一个需要静下心来的事情,不论你是学习、coding、思考业务梳理逻辑、debug、review,这些都需要静下心来长时间的思考和专注的行动。当然,有的朋友说自己就是坐不住,干什么都静不下心来,性格就是这样,还能做这行吗?其实也是可以的,因为可以通过后天的有意注意的克制、练习来进行修正和提高的。我小时候老师都说有多动症,也都是自己一点点修正过来的。
二、对计算机/编程/互联网感兴趣
在这些年的通过观察和总结发现,圈子里能真正把这份工作坚持做下来,并且越做越好的朋友,大部分内心深处都是对编程这件事本身有兴趣的。当然,还没有接触和了解这方面的话,兴趣也就无从说起,因为兴趣是需要对这件事有认知,然后通过一次次的正向反馈积累起来的。刚开始只需要有好奇心就可以,就是有最基本的求知欲就是可以的。毕竟正式工作之后如果一点兴趣都没有,那每天都是非常煎熬的,因为实际的业务开发并不是一件非常好玩的事情。
三、有一个良好的心态来应对困难
其实学习编程本身并不难,只不过很朋友把这个过程想的过于美好,并没有做好心理准备。学习的过程中会遇到很多的困难和打击,放平心态去面对它们。因为困难是一时的,办法总比困难多,能够让你蜕变成为大神的也正是这些困难和障碍。后面会列举几个最现实也是最常见的困难给各位朋友参考。
只有流过血的手指才能弹奏出世间的绝唱 ---泰戈尔
学习目标和知识体系的建立 编程领域的分类非常多,从硬件到软件,从工业到互联网,从底层语言到高级语言。对于大部分没有基础的朋友来说,选择编程的门类和学习方向是第一步。我是海牙,一只来自北方的咸鱼,希望我的分享能够帮助到你。关注我的公众号: WEB技术战线 ,里面有更多的学习资料、技术资讯,心得分享。
如果你真的做出了一些东西,在面对那些令人眼花缭乱的理论知识,或是和你相似甚至比你做的更糟糕的人时大可不必谦虚。在一天结束之时,正是那些在战壕中的开发者——构建、测试和开发了代码的人,真正做了事情。
这些事情可以帮助新手在他们漫长的旅程中学习编程。我知道我还有更多东西需要学习,并将继续学习如何永远地学习。最重要的事情说三遍,请继续,不要放弃,不要放弃,不要放弃。
Javascript代码异步执行的场景,比如ajax的调用、定时器的使用等,在这样的场景下也经常会出现这样那样匪夷所思的bug或者糟糕的代码片段,那么处理好你的Javascript异步代码成为了异步编程至关重要的前提
以买苹果为例说明程序员如何解决问题。程序员需要对问题进行透彻的分析,理清其涉及的所有细节,预测可能发生的所有意外与非意外的情况,列出解决方案的所有步骤,以及对解决方案进行尽量全面的测试。而这些正是我认为编程难的地方。
Google Blockly 是一款基于Web的、开源的、可视化程序编辑器。你可以通过拖拽块的形式快速构建程序,而这些所拖拽的每个块就是组成程序的基本单元。可视化编程完成
成为伟大的程序员,需要付出许多编程之外的努力。我们的大脑是有限的,每天要应付的问题复杂到足以让人精神崩溃。当工作不顺利时,多少都会有些冒名顶替症候群的感觉。
推荐8款最好用的前端开发工具供美工或者前端开发人员使用,当然若你是NB的全栈工程师也可以下载使用。Web前端开发最常见的编程软件有以下几种: 在前端开发中,有一个非常好用的工具,Visual Studio Code,简称VS code
学编程现在看起来挺简单,因为网上有丰富的各种资源。然而当你实际去学的时候就发现,还是很难!对我来说也一样。但从某天起,我决定认认真真学编程一年。后来又过了一年,又过了一年又一年……我好像有点感悟。
命名最好遵循驼峰法和下划线法,并且要清楚的表达变量的意思。相对于驼峰法而言,我更喜欢下划线法。下划线法可以更清楚的看出这个变量表示的意思。比如aBigGreenBanana和一个a_big_green_banana。
每隔几个月就会出现一篇文章表明:CSS并不是真正的编程语言。以编程语言的标准来说,CSS过于困难。使用这门语言会很有创造性:事实确实如此,CSS不同于传统的编程,且具有缺陷,同任何标准化编程语言相比
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!