Aptitude and enthusiasm will get you a long way. If you can answer interview questions, work through programming problems, and you have personal projects that you are working on, lack of experience shouldn't hold you back too much.
Make sure you nail the questions, though. If you don't have experience, you've got to know your stuff cold to make up for it.
Be sure to emphasize side projects. If I interview someone who likes to spend their free time at home coding, they get lots of bonus points.
Contribute patches to some CPAN distribution. This will show that you: 1) use CPAN - managers love peoples that can write code faster 2) can read and modify someones code.
Study Moose/Mouse - it is modern OO system for Perl, it is much better that old OO system that was copied from Python.
First, one thing I always follow that has never led me wrong is honesty. If you don't know something just say "I don't know". This is so important when it comes to programming interviews and very easy to follow.
Next, take the time to start and/or get involved with some open source projects. Saying that you worked on an open source project says alot. First, it shows that you can grok other people's code and have the resolve to work collaboratively with other people in the programming community. This goes a long way. I have come across employers that actually skip the screening process when they can confirm that I contribute to various open source projects. This is probably your best defense against little experience in the field.
If you have the experience/drive then do presentations and/or coding sessions at user group meetings and/or code camps. This also goes a LONG way. Displaying that you can talk and converse with other programmers in a scenario like this, it shows employers that you enjoy programming and working with the community.
Finally, start low. You will need to start at the bottom of the totem pole, but work hard and show that you are a quality programmer and recruitors/employers will be banging down your door.
By the fact that you A) posted a question to this site and B) have a blog it appears, it shows you have passion. That is one thing a lot of people don't have so you that to your advantage. Use that passion to further your knowledge.
If you are truly passionate about programming as you say, then just start programming. You can't learn how to program by thinking your way through it. The only way to get experience is to program. For someone like yourself, find an open source project you want to help and start contributing. That will give you valuable experience in using source control among other things.
The other thing is find a technology that you feel you can really get behind and go deep on it, learn any and everything you can about that technology and that platform. Immerse yourself. The reason I say that is because someone isn't going to hire you if you know a little about this and a little about that. They expect you to be able to walk in and do a job. That doesn't mean you shouldn't "play" with other things, but do yourself a favor and leave them off your resume unless you have production experience with them.
Well, one place to get immediate, documented, experience is through open source projects. Join a project, or start a new one. Help with documentation on OSS projects (employers would love to see that). Help with writing unit tests, contribute patches, etc. And the sooner you get started, the better.
Open Source experience is good and experience and it shows a level of dedication to development and the language that you work in.
no offense, but from your description it would appear that you're not really qualified for a 'real' OO programming job. Academic classes are a good introduction to a language but no substitute for solving real problems with fluctuating deadlines, finicky users, cholicky managers, et al ;-)
this leaves three options:
join an open-source project that uses OO and a language you know, and contribute to it significantly. This will provide an analogue of real programming experience [but not real job experience] and may help you get a programming job in another year or two
or, apply for an entry-level OO programming job and impress the heck out of the interviewer with your communication skills, contagious enthusiasm, eagerness to learn, commitment to the customer/user/whatever, etc. In other words, present and sell yourself truthfully but as the 'complete package' needing only the opportunity to explode.
Don't be discouraged if you get turned down a lot
don't apply for jobs you don't really want
expect to stay in the job for at least a year if not two or three, to really learn how to program in a non-academic environment
start your own business as a consultant, programmer, freelance, and/or develop products, and learn at your own pace. This is risky when out of school, less risky when in school, and if you happen on an unoccupied niche can be quite lucrative
发布评论
评论(9)
带上一些 Perl 代码,这些代码:
Bring with you some Perl code that:
天赋和热情会让你走得更远。 如果您能够回答面试问题、解决编程问题,并且您正在从事个人项目,那么缺乏经验不应给您带来太多阻碍。
不过,请确保你解决了问题。 如果你没有经验,你就必须了解你的东西来弥补。
一定要强调副业项目。 如果我采访一个喜欢在家里编码的空闲时间的人,他们会得到很多加分。
Aptitude and enthusiasm will get you a long way. If you can answer interview questions, work through programming problems, and you have personal projects that you are working on, lack of experience shouldn't hold you back too much.
Make sure you nail the questions, though. If you don't have experience, you've got to know your stuff cold to make up for it.
Be sure to emphasize side projects. If I interview someone who likes to spend their free time at home coding, they get lots of bonus points.
您可能在 C++ 课程中取得了不错的成绩,但是教授会推荐您实习吗?
您学校的声誉或缺乏声誉可能会影响选择过程。
You may have received a good grade in your C++ class, but would the professor recommend you for an internship?
Your school's reputation or lack of it may be influencing the selection process.
每个公司都是不同的。 我曾是软件公司的高级软件开发人员,甚至从未有人问过我编程问题。
在面试中尽力而为,做你自己。
我发现 OOP 很有用,但有时被高估了。 函数分解可以让你走得更远。
Every company is different. I have been a Senior Software Developer at Software companies, and I was never even asked a programming question.
Do your best in the interviews and just be yourself.
I find OOP to be useful, but sometimes overrated paradigm to work within. Functional decomposition can get you pretty far.
为某些 CPAN 发行版提供补丁。 这将向您表明:1)使用 CPAN - 经理喜欢能够更快编写代码的人 2)可以读取和修改某人的代码。
研究驼鹿/Mouse - 它是 Perl 的现代 OO 系统,比从 Python 复制的旧 OO 系统要好得多。
Contribute patches to some CPAN distribution. This will show that you: 1) use CPAN - managers love peoples that can write code faster 2) can read and modify someones code.
Study Moose/Mouse - it is modern OO system for Perl, it is much better that old OO system that was copied from Python.
首先,我始终遵循且从未导致我错误的一件事是诚实。 如果您不知道某事,请说“我不知道”。 这在编程面试中非常重要,而且很容易遵循。
接下来,花时间启动和/或参与一些开源项目。 说你曾参与过一个开源项目就说明了很多。 首先,它表明您可以理解其他人的代码,并有决心与编程社区中的其他人协作。 这还有很长的路要走。 我遇到过一些雇主,当他们确认我对各种开源项目做出贡献时,他们实际上会跳过筛选过程。 这可能是您应对该领域经验不足的最佳防御方法。
如果您有经验/动力,那么可以在用户组会议和/或代码营中进行演示和/或编码会议。 这也有很长的路要走。 显示出您可以在这种情况下与其他程序员交谈,这可以向雇主表明您喜欢编程并与社区合作。
最后,从低开始。 你需要从图腾柱的底部开始,但要努力工作并表明你是一名优秀的程序员,招聘人员/雇主将会敲开你的门。
First, one thing I always follow that has never led me wrong is honesty. If you don't know something just say "I don't know". This is so important when it comes to programming interviews and very easy to follow.
Next, take the time to start and/or get involved with some open source projects. Saying that you worked on an open source project says alot. First, it shows that you can grok other people's code and have the resolve to work collaboratively with other people in the programming community. This goes a long way. I have come across employers that actually skip the screening process when they can confirm that I contribute to various open source projects. This is probably your best defense against little experience in the field.
If you have the experience/drive then do presentations and/or coding sessions at user group meetings and/or code camps. This also goes a LONG way. Displaying that you can talk and converse with other programmers in a scenario like this, it shows employers that you enjoy programming and working with the community.
Finally, start low. You will need to start at the bottom of the totem pole, but work hard and show that you are a quality programmer and recruitors/employers will be banging down your door.
事实上,您 A) 在该网站上发布了一个问题,并且 B) 拥有一个博客,这表明您有热情。 这是很多人都没有的一件事,所以你可以利用这一点。 利用这种热情来拓展您的知识。
如果你真的像你所说的那样热衷于编程,那么就开始编程吧。 你无法通过思考来学习如何编程。 获得经验的唯一方法是编程。 对于像您这样的人,找到您想要帮助的开源项目并开始贡献。 这将为您提供使用源代码控制等方面的宝贵经验。
另一件事是找到一种你认为你真正可以支持的技术,并深入研究它,尽可能地学习有关该技术和平台的所有知识。 让自己沉浸其中。 我这么说的原因是,如果你对此略知一二,那么别人就不会雇用你。 他们希望您能够走进去并完成工作。 这并不意味着您不应该“玩弄”其他东西,而是帮自己一个忙,将它们从您的简历中删除,除非您有这些东西的生产经验。
希望有帮助。
-基思
By the fact that you A) posted a question to this site and B) have a blog it appears, it shows you have passion. That is one thing a lot of people don't have so you that to your advantage. Use that passion to further your knowledge.
If you are truly passionate about programming as you say, then just start programming. You can't learn how to program by thinking your way through it. The only way to get experience is to program. For someone like yourself, find an open source project you want to help and start contributing. That will give you valuable experience in using source control among other things.
The other thing is find a technology that you feel you can really get behind and go deep on it, learn any and everything you can about that technology and that platform. Immerse yourself. The reason I say that is because someone isn't going to hire you if you know a little about this and a little about that. They expect you to be able to walk in and do a job. That doesn't mean you shouldn't "play" with other things, but do yourself a favor and leave them off your resume unless you have production experience with them.
Hope that helps.
-Keith
嗯,获得即时、有记录的经验的一个地方是通过开源项目。 加入一个项目,或开始一个新项目。 帮助提供有关 OSS 项目的文档(雇主希望看到这一点)。 帮助编写单元测试、贡献补丁等。越早开始越好。
开源经验是很好的经验,它显示了对开发和您所使用的语言的奉献精神。
祝你好运
Well, one place to get immediate, documented, experience is through open source projects. Join a project, or start a new one. Help with documentation on OSS projects (employers would love to see that). Help with writing unit tests, contribute patches, etc. And the sooner you get started, the better.
Open Source experience is good and experience and it shows a level of dedication to development and the language that you work in.
Good Luck
无意冒犯,但从您的描述来看,您似乎并不真正有资格从事“真正的”面向对象编程工作。 学术课程是对语言的一个很好的介绍,但不能替代解决不断变化的截止日期、挑剔的用户、胆怯的经理等实际问题;-)
这留下了三个选择:
加入一个使用 OO 和您了解的语言,并对其做出重大贡献。 这将提供类似真实的编程经验[但不是真正的工作经验],并且可能帮助您在一两年内找到一份编程工作
或者申请入门级面向对象编程工作并用你的沟通技巧、富有感染力的热情、对学习的渴望、对客户/用户/任何事物的承诺等给面试官留下深刻的印象。换句话说,诚实地展示和推销自己,但作为“完整的包”只需要爆发的机会。
以顾问、程序员、自由职业者和/或开发产品的身份开始自己的事业,并按照自己的节奏学习。 当你离开学校时,这是有风险的,在学校时风险较小,如果你碰巧遇到一个空闲的利基市场,可能会非常有利可图,
no offense, but from your description it would appear that you're not really qualified for a 'real' OO programming job. Academic classes are a good introduction to a language but no substitute for solving real problems with fluctuating deadlines, finicky users, cholicky managers, et al ;-)
this leaves three options:
join an open-source project that uses OO and a language you know, and contribute to it significantly. This will provide an analogue of real programming experience [but not real job experience] and may help you get a programming job in another year or two
or, apply for an entry-level OO programming job and impress the heck out of the interviewer with your communication skills, contagious enthusiasm, eagerness to learn, commitment to the customer/user/whatever, etc. In other words, present and sell yourself truthfully but as the 'complete package' needing only the opportunity to explode.
start your own business as a consultant, programmer, freelance, and/or develop products, and learn at your own pace. This is risky when out of school, less risky when in school, and if you happen on an unoccupied niche can be quite lucrative