向专业程序员提问有关入门的问题 [英] Question to pro programmers about getting started

查看:77
本文介绍了向专业程序员提问有关入门的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,



我想知道你们的观点。目前我在大学学习,这与IT无关。明年我将毕业。但我发现我不想做任何与我目前研究有关的事情。我花了我的童年时间乱搞编程的东西,为了好玩,没有什么严重的,我只是对这很感兴趣。我以为我会在大学里学习IT /编程,但是在最后一刻我改变了主意,所以我选择了另一所大学。无论如何。我的主要问题是,一个自学成才的人有可能进入IT行业吗?我不想做任何与我目前的专业相关的事情,我想切换到IT。但是我不想去另一所大学并在那里再度过4年。另外,我自学了很多,而且学习速度很快。我正在考虑从头开始学习SQL,当我能够非常流利地操作它时,我可能会开始寻找一个小任务工作吗?可能吗?因为如果我至少得到一些与SQL等编程相关的小工作,那么我会通过学习其他东西来逐步提高我的知识,例如php,C ++或者我将被吸引到的任何东西。请问,任何意见都很重要,我真的想摆脱目前的专业化。也许你有任何提示或想法?



谢谢!



我的尝试:



我已经有一些关于SQL,php和c ++的书了。也许你有一些推荐的书籍或在线免费课程?

Hello,

I want know your opinion guys. Currently I am studying in the university which is not IT related. Next year I will be graduating. But I found out that I do not want to do anything related with my current studies. I spent my childhood messing around with programming stuff for fun, nothing serious, I was just interested in that a lot. I thought that I will study IT/programming in the university, but in the last minute I changed my mind, so I chose another university. Anyway. My main question is it possible for a self-taught guy get into IT industry? I do not want to work anything related with my current specialization, I want to switch to IT. But I don't want to go to another university and spend 4 more years there. Also I learn on my own pretty good and I am a fast learner. I am thinking by starting learning SQL from scratch and when I will be able to operate it pretty fluently maybe I will start looking for a small task job? Is it possible? Because if I would get a small job at least something related with programming such as SQL, then I would start gradually improving my knowledge by learning other stuff such as php, C++ or whatever I will be attracted to. Please, any opinion matters, I really do want to get rid of my current specialization. Maybe you have any tips or thoughts?

Thanks!

What I have tried:

I got some books about SQL, php and c++ already. Maybe you got some recommended books or online free courses too?

推荐答案

可能不简单:如果你有相关学科的学位,那么它可能有所帮助,但是当你知道进入这个行业可能非常困难,除非你能证明自己的能力 - 而且一个无关科目的学位完全没有这样做,所以即使进入面试也许很难。

