如何快速启动您的软件事业

从事任何新职业都可能是非常压力和令人恐惧的经历。 您需要说服雇主,说自己是这份工作的男人/女人,但是在您职业生涯的开始,您并没有真正理解公司在寻找什么,或者如何在竞争中脱颖而出。 我写这篇文章是因为我正好处于那个位置。 那时我感到无助,因为我找不到任何公司来抓住我的机会。 我记得当我试图使我的软件事业崭露头角时,拒绝就开始使这种感觉变得不可能。 我觉得我可以用自己的技能做更多的事情,而不仅仅是开发这些从来都不有趣的课堂项目。 我也同时成为一家之主。 因此,我需要停止赚取最低工资,并尽快进入我的职业生涯。 这为有抱负的开发人员提供了第一个技巧。

1. 不要害怕早点开始

我可能会说我在大学里最大的错误是低估了比赛。 我会说很多大学生都这样做。 我所说的竞争是指其他人从事与您相同的工作/实习。 当我开始申请和面试职位时,我看着面试官以及他们在回答问题时的反应。 我可以看到他们绝对不为所动。 之后,如果有人要我,我会被告知与我联系,这从未发生过! 那是因为学校为所有学生配备了相同的技能。 您将毕业,并成为该经理面试的最后8名大学毕业生的复印本。 到那时,您在一家好的公司获得好的职位的机会很小。 如果要保证自己能得到想要的工作,则必须知道自己是该职位的最佳人选。 那么,您如何知道自己是“最佳”候选人呢? 你不知道 但是,您所知道的就是这个问题的答案:您有什么经验或从事过哪些工作,与您所申请的职位有关? 如果该职位是针对Web开发人员的,那么要使自己与“最佳”候选人足够接近,您需要在JavaScript,HTML和CSS方面的经验要比将要申请这份工作的普通人更多。 对于大多数入门级工作,我希望1-3年的相关经验是理想的人选。 现在您可能在想我在想什么,因为我未能获得多个职位。 也就是说,“那么,在没有专业经验的情况下,我如何比其他候选人更理想?” 这个问题的答案是

2. 项目

重点是:公司之所以选择一名候选人而不是另一名候选人,是因为每位候选人具有的技能,而不是简历中的财富500强公司的数量。 如果您正在查看Angular.js入门级职位,那么您要做的就是向您的面试官展示您使用Angular构建的4个网站。 最终,即使您在很多情况下没有学位,公司也会抓住机会。 没有相关项目或以前的工作经验,公司必须抓住机会聘用您,并希望您成功而又不知道那真的有多大可能。 以防万一,我想更清楚地陈述一下。

您可以通过研究职位的技能要求并建立主要使用这些技能的项目来设计自己的适销性。

请记住,只有相关的项目才能保证提高您的适销性。 当然,这个问题有一个灰色地带:即使您的项目与职位所需的技能没有100%保持一致,公司也可以考虑雇用您。 您是一名大学生,他依靠自己的能力去学习新技术,而不是依靠自己的毕业论文和魔法纸来担任职位,这一事实表明您是一个自我开创者。 自我开创是一种品质,它将像磁铁一样吸引工作(无论您是否上过大学)! 对您的这种了解可以大大增加您获得职位的机会。 我将通过一个例子来巩固这一点。 当我正在寻找我的第一次实习时,我被拒绝了。 我心想:“究竟是什么让我胜过那些击败我的职位?” 最终,这使我走上了设计自己的市场能力的道路。 我立即寻找在校园里有我可以从事的有趣项目的任何人。 我最终偶然发现一些学生有一个很棒的项目,该项目创建了一个网站来与Twitch.tv竞争。 他们以某种方式让一位教授参与其中,这吸引了我。我开始与他们合作,那位教授让我借用MacBook进行面试,这在两年后开始了我的职业生涯。 但是我什至是怎么得到面试的? 网站开始失去活力之后,我开始制作自己的项目。 我最终构建了一个Android应用程序,并始终随身携带它。 建立该应用程序后,我会说更多的公司开始给我打电话进行面试,尤其是当我拿出我的Android并在职业展览会上稍作展示时。 在完成该应用程序后大约2或3个月,我最终获得了第一个职位。 既然我已经介绍了如何获得您的第一个职位(这是您的开发人员职业的正式开始),那么现在该专注于如何为它提供动力。 我做到这一点的方法是:1.确保尽我所能,使自己成为我很有价值的员工(通过工作更长的时间,要求进行绩效考核并设定目标来提高自己的技能),以及2.认真阅读获得有关如何更好地开发软件的知识。

3. 阅读

在我生命中的这一点上,除了上课需要的教科书以外,我并没有真正阅读其他内容。 我真正花了很多时间才打开的仅有的两本书是《离群值:成功的故事》(伟大的书)和《哈利·波特》。 我的老板有两本书向我展示了阅读可以带给我的价值,分别是:“清洁代码”和“调试它”(另请参见“重构”)。 第一个让我意识到我对编写代码一无所知。 在本书的最后,我采取了一种立场,即大学只教我如何通过复制,粘贴,尝试和错误来构建软件。 这本书向我展示了编写代码并不是那么简单,我可以说那本书的概念至少在我此后的80%的访谈中得到了体现。 2“ Debug it”中的较晚者,实际上将我开发软件所花的时间减少了至少1/3。 仅阅读这两本书,我学到了多少,我感到震惊和惊讶。 我很乐意将这些书推荐给任何开发人员,以使他们保持住或变得敏锐。 在项目,工作经验和阅读能力具有扎实的基础知识之后,您应该将重点放在那些可能较难学习的技能上:软技能。

4. 软技能

与硬技能相比,软技能的技术含量较低,并且更注重人际/协作。 您会认为您编写良好的Java类的能力是一项艰苦的技能,而与您的经理交谈以获取需求的能力将被视为一项软技能。

您与他人良好合作的能力将成为您事业发展的重要因素。

随着时间的流逝,管理层和其他开发人员将开始根据您有效沟通的能力来对待您。 如果您经常在办公室周围难以建立和维持流畅的对话和态度,除非您进行了更改,否则您的职业将受到限制。 我的意思是,您只会获得很高的晋升,您只会获得很多加薪,而您在职业生涯中只会看到很多机会。 这是本文中最困难的部分,因为很难教授软技能。 如果您没有注意到,大多数大学甚至都不会开设该课程。 对于某些人来说,软技能非常容易获得,他们不需要任何帮助,但是对于我们许多开发人员而言,情况并非如此。 如果我想就如何提高自己的软技能提供建议(我现在正在做),我会倡导将情商和照顾工作场所中的每一种关系结合起来。 我会考虑在工作场所遇到的最糟糕的关系和过去的互动,然后花时间问自己为什么事情变糟了。 为什么鲍勃经理不喜欢你? 您能做些什么来确保他永远不会那样呢? 为什么您可以轻松地从Manager Sally那里获得需求,但是您和Bob在进行相同的过程时总是争执不休? 随着时间的流逝,您将学到关于自己和他人的小知识,例如触发某些负面行为/情绪的东西。 当您开始改变自己的行为方式并想从别人那里得到某些行为和反应时,您就会知道自己正在进步。 继续前进,没有任何障碍阻碍您的事业。