我认为,可用的编程语言数量既是一种祝福,也是一种诅咒。 我已经知道了很多很多的编程语言,有些只是语法层面的,还有一些足以做实际的编码(Python,C,C ++,Haskell,Perl,BASH,PHP等等) 。几乎只要我一直在使用计算机(6年),几乎每个范例(功能,命令,面向对象),我一直在编程,但我并不为软件行业做好准备。
我用很多不同的语言编写了很多更大的程序,主要是基于网络的,包括大型多线程服务器/客户端,我仍然感觉不准备!
目前我痴迷于我的“3层”计划,其中包括像Haskell这样的高级语言,像Python这样的解释性语言和像C这样的低级语言,但我感觉不够好!
我知道如何在团队中工作,以及如何按照指导方针工作,但我不确定。
我准备好了吗?
请亲切的stackoverflow人帮我摆脱这个烂摊子! :(
感谢所有答案,我希望我能选择更多答案 回答:)
答案 0 :(得分:12)
听起来你对编程非常了解,但你没有提到任何其他内容。作为一名软件开发人员,不仅需要编程作为技术技能。熟练掌握源代码控制,单元测试/测试驱动开发,持续集成等主题。希望你能找到至少其中一个正在使用的工作。尝试使用您的工具尽可能多地学习有用的节省时间;尝试尽可能灵活高效地使用IDE。
在其他地方,不要忘记培养更多的个人技能;态度和职业道德,与您的领域更相关,诸如引出要求,记录问题和描述问题和解决方案等问题。如果你重新进去,不要太担心这些,因为你不会对它们有太多的了解,但是如果你至少意识到它们并试图改进,那么你就有了更多这样做的可能性。
尝试评估一下非直接编码的一般软件开发问题(如果您还没有) - 对面向安全的开发(和测试),良好的设计和类似的最佳实践的一般态度。
不要因为蝙蝠完美而出汗太多。如果你没有改进的余地,你就不会很长时间享受你的职业生涯,而作为一名程序员的热情并不是很有趣。
答案 1 :(得分:2)
你知道的是 - 行业所需的知识最低门槛(高于一些开发人员所拥有的知识门槛),但听起来你已经在那里了。
对于拥有才能的人来说,新的编程语言,技术等很容易学习。一个好工作的公司会根据你的能力雇用你,而不是知识(很快就会过时)。
如果您想以软件开发人员的身份脱颖而出,请确保您在报告,电子邮件,电话,会议等方面拥有坚实的沟通技巧。这在软件领域是一种罕见的礼物,虽然没有必要在初级阶段更有价值,从长远来看,它会得到回报。
答案 2 :(得分:1)
我能想到的最重要的事情就是能够快速有效地做出改变。
答案 3 :(得分:1)
我最近接受了编程测试,我认为这是一个很好的公平测试。我没有付出太多努力就通过了。有人告诉我,50%的人(这些人都是简历中的程序员)甚至不知道从哪里开始。你的热诚和渴望最有可能使你在大多数地方的前三分之一。
答案 4 :(得分:1)
您无法做所有语言。
如果可以,安置/实习将创造奇迹。任何人都可以编程真实世界的经验将教你比任何教程,自学或学校教育更多。
当然,获得实习需要一些经验,因此非常需要二十二个。
如果无法参加实习,请参与开源项目。你会发现你会通过与比你聪明的人合作来学习负担。
答案 5 :(得分:1)
知道你一无所知,真正的知识存在。
苏格拉底一些聪明的家伙
我认为这在开发人员中很常见。如果你得出结论你已经受过全面训练,那么Imo就是一个更好的标志。
答案 6 :(得分:0)
确定你是否准备好的唯一方法就是尝试。有时被抛到深处确实有帮助,你会发现你在第一次真实世界的工作中学到的东西比你在几年前读过的所有书籍等都要多。此外,了解多种语言有助于您理解编程的基本语义,但在实际工作中,您可能每天都会坚持使用一种或两种语言,因此不要因为知道每种语言而感到困惑。 / p>
最好尝试&失败而不是花费你的生命,想知道你是否准备好了。
答案 7 :(得分:-1)
去骰子或怪物或任何你最喜欢的工作地点,看看人们在寻找什么。它不是Haskell,它是C ++。好好学习,你准备好了。一旦你走出现实世界,你就会很快学到重要的东西。这些主要是学校没有教你的软技能。如何与无知相处,如何呈现你的想法,以便他们真正被考虑,以及如何看到森林,即使你被困在岩石下。