我现在说要关注你的课程 - 去年将是最困难的(或应该),所以你不希望你的注意力分为两种方式,或者你冒着未能毕业并且完全浪费过去几年的风险。在业余时间 - 而不是太多,你不能失败大学课程 - 获得相关主题的书籍(我建议C#作为一个很好的起点,Wrox上有很多好书) ,Addison Wesley和Microsoft Press)然后开始寻找一个将IT与学位课程结合起来的职位。
Probably not simple: if you have a degree in a related subject then it may help, but as you know getting into the industry can be very difficult unless you can prove your ability - and a degree in an unrelated subject doesn't do that at all, so even getting into the interview may be difficult.
I'd say for the moment focus on your course - the last year will be the most difficult (or should) so you don't want your attention split two ways, or you risk failing to graduate and wasting the last couple of years completely. In spare time - and not too much of it, you can't afford to fail the university course - get books on relevant subjects (I'd suggest C# as a good starting point, and there are loads of good books on it by Wrox, Addison Wesley, and Microsoft Press) and then start looking for a position which combines IT with your degree subject.


我认识的大多数体面的开发人员都是自学成才的。但是,除此之外,我知道一些自学成才的开发人员应该在大学中获得良好的背景,实际上是在做软件开发,但我知道他们做得很差。



更妙的是,我后来遇到了一些专业软件开发人员,他们在大学或其他技术教育机构接受过正规教育,他们一无所获,绝对没有。此外,几年前,我遇到了一家领先公司的领导者(我不会告诉你哪一个;时间已经改变了),他告诉我:我们有一条不成文的规则:我们永远不会考虑简历在文凭或专业中有软件一词​​的候选人。听起来不是很棒吗?我不是说那些人是对的,但它告诉了我一些事情。



甚至后来,帮助这个网站上的人的一些经验使我开始关注某种编程教育:这里提出的一些问题表明他们不仅仅是得到不好的正规编程教育,但他们的教育纯粹是假的。我是认真的;真假。我可以通过他们的教授给出的任务看到它;很明显,那些教授对计算机科学或软件开发本身一无所知。根本不是一个线索。我再次说,这并不是一个规则。我只是说这是一个明显的综合症。 (你明白综合症是什么吗?这是一组特征性的症状,它们通常很好地相互关联。也就是说,你无法以100%明确的方式检测到疾病,但观察到的症状强烈建议可能有某种疾病。)



更令人惊奇的情况;我与少数几位候选人进行了第一轮面试,其中一位候选人是一位年轻女孩,他们回答说:我的高中毕业后没有受过任何教育。其他候选人受过计算机科学教育。但她是唯一一个至少对计算机科学有一定了解的人,能够回答我的许多问题。我没跟她工作;她可能选择了另一家公司,否则我们会聘请她,而不是以前曾在华尔街工作的软件工程师,后来因为他的工作不好甚至作弊而让我失望(华尔街特有的教育吗?我没有知道)。



它告诉我什么?软件工程技能与教育相关,纯粹与软件专业相关,或以负面方式相关联。这就是我最近观察到的。最好的相关性,不是太令人惊讶,是在数学和软件开发的背景之间。由于某种原因,电气教育给出了纯粹的相关性;一些这样的人有大脑几乎不可能朝着正确的方向转向;但是,我看到了案例当这样的人做得很好的时候。我和一些前生物学家或者有过人道主义教育的人有过很好的经历,在其他情况下,他们的贡献是一场真正的灾难。当然,他们是那些采用真正顶级软件的人发展大学教育,他们可能非常非常好。但同样,不是全部。



结论?不要抱歉你正式非编程教育。事实上,你目前的教育可能会好很多。但这并不意味着你不需要计算机科学和软件开发教育。恰恰相反:这非常重要。你真的需要学习背景和基础知识,而不仅仅是实际的开发lopment,但真正的硬计算机科学。我只是说你可以自己学习它。你只需要一个比典型的编程学校更好的水平。我也不相信所有在线学校和其他课程可以提供帮助。你必须自己学习,并且非常认真地做。



我可以告诉你你会读到什么:对你作品的批评和评论,以及建议改善你的工作。这是很难离开学校的事情。在我的情况下,我有一个小型的同行开发者俱乐部。



而且,鼓励你更多:你听说过这么做吗? 专家悖论?它告诉我们,来自其他活动领域的人们取得了最好的成果。 非专业人士,非专业人士。这些人有更广泛的教育,更广泛的新观点,他们带来了来自不同知识领域的许多想法,他们没有可能在某些专业领域占主导地位的误解。一段时间。通常更热情,更活跃,更少受到不同心理情结的影响。但这只有在他们真正认真对待新领域的情况下才有效(不要误解我:上面提到的非专业人士,我的意思是自我创造的人比专业人士更好)。只要看看历史:你会看到推动我们文明前进的大量发明是由非专家创造的,更确切地说,是来自其他知识领域的人。想成为其中之一吗?



-SA
It so happened that most of the decent developers I know well were self-taught. But, in addition to that, I knew a number of those self-taught developers who supposed to get good background in the University, actually do software development, but I understand that they do it very poorly.

What is more wonderful, I later met a number of "professional" software developers, by their formal education at the University or other technical education institution, who were good for nothing, absolutely nothing. Moreover, years ago, I met a leader of one of the leading companies (I'm not going to tell you which one; time has changed since then) who told me: "We have one unwritten rule: we will never consider resume from the candidates who have the word 'software' in their diploma or major specialty". Doesn't sound amazing? I don't say those people were right, but it tells me something.

And even later, some experience helping people on this site opened my eyes on some kind of "programming education": some of the questions asked here suggested that they not just getting bad formal "programming" education, but that their education is purely fake. I mean it; really fake. I could see it by the assignments given by their professors; it looks obvious that those "professors" had no clue on computer science or software development themselves. Not a clue at all. Again, I don't say it's a rule. I just say that this is a noticeable syndrome. (Do you understand what "syndrome" is? It's a set of characteristic symptoms that typically correlated with each other well. That said, you cannot detect the illness in a 100% definitive ways, but the symptoms observed strongly suggest that certain illness is likely.)

And even more amazing case; one of the first rounds of interviews I conducted with some limited number of candidates, one of the candidates was a young girls who answered me: "I don't have any education past my high school". The other candidates were educated in computer science. But she was the only one who had at least some understanding of computer science, were able to answer many of my questions. I did not work with her; she probably had chosen another company, otherwise we would hire her, and not that software engineer who previously worked in Wall Street and later let me down with his poor work and even cheating (was it Wall Street specific "education"? I don't know).

What does it tell me? The software engineering skills do correlate with education, and purely correlate with "software" specialty, or correlate in negative way. This is what I observe these days. The best correlation is, not too surprisingly, is between background in mathematics and software development". By some reason, electrical education gives pure correlation; some of such people have brains which are nearly impossible to turn in right direction; however, I saw cases when such people did very well. I had good experience with some former biologists or people with some "humanitarian" education, in other cases their contribution was a real disaster. And, of course, they are people who took the real top-notch software development University education, and they could be very, very good. But again, not all of them.

Conclusions? Don't be sorry about you formal non-programming education. In fact, your current education might be a lot better. But it does not mean you don't need computer science and software development education. Just the opposite: this is very important. You really need to learn background and fundamentals, not just practical development, but real "hard" computer science. I just say you might be able to learn it by yourself. You just need a level much better than in a typical "programming school". I also don't believe in all those online schools and other courses can help. You have to learn by yourself, and do it very seriously.

I can tell you what you will read the most: criticism and review of your works, and also advice on improving your work. This is something which is hard to get out of school. In my case, I had a small club of peer developers.

And, to encourage you even more: did you hear about so called "specialist's paradox"? It tells us that the best results have been achieved by people who came from other fields of activity. By non-specialists, non-professionals. Such people have wider education, wider fresher views, they bring a lot of ideas from different field of knowledge, they are free from misconceptions which may dominate some professional field during certain period of time. The are usually more enthusiastic and active, less suffer from different psychological complexes. But this only works if they master the new field really seriously (don't get me wrong: by "non-professionals" mentioned above, I meant "self-made people who became better than professionals"). Just look at the history: you will see that major amount of inventions moving our civilization forward has been created by non-specialists, more exactly, people who came from other fields of knowledge. Want to become one of them?

—SA


这篇关于向专业程序员提问有关入门的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