学软件开发我该继续吗?

出来踏入社会一年了,得到了很多,也失去了很多。换了两份工作,不幸被辞。第一份是一个很有国企性质的私企,老同事看不起新来的同事(这不仅是我说的,比我晚来的一个同是应届毕业的也这么说)。在工作的时候说话不小心得罪人。打小报告被辞掉。第二份工作,凭良心讲,我是很努力的,在实现技术研究的当中,更多的是研究代码。周末还去书店看书,可惜领导没有看到。看我总结的研究报告不满意,找个借口把我辞掉了。
除夕逐渐临近,今天已经是大年三十了。想必家人把年货已经买好了,妹妹和弟弟的新衣服该买了吧。毕业后的第一个春节,我不回家了,我实在是没脸回家。
为什么这么不顺?其实更多的是从自身找原因。这个社会并不因为你而改变,缺少了你,地球照样转,你只不过是大社会里的一粒小沙子而已,所以好好适应这个社会。需要反思的太多了。好好想想将来的出路,今天的思想,思维方式,决定你五年后的成就。好好反省吧。以后别再这样过苦日子了。
我是不是应该去做销售?做软件开发的工作要求很高,虽然工资在年轻的时候很高,到了30多岁如果还没有当上项目经理的话,这辈子大概就没有什么太大的出路了,只能当程序员,过那种代码工的日子。销售对个人的性格方面要求很高,性格必须会察人观色,会说话。其实我的性格和我接触的一些人相比,打交道的能力还是可以的,说话还是略胜一筹。关键是自己对自己没有信心。从前段时间接那个单子都可以看出,自己还有自卑感。做什么事情一定要对自己有信心,在生活中,学会察人观色。把自己各方面能力提高上去。
我觉得当初上大学的时候,太过于坚持自己制定的原则了。这些原则太过于书生气,太过于自我,太过于把社会想象的那么美好。总以为自己读几年书就能改变自己的一生,其实没有必要,适应大环境,适应这个社会,顺应时代的潮流。出来才发现,现实这么残酷,残酷的我现在还得靠女友接济。没有脸回家过年。性格决定命运,细节决定成败。自己追求的理想,在现实面前如此的不堪一击。一定要改变。
怎么改变?最大的改变是自己心态的改变,抛弃原来的一些旧观念。太过于关注技术。
这个社会,依然是关系横行其道。技术再先进,在统治阶级的眼里只不过是是个工具而已。而那些搞技术工作的,无非是是一枚棋子。
我身高1米8了,可我对自己依然很自卑,这个自卑很大一部分是自己生理的缺陷,耳朵有点背,导致的说话不清,从小自卑感很严重,再加上自身的依赖性,不想着改变。到了高中,尤其是高中毕业,在父亲的教导下,自身缺陷有所改变了。在大学这几年,是我学生生涯当中最努力的时期,追求自己心中所谓的理想,梦想。大专的时候想上本科,自己就考了。几乎把大专的一半的时间放在学习上,那个时候,对未来充满着激情。可我努力才发现,自己在数学方面几乎没有什么天赋,已经很努力了,成绩平平,只知道用那些公式去套,难题很少能解决出来,却赶不上那些整天玩,的人。怀疑自己在计算机方面会不会没有大的发展。要知道搞编程的工作对于逻辑思维要求很高的。那个时候明白,可依然朝着自己的目标前进。如果再让我重来,我会改变自己的性格,发扬自己的长处,文学方面。不再学什么英语了,在工作当中是需要用到英语的,可很少,最主要的还是逻辑思维能力。到了本科,自己认识到自身的缺陷,追求一些东西。健身,看自己感兴趣的书籍,哲学等。从健身,让我身体比以前变的跟强壮,哲学让我对生活中的一些事情有了更深刻的认识。同时也对自身的缺陷更清醒得认识:1。说好听点,很执着,很坚持。说的不好听点是那种钻牛角尖的思维方式。拐不过弯来。2。说话有时候吐字不清,耳朵有点背。这个平时说话时多注意,多说话练习,半年多的时间应该能改变自身说话的缺陷。耳朵有点背导致有时候反应有点慢。4。做事情,说好听点,是做事情在没有把握的情况下是不会去做的,说的不好听点,对自己没有信心,很多事情是不需要靠经验,而是靠自信达到目的的。
对于现在,我面临的状况是,一边是销售,一边是技术。到底是搞技术好还是销售好?
心里真的没有底。很想通过销售,来深刻理解社会的潜规则。
销售,优点:喜欢和别人打交道,自己有时候很会说话。缺点:我没有做过,也不知道这方面到底有没有天赋,别人都说我自身吐字不清,有时候听不懂自己说话,不太适合搞销售。技术,优点:在同龄人当中,技术水平算不上太高,也算不上太低。找工作的几率要大点,如果在工作当中做软件开发的话,自己的专业知识不会荒废,会有所提高,发挥个人所长,充分实现个人价值,将来有可能的话,做到项目经理。缺点:自身逻辑思维能力不强,将来在技术方面没有较大的突破,不会成为技术高手。
做销售几年后成功可能是:1。在工作生活当中发现有较好的项目适合自己去创业,有可能大发,也有可能一无所有。2。当上销售经理,领导团队作战。3。随着自己交际能力的提高,越来越深刻的理解社会,拥有社会资源,其中最主要的是人脉。4。自己会过上让人羡慕的生活,拥有自己的一套房子和车子。5。当年龄大的时候,拥有人脉,自己可能会搞一些东西。6。发现自己在做销售,商业方面有较大的天赋。
做销售几年后失败可能是:1。发现销售不适合自己的性格,对一些东西,社会的规则从内心不能接受。2。销售时间做长了,当到了30多岁的时候,不想过那种整天出差的日子, 想稳定下来。3.销售的成绩是很一般。在公司排名不在前列。没有天赋。
做技术几年后成功可能是:1。自己的技术水平有较大提高。2。有可能当上项目经理,领导团队做技术研发。3。自己在工作生活中发现用户的一些需求,做共享软件。4。自己生活水平会有所提高,发不了大财,但是能过上那种很稳定的日子,小康水平生活。即有房,但不一定有车。5
做技术几年后失败可能是:1。对技术逐渐的不感兴趣,不想做,想做其他的,可除了技术,其他什么都不会做。2。随着自己技术水平的提高,换来的代价是,在现实中越来越不想和别人打交道,说话。3。加班的增加,工资的增加,透支自己的健康。4。软件开发行业有这么一说:三十多岁的搞软件要及时转行,不适合搞软件开发。当到了三十多岁时,自己除了会一门技术,其他什么都不会。没有一定的社会资源。没有人脉。5。当年龄逐渐增大,自己体力逐渐下降时,逻辑思维能力赶不上那些刚毕业的小伙子。
在搞软件开发的业余时间中,如果在条件允许的情况下,也就是业余时间即周末或晚上,摆个摊,做个小生意,也当是做销售练练手。赚一笔小钱。如果有机会的话,就转入做销售吧。
期待大家以自己的亲身经历,对08年毕业的 小弟指导,提供良好的建议。谢谢。

