开始之前
我想和你分享这个故事。
在一个小镇上住着一个男人,他的礼物很特别。 他的礼物,他可以确定下一次死亡的发生。
一天,国王邀请这个人到他的宫殿,并计划暗杀他。 在该人到达宫殿时,国王面对他“由于您声称知道每个人的死亡时间和顺序,请告诉我您何时会死。”
当国王向刺客发出信号时。
那个男人慢慢地回答说,他不确定国王死后两天会死掉。
这些人给我带来了极大的快乐,我尊重他们向我伸出援手的事实。 😀
以下是我在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或以下评论中与我联系,希望如此对您有所帮助。