it-swarm.cn

如何找到编程指导者?

我决定学习编程。我已经读了SO几天了,在阅读一些文章时,我想我将从C++开始。我对循环,数组,程序逻辑和对象有所了解,我需要有人看我,并帮助我解决第一个项目时遇到的小问题。

所以这是一个问题-我在哪里可以找到这样的人?我没有任何编程的朋友。

编辑:2年后,我仍在寻找导师。我没有积极地编写代码,只是再次开始三个月。我致力于Cocos2d的Objective-C和iOS编程以及游戏编程。如果您想成为我的导师,请给我留言或发表评论。

46
Dvole

加入开源项目无疑是入门的一种方法。但是,多年来我一直在使用开源软件,坦率地说,几乎所有此类项目的质量通常都在厕所里。如果您完全从他们那里学习编程和设计技能,那么您可能会选拔一些非常贫穷的人和那些优秀的人,而无法分辨它们之间的区别。

您想学什么编程for?答案将决定您应该寻找的内容以及在哪里。以下是一些常见的答案,以及我对如何追求它们的专业意见(请记住,虽然恕我直言,但它是is公正的意见,准确):

只是说您知道该怎么做。

然后,您实际上就不需要导师了,而C++是一个很差的起点。我喜欢C++,这是我进行常规编程的首选,但是请改用另一种语言。我建议使用Python;它的学习曲线比C++柔和得多,并且与某些语言(没有提及任何名称,今天我没有穿石棉内衣)不同,您仍然会学到一些有用的技能,以备日后进一步使用。如果您决定继续沿用这条路线,那么很多概念都可以直接转换为C++。

只是尝试一下,看看您是否喜欢它。

一个开源项目可能已经足够了。选择一个您喜欢的程序,但发现了一些问题或烦恼,并向运行该程序的人提供帮助。大多数开源项目都是开放供稿的,这通常就是为什么它们首先是开源的原因。

但是,在这种情况下,请not尝试将C++作为您的第一种编程语言。掌握基础知识并不难,但是C++足够底层,您可以在程序中遇到一些严重且很难发现的错误。除非您已经知道自己喜欢编程,或者您像众所周知的牛一样固执,或者已经找到可以将您指向正确方向的导师,否则您将失去在该领域的任何萌芽兴趣。参见上面关于Python的答案,它更适合于此。

因为您对要编写的特定程序有想法。

(我不认为OP属于此类,我将其提供给以后的读者。)

您对掌握程序设计和实施所需的时间有任何想法吗?提示,以年为单位。如果您既聪明又非常幸运,那么经过几个月的学习,您也许可以提出一个像样的设计,但是任何有一点工作经验的人(包括您在内,后来都需要这样做)都会希望您永远不会出生-我是凭经验说的。 :-)除非这个想法如此秘密,以至于在完成之前没人知道它,否则就不要打扰。雇用一位经验丰富的程序员为您做这件事,或者如果您买不起,但仍然想让程序变得非常糟糕,请与一个人合作–您处理业务方面,然后由他处理编程部分。大多数优秀的开发人员都更喜欢编程,因此这种报价对他们而言是值得的。

因为您已经知道自己对编程很着迷,并且想了解更多。

然后,您将走上正确的道路。 :-)无论是业余爱好,还是以后可能会成为职业,如果您拥有一种使自己无限魅力的个性,那么您最好的办法就是将自己沉浸在其中。在这种情况下,C++和其他语言一样好,并且导师肯定会有所帮助(而且不仅会发展您的技能,而且如果没有朋友分享您的热情,它会变得孤独)。

31
Head Geek

要找到导师,不要寻找导师。尝试以特定方式改善自己。如果您为提高自己的能力而努力,您将发现自己与志同道合的人接触,并且发现自己与这些人有共同之处。

用户组很可能是找到导师的地方,但没人愿意帮助在那里的人以为“我正在寻找导师”。但是,如果您在考虑:“早晚有人能帮助我学习编写好的JavaScript单元测试,我会很喜欢的”,或者“我希望与某人结对并在Clojure中试用kata,我会喜欢的”您会发现一个与您志趣相投且相距甚远的人。

23
Eric Wilson

在真正的良师益友中,通常在任何时候都有十几名大三学生在闲逛。因此,“寻找”合适的导师仅仅是开始,与指导他人相比,导师对您的吸引力/回报也要高得多。

因此,第一步是加入您可能会遇到好的导师的社区。