一份出色的自我介绍绝对来自于事前的准备与操练。

发自我介绍如何分段进击,事先架构一个完整内容

你带来软件开发自我介绍的内容,希望你们喜欢。

关于软件开发自我介绍篇一

月开始在北大青鸟学习,主攻。

完全掌握了软件开发的基本知

现在已经可以独立完成软件的开发工作,

件工程项目开发。相信在以后的工作和学习中一定会很称职的。

作为北大青鸟的一员很欣慰和自豪。

平时爱好打篮球,真是这样培养了我自信、乐观、积极向上

所以很多时候是在书店和书本朋友在

一起。但是这并不代表我内向。因为我爱好看书。

个人比较喜欢的一句话:海阔任鱼跃,天高任鸟飞。很荣幸

公司,请大家多多指教,很高兴于各位同事一起创造

编者按:无论从近期还是远期来看,传统制作业的一般岗位都面临着萎缩或者钱景不佳的情况。很多从业者都面临着职业转换的问题。而软件开发将是很长一段时间内前景最光明的职业之一,是很多人改行的首选。但是缺乏基础想要改行谈何容易?如果为了打下基础而放弃手上的工作专心进修但最后还是找不到工作怎么办?从化学工程师成功转行软件工程师的Austin Tackaberry也许能给你。在这篇文章中,他详细介绍了自己是如何一边工作一边自学最后成功找到一份软件工程师的工作的。

