文档章节

如何在没有实际项目开发经验的情况下找到一份软件开发的工作

LeviDing
 LeviDing
发布于 2017/04/27 13:32
字数 2989
阅读 60
收藏 1

原文:[How to Land a Development Job Without Experience](https://www.sitepoint.com/land-development-job-withou t-experience/)

作者:Paddy Sherry

译者:LeviDing

声明:转载请注明出处。

 

  许多开发人员在找工作的时候,虽然满足了对方所要求的理论技能,但是缺乏实际的开发经验,这让雇主在是否雇用你这个问题上犹豫不决。在这篇文章中,具有丰富招聘经验的 Paddy Sherry 为你提供了一些指南,来帮助你提高找到工作的体会。

此处输入图片的描述

  对于许多年轻的计算机或 IT 相关专业毕业生,在没有实际项目开发经验的情况下找到第一份全职工作可能是你在职业生涯中遇到的最大的挑战。

  当你刚毕业的时候,你很容易认为自己知道超级多德有关软件开发的知识,并且能够顺利地找到一份工作。你可能在学校的成绩很高,做了一个了不起的毕业设计,并且研究了最流行的技术和 JavaScript 库。

  然而,除非你在十几岁的时候就展现出了超凡的编程能力,并且已经与一些雇主建立了联系或者有在某公司的实习经历。否则你在找第一份工作的时候都是要花费一些时间和精力的。

 

为什么找第一份工作这么难?

  现实中的 Web 和软件开发和你在学校那种环境下所学的是完全不同的。

  可能你已经在学校和同学们做过周期长达12周的项目,但是真正工作中的团队协作与你在学校中经历的协作有着很多不同的地方。在团队中,每一位成员都彼此团结一致,为项目的交付而努力。这就意味着你必须要理解好在项目中负责的那部分,并按时向代码库中提交符合规范的代码,在规定时间内进行交付,同时需要确保你负责的功能在所有环境中都能很好地发挥作用,而不仅仅是你的本地机器。

  在实际工作中,很多项目是前人做好的,那么即使对一个经验丰富的工程师来说马上去修改和使用这些代码也是十分困难的。学习项目结构,理解前人的代码并在不破坏项目其他地方的基础上修改代码是有难度的。公司在花钱和时间来找新员工,所以他们不想在试用期的时候就在你这样一个初级开发人员身上花费精力。

  在你自己或者学校的项目中对 bug 的容忍度还是比较大的。但是这些 bug 在现实的工作中则是绝对不能容忍的。公司的整个软件发布流程的任何一个环节都涉及到公司的利益,在整个软件发布完成前,你的任何 bug 都可能影响公司的收入和形象。产品的每一个版本都需要进行相关测试,要保证产品具有较高的性能,较高的安全性和可拓展性。这也就需要你对产品所涉及的领域和产品开发过程中必要的测试等内容有很好的把控。在你职业生涯之初时你很难全面的掌握这些知识。

  综上所述,你可以去认真的提高自己以上几个方面的能力。当你再发现有公司招聘初级开发人员的时候,你所掌握的这些将会成为你的优势。

 

决定好你主攻的编程语言

  五花八门的信息、计算等相关课程只能让你对 web 开发、软件工程、数据库、网络、用户体验、架构和业务发展等方面浅尝辄止。刚毕业的求职者们的一个常见错误就是把这技术统统罗列出来。

  任何一个招聘人员,当看到写着精通 Java、c#、Python、PHP、Ruby、Javascript 等的时候都会毫不犹豫的将注意力转移到下一份简历。你可能擅长其中的一个或两个,但是精通那么多种编程语言远不是你一个初级开发者所能达到的。

  缩小你的技能范围,决定好你要主攻哪种编程语言。

  因为后端语言不太容易改变,所以如果你选择软件开发方向,选择一个语法严格的语言(如 Java、c# 或 Python)比较好。如果你想选择 Web 开发方向,那就选择 PHP 和 Ruby。这些将是你职业生涯的基础。再学习一些前端的知识如 JavaScript,你将成为一名全栈工程师。

  你缩小了你的技能范围,但是这表明了你对某项技术更加的专注,同时在你接下来的职业生涯中,你可以去选择专攻前端还是后端。

  雇主更喜欢能够灵活应变的员工(也就是让你干啥你就能干啥呗)。

 

为你自己搭建一个展示个人作品的网站

  面试官不会问你在大学学习了那几个方面的只是,因为这样很难在面试中真正了解你的技术水平。他们想知道你的开发经验,虽然可能你的经验并不丰富,但是你为自己做作品集的过程也是一个开发经验提升的过程。

  如果你没有任何作品来展示在你的作品集上那也没关系。注册一个域名,搭建一个服务器,安装一个 CMS,创建一个账户,搜索引擎提交,添加谷歌分析等都是建立一个网站的必要组成部分。在这个阶段,网站流量的获取和影响力不是你主要考虑的东西。

  如果你已经建立了一个个人网站,那么很可能你的朋友或者家人了解到也有别人有类似的需求,所以这就又是一个丰富你作品的机会啊。这将让你有机会在为别人干活的同时不断历练自己。这也让你更接近实际的项目开发,同时还提供了一个相对没有风险的提高技能的机会。

  通过以上这些经历,将使你在面试中有东西可说,同时如果面试官认为他们有一些小网站你可以来做,那你的表现就更有可能给面试官留下深刻的印象。

 

制作一个产品或者小插件

  在你搭建个人网站的过程中可能会遇到一些这样或那样的问题,而这些问题通常可以通过一个小插件或者 JavaScript 库解决。然而如果你没找到可用的解决方案或者你有需要进一步开发的解决方法,那么这就是一个超过与你同水平的开发人员的好机会。

  然后你需要找到一种方法来解决这个问题,再对其进行包装,让用户可以很方便的使用。例如一个 WordPress 插件或者开源的 GitHub 项目。

  这将会进一步提升你你的技能水平。因为你已经从为自己做小东西转变到了独立创建项目。能够去思考其他产品或者设计师的需求。你的插件和代码有机会被收入到更大的项目当中。

  这就是能够吸引面试官的一个亮点,因为你做的这些更接近实际的开发。在一个真正的开发团队中进行开发时,你会负责一个大的应用程序的一小部分,你要确保你的代码在集成到项目中时不会出现任何问题。   另外的一个好处就是,你可以对你插件的使用进行收费,作为你努力赚取的一点额外收入。

 

参与网络社区

  除了技术能力,雇主还希望看到能够证明热爱你的工作的证据,因为现在技术变化的太快了,你必须能够多多的投入个人时间,来提升你的知识。你需要能够了解到新兴的框架或工具等的变化趋势。最好的方法是阅读博客,多逛一逛软件开发网站。当你在其中能够有一定的贡献的时候,你就可以去做一些评论,提供一些你的想法。如果你能帮别人解决一些问题,那你的社区贡献度就会飙升。

  你可能会认为雇主在筛选候选人时不会在意这一点,然而他们会。去查看你在 LinkedIn、GitHub、Stack Overflow 等账号致力于你的研究方向的证据的公司并不罕见。顶级团队甚至会要求求职者在 Stack Overflow 社区中贡献度不能低于多少值。因为没有什么能够比从你为其他工程师提供的建议中更能证明你的水平了。

 

将你的代码都开源到 GitHub 上

  把你所有的代码都放到网上,让全世界都可以看到。这将会让你有更强的批判性思维和分析能力。同行对你代码的评论和提出的问题是你们开发团队来发现错误并及时修复错误来保证产品质量的重要方式。如果你早就习惯了这一点,你就会发现在进行代码审查时不会有任何问题,并且你会在商业环境中有建设性地反馈意见。

  同时,这也提供了一种来看你写的代码的方式。你解决过的问题和你做过的项目说来容易,但当一个高级工程师看了你的代码后能够在另一个层面上增加他对你开发能力的信任程度。

  你潜在的团队成员也有机会去阅读和检查你的代码,你的设计模式,和你清晰地代码提交记录。最重要的是,它表明你熟悉版本控制,软件产品的核心以及团队的建立。

 

总结

  • 毕业后在没有实际项目开发经验的情况下找到你的第一份工作是一个艰巨的任务。但这也有行之有效的方法来提高和吸引雇主的注意力。
  • 选择一个后端和前端语言,创建一个网站,然后做一个插件。多看一些博客和网站,并做一些评论,提供一些你的想法,不要害怕别人会说什么。
  • 把你所做的项目和实用的小工具等都放到 GitHub 上。
  • 记住每个人都一样,拥有等量的资源和机会。参照本文中的要点,在你有耐心的时候好好坚持下去,最终一定会得到高薪的工作机会的。

 

此处输入图片的描述

欢迎扫描上方二维码关注 公众号: LeviDing 订阅实时动态。

本文首发于我的 个人网站 LeviDing ,更多内容欢迎关注我的个人网站。

© 著作权归作者所有

共有 人打赏支持
LeviDing
粉丝 0
博文 1
码字总数 2989
作品 0
武汉
前端工程师
私信 提问
给所有想从事软件研发的年轻工程师的忠告与建议

点击上方“程序人生”,选择“置顶公众号” 第一时间关注程序猿(媛)身边的故事 图片来源:Fargo Season 3 一、我为什么写这篇文章: 这几天,在某个IT论坛的软件培训与认证栏目中,看到了很...

csdnsevenn
05/02
0
0
开发者大多靠自学,还需要大学学位吗?

根据Stack Overflow网站2016年开发者调查发现,有 56% 的开发人员没有计算机科学或相关领域的大学学位。开发人员最喜欢学习的方式是“自学”(至少 69%的受访者表示他们是部分自学; 而13%...

两味真火
2017/03/01
4.3K
52
编程如何入门(创世纪新篇)

万事开头难,人人 都梦想成为像比尔盖茨,乔布斯这样的编程大师,但进入软件开发领域也是很艰难的,就像一个神学院的学生不知如何祷告。当然,如果你还是一名刚刚入门的程序员,那么我相信你...

crossmix
2015/09/22
93
0
如何在编程生涯中有一个好的开端

想要进入软件开发的领域其实是很难的。当然,如果你还是一名刚刚入门的程序员,那么我相信你深刻理解没有经验或者没有太多经验想找一份工作是如何困难。如果你已经在软件开发这一行干过一段时...

oschina
2014/09/25
4.5K
37
初级程序员找到工作就该“感恩戴德”?

只不过是一份工作——初级程序员的工作也是工作。不要再根据你心中的评判,而随意地与他们划清界限。推特上的这条“初级程序员”的消息让我感触很深,所以我觉得有必要展开讨论。 我不止一次...

CSDN资讯
10/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊storm的ICommitterTridentSpout

序 本文主要研究一下storm的ICommitterTridentSpout ICommitterTridentSpout storm-core-1.2.2-sources.jar!/org/apache/storm/trident/spout/ICommitterTridentSpout.java public interface......

go4it
28分钟前
1
0
Ubuntu常用操作

查看端口号 netstat -anp |grep 端口号 查看已使用端口情况 netstat -nultp(此处不用加端口号) netstat -anp |grep 82查看82端口的使用情况 查找被占用的端口: netstat -tln netstat -tl...

hc321
昨天
1
0
网站cdn的静态资源突然访问变的缓慢,问题排查流程

1.首先我查看了一下是否自己的网络问题,通过对比其他资源的访问速度和下载速度,确认不是 2.通过ping 和 tracert 判断cdn域名能否正常访问,(最后回想感觉这一步可以省略,因为每次最终能访...

小海bug
昨天
3
0
Mybatis 学习笔记四 MyBatis-Plus插件

Mybatis 学习笔记四 MyBatis-Plus插件 maven依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <ve......

晨猫
昨天
5
0
小白带你认识netty(二)之netty服务端启动(下)

承接上一篇小白带你认识netty(二)之netty服务端启动(上),还剩下两步骤:3、注册Selector:将Channel注册到Selector上 和 4、端口的绑定:服务端端口的监听。 3、注册Selector:将Chann...

天空小小
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部