第二步是成为一名有价值的导师。我个人希望在受训者中寻找的一些东西是:

  • 接近,等于或大于我自己的智力。
  • 对我必须提供和享受的教学感兴趣。
  • 个性的相容性(即我们相处融洽,喜欢互相交谈)。
  • 我愿意通过以下方式对他/她所指导的项目/社区有价值:

    • 编写代码
    • 撰写文件
    • 进行剪切工作,例如问题队列分类,清理注释等。
    • 帮助经验不足的贡献者
  • 与我通常的工作流程兼容。
  • 能够教me事物。比某人更有经验并不能阻止向他们学习。最好的导师有一个技巧,可以提出正确的问题,或者有新鲜的见解,或者可以从我的知识领域之外学到一些经验。
14
HedgeMage

加入一个开源项目。您也不必为它们编程。大多数项目都希望有人帮助您进行文档编制。您可以查看代码并提出问题。当您感到不舒服时,就可以开始为他们编写代码了。

12
Jim C

您对导师有什么期望?开源项目或本地用户组的建议旨在更多地涉及联网,并找到距离您想要的人仅几步之遥的人,以便他们可以以某种方式帮助您。将其视为尝试向Jamie Oliver或Gordon Ramsay学习烹饪的方法,最终可能会非常有趣且有用。

根据您的期望,找到导师可能很容易,也可能很难。如果您期望有人能读懂您的想法,并一步一步地告诉您在一年或更短的时间内变得很棒的秘密,那么这可能是不现实的。同时,如果您想找到一个可以做得比您更好的人,那么可能做起来并不难。因此,首先要弄清楚您的期望是什么。

其次,既然您知道想要什么,就必须找到它。这可能非常困难,因为并不是像我们在加拿大和美国拥有的艺术那样,有很多地方专门向开发人员展示其技能,这就是为什么我会想到这个建议。 MentorNet 将是一个程序的示例,尽管我没有尝试过,但它仍然可以运行,我前一段时间对其进行了研究,但并不认为它适合我和我想要的。这里的另一个想法是您的朋友和家人对您在这里想要什么的了解程度如何?如果您提出要求,他们可能认识某个人或某个地方可以为您提供帮助。虽然这不是一个全面的答案,但您的要求有点含糊,因此希望您可以对此进行补充,然后在您提供所需的详细信息以及所需的方式后,我将进行后续跟踪。不是Burger King,但我们可以尝试采用这种方式。


C++服务器端组件专家可能很难找到。附近有大专院校吗?那些人可能拥有一些技能,这些技能可能会转变为其他东西。找这位导师祝你好运。

6
JB King

开源项目非常擅长获取有关已添加的特定代码和潜在的新处理方式的反馈,但是正如您所发现的那样,这可能并不等于导师关系。

我建议您已经提到的是用户组。用户组通常会相当频繁地聚集在一起,因此您可以与潜在的导师一起面对面。面对时间可以使通讯流程更快,更轻松。是否可以保证每个人都在同一个域中?不,但是您必须从某个地方开始。如果您发现有很多经验的人,他们可能仍然可以根据他们的其他经验为您提供域名帮助。

4
Walter

既然您已经在Stack Exchange上注册,那么您已经可以使用许多非正式的指导者。您可以轻松地提出问题,或者让许多乐于助人的人审查您的代码。

在本地,如果您想进行面对面的指导或教学,不错的选择包括:

  • 用户组-优点:免费或便宜,向所有人开放。缺点:社区中可能不经常出现,不是系统性的。
  • 合作社-优点:开放,免费/廉价。缺点:比C++更不常见,特别,更可能用于Web。
  • 大学/学院学位-优点:系统,高质量,受人尊敬,敞开大门,通常为至少提供一些高质量的教师提供机会。缺点:入学竞争激烈,主要承诺,费用昂贵,淘汰率高,因此这是一种昂贵的方法,可用来确定您是否想使软件成为您的专业,学习计划可以灵活,但可能会要求您不喜欢或愿意的主题发现困难。
  • 社区大学课程或学位课程。优点:价格低廉,物有所值,更受教练的关注,容易被接受。缺点:威信比大学少,但无论去哪儿,好学生都是好学生。
  • 专业组织-优点:可以保持良好的人际关系和继续教育。缺点:您可能需要在该领域获得学位或工作才能获得会员资格。每月会议可能是有关创新的临时主题,而不是系统地涵盖职业发展主题。
  • 在同事,高级员工或管理人员的工作中-优点:频繁,有针对性,欣赏/热情/跟进将帮助您建立事业,这是无与伦比的。缺点:如果您的工作导师进入判断模式并且一直任由其闲逛,可能会出错,这种导师可能要等到您拥有一份工作后才可以使用,这意味着在全球竞争后获得学位。
  • 共同工作-优点:好的资源,优秀的人才,通常是公社和一群未来的CEO之间的桥梁。缺点:可能无法在您居住的地方使用,可能涉及现金承诺以帮助支付共享空间的租金,该空间中的许多空间将是自雇人士,因此您必须尊重他们的时间并找到使收益互惠的创新方法。