每当我开始阅读成功故事的时候,我都会马上去查找作者的背景是什么,希望能适合我。但是我从来都没发现那些人的背景跟我一致,所以我的很可能跟你的背景也不一致。

不管怎样,我希望我的故事能够激励其他人,同时能够充当一个有用的数据点补充到你的成功故事数据集上。

高中的时候(9年前)我上过VBA的课程。我在新生工程课程(7年前)中学习了一些C、Python、Mathlab以及Labview的知识。我从一所很好的大学毕业,拿到了化学工程学位,我的GPA成绩也不错(3年前)。离开学校(高中或者大学)以后我从来都没有编过程,直到去年我决定要去学一下。

大学毕业后,我在一家精炼厂拿到了一份工艺工程师的工作。在我改行到软件工程之前我一直在那里工作。

我喜欢解决技术问题,但我知道到了某一刻我还是要进入商业/初创企业世界的。我一直都有读MBA的想法,但每次看到顶级商学院的价格时,我的兴趣马上就没了。

2017年5月27日,我又上去Google了一下MBA,但是不知怎的就看到了软件工程方面的东西。而且这东西看起来挺适合我的。

对软件工程师的需求日益旺盛,工资水平也很高,而且也是进入到初创企业世界的完美行业,并不需要太多的启动资金。你需要知识一台计算机,而且你的机会(几乎)无限。

在这里你只需要有个想法,开始开发,然后展示给用户,再用一点点资金进行迭代就行,进入门槛也很低,其他任何一个行业都做不到这一点。在化学工程,基本上你需要有一间运营的工厂,或者需要很多钱去设计一家工厂,如果你有个新产品的想法的话。

我听说过有人辞职去参加训练营,但是我在网上看到这些情况越多,我就越意识到其实我完全可以自学,如果我够投入和专注的话。

你也许会提出不参加训练营的话岂不是会失去那里提供的关系网络和职业建议?的确,但是我很幸运,因为我生活在湾区,所以可以去出席一些回忆,在那里我建立了自己的关系。

此外,最糟糕的情况也只是我发现自己一个人学不来,真这样的话我再辞职参加训练营也不迟。

你需要有目标。尤其是如果你想一边干全职一边自学的话。如果你不给自己额外的压力的话你的学习就会一拖再拖。所以你需要给自己施加内部压力。你的目标应该是简单的、可量化的。你应该进行充分研究,提出合理的目标。我的目标是这样的:

在1年之内拿到一份薪水跟我现在相同或者更好的软件工程工作。

一旦你制订了目标,就需要一份计划来帮助你实现。这个时候你需要尽可能多地去了解别人的成功故事。当然他们的情况都不会跟你一致,但你可以从每个人身上吸取一些经验。我利用Reddit的子版块learnprogramming、FreeCodeCamp论坛以及Medium等资源来制订我的计划(并且不断修订)。

2017年5月27日,我决定开始我的学习编程之旅,下定决心之后我可以说是一个猛子就扎了进去。我决定每周的工作不能超过40小时,这样我就有时间在工作之后以及周末去进行编码。你很幸运,因为我把我的整个学习过程都详细记录下来了。

我的计划经过多次迭代之后,最终大概是这样的:

  1. 上一门计算机科学入门课程,对核心计算机科学概念有可靠的基本了解。

  2. 跟着freeCodeCamp学直到我自己可以开发出组合层面的全栈web app。

  3. 通过重构来清理代码,增加测试,专注于先进的概念。

我的计划一开始是非常简单的。那时候我认为自己应该按照Google的技术指南去学,所以我选了一门他们推荐的入门课程,Udacity CS101。

做出这一重大决策让我充满了能量。我一下班回到家就迫不及待开始编码而且直到上床前都不愿停下来。然后整个周末都是这样。Udacity CS101会跟踪完成百分比,这对我是一大激励。我每天编程完之后都要记录我们的完成百分比。在10天内我就完成了前面的75%。最后的25%侧重在递归方面,这对我来说有点难。总而言之,最后我用了20天完成了Udacity CS101。

