新手:所以您认为您可以编写代码。

开始之前

我想和你分享这个故事。

在一个小镇上住着一个男人,他的礼物很特别。 他的礼物,他可以确定下一次死亡的发生。

一天,国王邀请这个人到他的宫殿,并计划暗杀他。 在该人到达宫殿时,国王面对他“由于您声称知道每个人的死亡时间和顺序,请告诉我您何时会死。”

当国王向刺客发出信号时。

那个男人慢慢地回答说,他不确定国王死后两天会死掉。

我最近从学习编码的人们那里收到了很多指导老师的要求。

这些人给我带来了极大的快乐,我尊重他们向我伸出援手的事实。 😀

以下是我在Twitter,Facebook Group甚至个人聊天中遇到的一些常见问题。 我将尽我所能回答这些问题。

建议您不要将自己局限于以下答案中给出的这些列表,参考和建议。

问题1:如何开始学习编码以及如何获得资源?

学习的艺术取决于个人。 有些人更喜欢有特定时间表的学校系统。 有些人喜欢一对一的导师,有些人则喜欢小组学习或同伴学习,而有些人则灵活地适应技能。

无论哪种方法对您都有效,重要的是您首先要了解自己。 这样,您就不会浪费时间和金钱

进行一些研究后,您会发现可以满足您需求的导师或服务。 以下是一些在编码过程中对我或我的同事有所帮助的网站的列表。

  • FreeCodeCamp.org
  • Codecademy.com
  • Udemy.com
  • Udacity.com
  • Flatironschool.com
  • pluralsight.com

上面列出的一些网站收取的费用合理,这值得您学习的技能。 最好从免费课程开始,这使我回到浪费时间和金钱上。

免费课程可以帮助您调整学习方向和学习方法。 值得一提的是,这些免费课程有时足以让您抢先一步。

这里有很多免费课程,其中一些是由大型科技公司(如Facebook,Google和Microsoft)赞助的。

YouTube上有一些个人,对于初学者来说,内容很棒。 以下是一些受欢迎的YouTuber的列表:

  • 代码课程
  • 网络忍者
  • 设计课程
  • 遍历媒体
  • LevelUp Tuts

Q2:我需要获得计算机科学学位才能成为软件开发人员吗?

计算机科学学位不是软件开发人员的先决条件。 如果您有机会一试。

在任何能使您脱颖而出的基础上,这都是一个好习惯。 当您开始求职时,计算机科学领域的大多数职位空缺是一个加号。

问题3:我建议您以哪种编程语言开始?

推荐一种编程语言首先要取决于很多标准。

要指出的是,每种编程语言都功能强大,可以入手,并且可以解决任何问题。 以下答案应作为指南。

以下某些建议可能会因您所在的位置而异。 我建议您在您所在地区内联Google搜索,但是一般来说,这没关系。

所以我们去😊

如果您的兴趣是学习编码或开始理解编程的概念。
推荐语言 :Python 要么 PHP
原因:易于学习,庞大的用户群体,在生产中最常用的语言,在行业中最抢手的编程技能以及大量可供学习的资源。

如果您希望针对移动或台式机等特定目标进行构建。 这又取决于目标平台:

  • 对于Android
    推荐语言: Java或Kotlin,但我推荐Java。
    原因 :大量的用户群体,在生产中最常用的语言中,在业内需求最大的编程技能中,以及大量可供学习的资源。
    截至撰写本文时,Android社区正在用Kotlin代替Java。 Kotlin和Java具有一些相似之处,包括语法。 但是您想跟上技术吗? 我建议您学习Kotlin,即使社区和资源可能不如Java大,只要稍加研究,您就可以继续学习。
  • 对于iOS
    推荐语言: Objective-C或Swift 但我推荐Swift。
    原因: Swift是苹果团队于2014年推出的,其目标是简化对iOS基本编程的理解,使之易于学习,易于理解,是iOS应用程序的现代语言。
    还需要注意的是,Objective-C一直是iOS和整个Apple系列的核心骨干,选择学习Objective-C可能会为您提供更牢固的iOS基础。
  • 对于Windows
    推荐语言: C# 要么 C ++,但我建议使用C#。
    原因: C#是由Microsoft团队开发的,主要目标是桌面和Web,易于学习,易于理解,但对于软件工程部门的专业知识,C ++是更好的选择,因为它使您接触到更复杂的问题解决技术。
  • 游戏开发
    推荐语言: Python,Java,C# 要么 C ++ 但我建议使用C ++。
    原因:一些最受欢迎的游戏引擎是基于C ++构建的(虚幻引擎和Unity引擎)。
  • 对于Web开发
    推荐语言: HTML,CSS和 JavaScript 这3个是构成Web界面的主要工具,重要的是您必须学习所有3个。它们易于学习,易于理解,庞大的社区和对资源的广泛访问。 您可以以HTML开头,以JavaScript结尾。

注意:其他值得一提的编程语言包括:Ruby,Rust,Haskel,Go等。

问题4:作为软件开发人员,我可以使用哪些工具?

我知道您知道这一点,但首先,您需要一台电脑
现在,白象已经出了房间。 😉

计算机的类型或系统配置都没有关系。 从任何事情开始,这些天甚至一部手机都可以编码,但如果有的话,让我们坚持使用PC。

有一些内置的应用程序可以帮助您进行编码。 虽然大多数PC都已预先安装了这些应用程序。 一些个人,组织和社区已经构建了类似的应用程序,但几乎没有添加任何功能,从而为您(开发人员)提供了灵活性和对项目的支持。

您可能需要的应用程序或工具包括:

  • 文本编辑器:用于编写纯文本文件的软件,您选择学习的任何编程语言都可以与简单的文本编辑器一起使用。
    常用的文本编辑器是Windows PC的NotePad和Mac PC的TextEdit。 文本编辑器的替代方法:VSCode,括号,Atom,Sublime Text等。
  • 大多数语言都使用支持工具,例如编译器,终端和其他工具。 使用捆绑在一个应用程序中的这些支持功能构建了一些软件。 这些软件应用程序称为IDE( 集成开发环境 )。 最受欢迎的IDE是适用于Android开发人员的Android Studio,适用于Windows开发人员的Visual Studio,适用于Mac开发人员的X-Code等。
  • 对于Web开发,您只需要上述任何文本编辑器和Web浏览器 ,常见的Web浏览器是Internet Explorer / Edge(对于Windows PC和Safari)(对于Mac PC),其中一些替代品是Firefox,Chrome和Opera。 我建议使用Chrome,因为它带有非常友好的环境,可让您轻松调试代码。
  • GIT:🤔是的,我不发誓,但您需要GIT。 GIT是一款可帮助您跟踪代码过程的软件,它使其他人可以轻松地在您的项目上进行协作。 GIT学习起来非常简单,但是我建议您给它一个完整的教程时间表。

问题5:什么时候可以开始工作?

阅读本文后😉。 是的,您有兴趣成为软件开发人员是一个开始。 一些公司准备与经验很少或没有经验的个人合作。

面试本身就是一个需要实践和培训的过程。 最佳实践始终是在职培训。 参加工作面试可能会产生以下两种结果之一:获得工作或了解提高技能的位置和需求。

结论:

学习软件开发固然令人兴奋,但仅了解代码可能还不够:您需要学习如何学习和学习🙃。 学会理解而不是背诵。

准备好在工作上学习,并始终了解自己的价值和极限,就像《人与国王》的故事一样。

如果您对以上任何内容都没有很好的解释,请随时在Twitter @iNidAName或以下评论中与我联系,希望如此对您有所帮助。