3
DeveloperDon

您可以查看本地Linux用户组( 这里 ,您会找到一个列表),通常大多数参与者是程序员-至少是Perl黑客。另外,如果您告诉他们您在这里找到编程指导者,他们会爱您的。

Craigslist上的帖子可能值得一试,但是我不会打赌。

另外,如果您是德国人,我可以特别推荐几个地方。

3
cbrandolino

我认为论坛是找到一些对此事有专门知识的人的最佳方式。我相信你应该从这里开始。

在Google或我们亲爱的朋友stackoverflow上查看一些c ++网站,那里有很多c ++忍者准备回答您的问题!

2
guiman

如果您在公司环境中工作,则可以在那里寻找导师。

对于一个开源项目,我怀疑您会为您创建的项目找到一个指导者,但是您可能会在他们创建的项目中找到一个指导者。

不要忘记,他们的指导者也需要从这种安排中得到一些东西。他们正在花费宝贵的时间来帮助您。准备为他们做一些工作,以换取他们。

1
Jim C

学习编程是一个雄心勃勃的事业(我认为this网站上的每个人都会同意)是一个崇高的事业。但是,即使有导师,也很难从头开始学习。我认为您会发现,至少参加一些入门课程来为您打基础是最好的方法。

导师是一个好主意,如果没有一位在我的第一份“真实”工作中提出问题的家伙,我将不会在15年后成为编码员,但实际上,一个人无法为了给您时间和指导,您需要成为一名成功的程序员。他或她自己可能会从事一份全职工作(或课程负担)。这并不是说您不应该找到一位或多位导师,只是您还需要其他东西。

诸如此类的网站,在线教程,书籍以及其他所有内容都是难题。教育是边界的组成部分。

这并不是要劝阻您。相反,我认为设定现实的期望会给您带来更大的成功机会。

1
Wonko the Sane

“我怎么找到编程神童?这就是我想要的。我只是想组建一支庞大的机器人大军来接管整个世界。我很聪明,我写了AI。我有钱,有影响力,我只是不介意处理那种令人讨厌的.NET或JVM的愚蠢……嗯……怎么……怎么!!该死!”

通常,我不会对此进行解释,但是我们在堆栈上。有些人喜欢它的字面意思。通过有用,您会找到一个(导师)。通过解决有经验的孩子(或-可能-大脑-或(他)有钱)不想解决的问题,您会很有用。

解决那些问题。

还是不要。这是信息时代。 DIY我的朋友。希望像Stack这样的社区告诉您什么时候您变得愚蠢或明智,例如与代码相关的事情或我们所不容易获得的事情,就像那个想要将您搞砸的投资者的阴谋诡计。

并分享您所知道的。一旦发现自己的想法,就参加一些集体活动。这不是1700年代的锻造。您的父母不必认识任何人(尽管当您不向自己学习手工知识并与行会分享时,当然每个人都会感激)。

您只需要确定自己有兴趣就可以。当它沉入水中时,我的表情相当怪异。我花了一段时间(我知道),但是请相信我(如果仅是在这个看似荒谬的观点上,我花了十年多的时间才意识到,是的,我是一个令人恐惧的程序员),所有这些真正重要的是您具有基本的才能水平,并且您确实感兴趣。如果您不是,请@@ $$关闭,找到您感兴趣的东西。

因为否则编程/脚本/编码是一个可怕的选择。但是我不想把它放在消极的,令人讨厌的观点上。如果您有兴趣,不必担心自己的表现如何。问问题。要求答案。像我这样忍受着总的long绕的汽油/冲洗袋。如果需要,您会到达那里。

你喜欢拼图吗?您喜欢随机的任意问题来解决吗?你喜欢角斗士电影吗?毫无疑问,前两点是吗?不要寻找导师。很好地学习一种语言,学习与入门语言水平不太相似的一种或两种其他语言,阅读一些书籍并发表一些意见。享受挑战和偶尔改变它们的乐趣,即使只是为了看看您是否不完全错。您可能会惊讶自己的直觉实际上并没有那么糟糕。要求人们出来问您一个错误的问题,当面打您,您可能会发现自己比大多数举起那个场合的人更了解自己。但大多数情况下,这是一个需要解决的问题。解决这个问题。

0
Erik Reppen