我在上Udacity CS101的同时,还一边开始相当频繁地上Reddit的子版块去看。我我在上面了解到正在寻求改变职业的自学开发者在网上活跃是非常重要的。我决定用自己的全名在Twitter、Reddit、Stack Overflow、Medium以及Quora上面开设新的账号,以便在网上刷存在感。

此外,我还决定不再看Instagram、Facebook以及非编程方面的Reddit子版块,以免造成分心。我只有在查看编程相关的新闻和帖子时才会翻看我的手机。这一点很关键,因为可以确保我能找到最好的学习路径和学习资源。正是因为这样我才在edX上发现了Harvard CS50。

一开始我只是满足于上一门入门课程,但每个人似乎都推荐Harvard CS50,所以我决定再试试这门课程。其他学校计算机科学的学生也上了这门课,并且说他们在哈佛的CS50上面学到的东西比在自己的大学学习1、2年的计算机科学所学到的东西都要多。大家的普遍共识是这门课程很难但是值得。到了第0月的月末,我已经完成了前5节课以及家庭作业。

大概到了这个月的一半时间时我终于完成了CS50。关于学CS50的体会我不想谈太多,因为我已经在这篇文章详细谈了我的。

总而言之:这是一门很棒的课程,我高度推荐。David Malan是一位优秀的讲师,而且有很多资源可以帮助你通过这门课程。你从C语言开始,然后再到Python,最后完成web开发。安排非常紧凑,涉及大量材料,但我认为是非常值得的。

在CS50之后,我决定把我的XPS 15配置成Windows和Ubuntu双启动。那是一个令人沮丧的周末。我把分区搞砸了,笔记本几乎变成了一块砖头。我差点就想把那台笔记本扔了买台新的。

我慢慢放弃了Windows,最终主要以Ubuntu作为平台。我想强迫自己适应一定程度上可行的命令行方式,但是仍然有很长一段路要走。

我开始了百日写代码之路,以确保自己保持专注和每天都写代码的节奏。记录自己的进度非常重要。如果你每天都能取得进展,尽管看起来似乎不大,但是日积月累之后回过头,你就会意识到其实你已经走了挺远了,而这又会激励你继续前进。

我知道,关系网络决定了我的成败,所以我鼓起勇气参加了自己人生中的第一次编码聚会。我此前从未参加过任何聚会,更不用说编码聚会了。所以一路上我都非常紧张,以至于开车到那里停好车走进门之后,几乎就想转身离开回家了。

这是那个团体的第一次聚会,这一点很有帮助。我迅速意识到自己没理由紧张。大家谁都不认得谁,没人来这里是为了给别人下结论的,每个人都渴望学习。而这只是一场聚会狂欢的开始。在9个月内我最终出席了超过50场聚会。

很高兴,我很早就开始参加聚会。大多数人只是在寻找工作的时候才开始出席聚会,但到那个时候几乎已经太晚了。要早点参加的理由太多了。这里仅列举少数:

  1. 培养关系需要很长的时间。早点开始意味着后面找工作的时候你保证可以有关系可以依赖。

  2. 跟陌生人讨论编程时准备面试的很好手段。

  3. 你可以学习新的框架,了解到走走你前面的那些人的学习资源。这些会影响你的未来学习计划。

我的编码之旅走到这个时候出现了一点不确定性。到这时候我需要决定自己想要成为什么样的软件开发者。

到最后,我选择了web开发,因为它的需求似乎非常旺盛么热切网上有很多资源。一旦我想明白了这一点,我就需要弄清楚接下来要做什么。一些人建议到这一阶段我应该考虑想要开发什么样的web app然后继续。一些人向我推荐The Odin Project或者freeCodeCamp。

那个负责筹划我每周都参加的聚会的家伙会Ruby,也想用Ruby做项目。我决定全身心投入到The Odin Project里面,这是其中的一大原因。

然后2天之后我又决定放弃这个想法了。

这就是走自学路线的缺点之一。一分钟前你以为你已经找到了前进的方向,然后第二天你又会怀疑你有没有走对路。

我了解到Ruby正在失宠,并且通过搜索对比Ruby和JavaScript的就业机会来证实了这一点,所以我最后决定开始freeCodeCamp。freeCodeCamp比较令人困扰的一件事情是项目的想法是他们想出来的,所以每一个参加训练营的人都做相同的项目。然而,一开始我感到担忧的是我希望能做应聘者当中脱颖而出。然而,我最后还是爱上了freeCodeCamp,现在我高度推荐你们要学这个。要想了解更多我关于freeCodeCamp的体验和推荐,请参考我的这篇。

我开始读《》,因为每个人都推荐它作为freeCodeCamp的补充。我被迫重读了好几个章节,因为它的内容特别紧凑,但这是学习词法范围、闭包、预定等你听到也想学到但因为很难从未试过的有关JavaScript的一切的完美资源。

我完成了freeCodeCamp的前端部分的学习。其检查表格式以及估算完成时间起了不小的帮助作用,这激励了我要迅速完成。我还恨不得马上进入下一章节去学习React。然而,这也意味着我的项目都是极简风格。我除了竭尽所能去实现用户故事之后就不再做别的东西了。

事后看来,也许我应该把精力放在让项目更吸引人上面。也许这会让我更深入了解CSS。

下一步就是学习React,我忙得差点缓不过气来。

我已经听说过React的很多,并且已经准备好要成为酷小孩的一员了。然而,我还有一点踌躇,因为当时的许可问题。我真的很高兴这不再是问题了。学习React对我来说很困难。当时我还没有发现任何好的教程(但是现在似乎到处都是)。

我尝试阅读文档,按照Facebook的一字棋教程去做,但我其实不是很理解它是怎么做的。我被告知这不适合我,这意味着我对JavaScript的理解还不够。于是我又返回来继续读《你不懂JavaScript》,但再次地,里面的内容对我来说太高深了。

最后,我决定去做freeCodeCamp React项目练手,看看它究竟是怎么做的。写出来的代码很难看,但的确帮助我更好地理解了React。

我参加的每周聚会决定全栈都用JavaScript而不是Ruby来做项目,并且他们还确定了第一个项目将是给这个聚会小组开发一个网站,公司的DevOps/测试角色,是份合同工

    一家B轮的视频分析公司

    一家相当大且成功的初创企业,最近刚被一家大企业收购

我通过了其中两家HR的筛选,但是对方都没有要我去现场面试。当然我对这3个电话都比较满意,从中也学到了很多东西。

网上的每个人都提到初级开发者不要指望一开始就了解那么多,他们只需要对学习抱有激情和兴奋就行。所以我认为这是很简单的。我对学习就很有激情和兴奋感。不过我从这些来电中学到的是,没人会找一位初级开发者。他们希望你从第一天开始就知道该怎么做。

这些电话教会了我需要:

    从第一天开始就足够好,能给对方带来价值

    要足够自信说服他们我能从第一天开始给他们增加价值

第8个月——夜班,Redux,开源,现场面试

从这个月开始我除了全职工作外还上夜班——每周6天,每天12小时,从下午5点到凌晨5点。

我知道这个月我没法做那么多事情了,但是我有自己的目标,我想实现它,这样的话我就可以有一个月的空了。

我用Redux重构了jobSort(),令人惊喜的是这没有我想象的那么难。我收听了很多关于它的播客,也去读了关于它的博客,但是那些理论都没有太大的作用,直到我开始使用。

我真的非常喜欢Redux的数据流处理。现在看到有人抱怨Redux是很有趣的。我并不认为我有神马资格发表什么观点,但是我的确喜欢reducer模式。

这个月本来我的打算是做开源的。我计划是要做我的第一个开源贡献,这本来是对一个很好的库的一个很好的贡献。我打算给React写点东西!

每个人都说这个代码库很难读,更别说给它做贡献了。但我需要脱颖而出,我需要凸显独特。我知道我的贡献不会非常显著,但我还是想去做。

我会从阅读所有的文档开始,然后再去了解代码库。查看每一个问题,每一份新闻稿。完整阅读React文档是一次很好的练习,很高兴我做到了。但我迅速意识到给React做贡献的问题是“好的第一手问题”其实并不多,因为问题很快就被人抢走了。

一次我去参加聚会时,Anthony Ng建议我可以试试Downshift,那是Kent C. Dodds开发的一个自动完成库。这成为了一个游戏改变者。这个东西正好适合我发挥。难度合适,问题数量也合适,协作者也不太多,超级帮忙的维护者,整齐且经过很好测试的代码。除此以外,它还是我的jobSort()应用遇到的一些问题的完美解决方案。

这个月中的时候,我收到了上个月申请的一家公司的电子邮件。他们进行了一轮初步的电话筛选,然后是技术电话筛选。他们正在寻找的技术正好是我学过的——React、Redux以及D3。我主要谈了我的项目以及为什么我要做出特定的决定。此后,他们让我去现场进行面试。这是我的第一次现场面试!

我根本就没有为面试做过准备,所以我的期望很低,并不指望能拿到那份工作,但是我会收获宝贵的面试经验。因为我还在上夜班,所以每天的睡眠时间只有3个小时。幸运的是,技术部分不是写白板,而是1个小时的结对编程。这是相当直截了当的挑战,但是我非常紧张。

一开始的时候,我担心的是要确保我不用查东西也能了解一切。当我意识到自己没法完成挑战时,马上就意识到自己需要停止担心面试官会怎么看待我的事情,于是我就去Google/Stack Overflow上面找答案。我最后没有完成,预期自己会有一个悲惨结局。

既然我认为我的结对编程已经失败,在面试的剩余时间自己反而放松下来。最后,我昂首挺胸地离开了面试。最糟的情况下我也收获了宝贵的面试经验,最好的情况是我会得到我的第一份工作。

从我决定改行深入学习编程的第一天开始,经过9个月零7天之后,我终于拿到了第一份工作邀请。因为第一次面试就拿到了一份offer,我感到自信满满,但与此同时,如果我不接受这份工作,如果这会是我几个月内收到的唯一一份offer的话该怎么办?我最终接受了那份工作,并且对我的决定感到满意。我希望能够通过写代码挣到钱!

到这里,我基本上已经把我的故事分享得差不多了,其中也提供了一些建议。如果你读到本文的话,很有可能不是在考虑改行就是为了改行而在学习编码的过程中。我希望下面的建议能够帮助你制订计划或者坚持目前的计划,最后达成你的目标。

找到激励你的东西并善加利用。对我来说,这个东西是检查表,对过程的记录,以及跟不同编程社区的互动。如果你没有受到实现目标的激励的话,那任何其他东西都不重要了,因为你完成不了的。

    制订目标并且实现目标。要我说你应该有月度目标,甚至有每天的目标更好。月度目标是为了确保你走在实现主要目标的正确轨道上,每天的目标则是为了确保你每天都能取得进展。对我有用的一个策略是前一天晚上制订次日的目标。这样的话你就不会一整天都去做没有生产力的事情却又觉得自己取得了进展。这会迫使你将每天的成就与每天的目标进行比较。

    尽早参加聚会活动,不要等到觉得自己准备好了才去。参加聚会也许令人心生恐惧,就像我前面提到过那样。但通常每个人都是很好的,并且愿意帮忙。你也许会发现有的人对跟你讨论没有兴趣,但那是少数,而且没人喜欢当判官。此外,每个人都喜欢提供建议(就像我现在所做一样)。

    尽早给开源做贡献,不要等到你觉得自己已经准备好才做。刚你开始编程的时候,Github似乎是个你永远也不想去的可怕地方。但其实那里是非常欢迎初学者的,而且也是学习好代码以及让别人审核你的代码的好去处。如果你仍然不相信,不妨看看我的文章《为什么你现在就应该给开源做贡献》。

    尽早申请工作,不要等到你以为自己已经准好了才去。这一条对我而言很困难,因为我认为我不一样。我认为我不需要去市场试水一下看看是什么情况。我以为我已经知道自己什么时候已经为申请做好了准备。现在我告诉你。你不会知道什么时候可以去申请。所以其实你可以现在就去申请。当然,你不应该连for循环语句都没学就疯狂去向300家公司提出申请。但你应该知道的是,了解自己应该学什么的最好办法就是去申请工作并且去试探一下市场。

    好了,现在该你上场了,去写代码吧!

    编译组出品。编辑:郝鹏程。

我要回帖

更多关于 自学软件开发 的文章

 

随机推荐