数学家的角度:
简单的例子:几乎每个人都知道基本的算术,但数学家是非常尊重的。
硬的例子:你在高中学习的一些东西(即二次方程求解器)在第一次开发时非常困难。随着时间的推移,技巧被释放,似乎每个人现在都可以做到。
然而,价值在于发现,创新和更重要的是从人们所知道的发展的能力。而且我认为这是在编码时高度重视的人群。
谷歌工程师的角度:
工资通常由供需驱动。
这是影响程序员技术供应的一些问题。
不是每个人都有耐心或渴望成为程序员。
学习编程有一个机会成本。发展基础水平可能需要数月,专业知识需要数年时间。所以尽管有很多免费的资源用于学习编程,但它仍然是成本上的。
数学技能对许多类型的编程很重要。这些技能往往不够发达,特别是在像美国这样的国家。
一些程序员不是很好。他们最终减少对供应池的贡献。
还有一些影响需求的问题。
程序员可以高度杠杆。一个小的代码改变可以为公司节省数百万美元。削减1毫秒的谷歌查询节省了38年每年用户的时间。比较医生(从业者) - 他们只能帮助尽可能多的人在一天中看到。
公司经常会寻找“10倍”的开发人员(一个是典型开发人员十倍的开发人员),他们愿意为这些开发者付出很多代价。最终为每个人增加工资。
相反,糟糕的开发人员可能对公司负责。(杠杆作用两种方式)
科技蓬勃发展对手机,应用程序,家庭设备等消费者的需求很大。
还有更多的因素有助于程序员的薪水。(性别偏差不利地影响供应,高营业额导致公司提高薪酬以减少消耗等)这是任何领域的复杂话题。但是上面的例子应该给出一些想法,为什么程序员的平均收益高于平均水平。
另一个形象的比喻:
我不能找到正确的比喻,我觉得烹饪是我能想到的最接近的事情。
所以任何有厨房和适当工具的人都可以做饭做饭,但不是每个人都是一个成功的厨师。
为什么(假设你想成为厨师)?
许多原因之一是经验与培训(可以自学或教导)。关键是要专业烹饪食物,你需要合适的人才和经验。这样可以保证食物的质量。
当然有好坏的厨师,所以是程序员。但厨师本质上知道如何生产一定数量的食物,并在其他人的帮助下出售。那就是让他/她的专业比较你在厨房里为自己烹制煎蛋卷。您的烹饪可能仅限于几道菜,但专业人员可以烹饪更多的菜肴,有时还可以烹制多种美食。
程序员也一样,在学校或自己学习的程序设计,专业上都是两个不同的东西。人们支付后来的技能。
专业的程序员角度:
简单来说,免费学习编程并不会使你成为程序员。与小学一样,不会让你成为一名书作家。
一个自学者:
高级开发人员产生的价值超过了他们所支付的价值的许多倍数,而新开发人员不会为公司赚钱几个月或几年,直到找出如何做事情。
学习如何开发软件是艰难和痛苦的,你需要高薪才能激励和实现这个漫长的学习周期。
还有相对论的问题。自70年代末以来,美国的工资一直停滞不前,增幅为0-1%。同时,您的生产力提高了6%。技术工作提供适宜的工资,因为它们在较早的时间不存在,所以整合行业力量和消除集体谈判并不是一个因素,它不是用于工厂的资本,而是能够使生产性工作人员积累知识和经验。
所以新疆工业的劳动者必须与其他不熟练的劳动力竞争不了工资,而科技需要基准能力才能进入门槛,赚取宜居的工资。
一个资深软件工作者:
工资很高,不是因为学习和擅长昂贵,而是因为在许多其他资源中,时间,头痛,磨砂,不确定性,不眠之夜,谷歌般的疯狂时期, T-工作。
我教孩子编码,我的课是20块钱,基本上是免费的。
然而,尽管它很便宜,但是当他们进入“现实生活”编码时,并不是所有的学生都会得到很好的报酬,如果他们甚至进入软件/计算机科学。
我可以跟踪 - 以准确的准确预测 - 我的学生以后会得到更高的报酬。他们是努力完成课程的人,当你达到60%时,这变得非常具有挑战性。只有少数人写的吃豆人克隆 - 他们将是摇滚明星。
许多工作很难,但并不是平等的。软件工程师的平均工资可能是两倍,但雇主对每位员工的收入却远远不及。
软件工程师:
因为它不是免费的可能会有课程,你不付钱,但你总是支付你的时间。
事实证明,没有多少人能够并愿意“付出”多个月或几年的时间去学习。因此,缺少好的程序员。
有些甚至选择“快捷方式”,如$$$编码bootcamps或竞争性编程培训。在我看来,这样的培训远远不足以让你成为一个体面的程序员。在最好的情况下,他们会教你基础知识。、
一个创业者:
供应,需求和质量。
对于非常有才华的程序员来说,对于那里有非常有才华的程序员的需求要大得多。
关键词是“特殊才华”。
超凡的才华意味着许多事情,如能够:
找到(相对)整齐的解决方案(相对)凌乱的问题
提供工作(理想的高品质)与期限...一致
了解规格并能够满足业务需求
分享知识和生产其他人可以理解的工作
与组织中的其他人(可能在其他团队中)进行良好的互动
所以是的,虽然任何人都可以学习如何编程(免费,不少于!)有更多的只是能够编程。可能还有其他原因,但这正是为什么软件工程师(特别是好的)得到很好的补偿。
技术开发人员:
“免费”是什么意思?需要大量的时间,智力和经验才能成为一名优秀的软件工程师。大多数软件工程师还有四年的计算机科学学位或相关领域,这绝对不是免费的。那些没有这个学位的人可能不得不工作更久,更难进入这个领域。
技术上大部分职业都可以免费学习。你可以成为一名律师而不去法学院。也许没有人会雇用你。你可以成为一名CEO而不去上大学,这并不容易。
又一位软件人员:
程序员不仅要付款给程序。他们还根据行业知识获得报酬,并通过该行业知识为他们的公司带来多少利润。
例如,我是一名软件工程师。我知道如何用多种语言编程,C ++是我最好的。这符合我所从事的金融公司的一个要求。另一个主要的要求是我了解财务。我足够了解财务,与管理层谈论他们需要在软件中实现的内容,而且我对财务的了解足以实际实施。
或者看看构建非常受欢迎的税务准备软件TurboTax的软件工程师。他们需要知道如何编程,但他们也需要其他专门的编程知识。可能会有一个与数据库连接的后端团队(SQL知识将会有所帮助)。那么还有一个客户与客户交互的用户界面(HTML,CSS,Javascript)。那么还有一个建立测试的团队,所以Intuit可以验证代码更改不会破坏软件(测试框架)。等等,除此之外,每个程序员都需要了解一些有关税务准备的内容,以便他们能够与税法团队交流,并在软件中实施正确的行为。
每个团队都专注于他们具体的编程和业务需求。训练程序员学习独特的知识交流需要花费大量的时间和金钱。
程序员根本无法得到报酬。他们根据公司产生的收入多少或为公司节省多少成本而获得报酬。如果你有编程技能和另一个专门的行业特定的技能,那么你可以为你的公司赚很多钱,其中一部分将在你的工资中得到报酬。
专业导师(介绍性编程):
你可以问这么多事情。几乎每个人都可以学习:
程序设计
烹饪
写作
绘画
数字艺术
任何乐器
视频编辑
3D建模
金融
股票交易
代理
喜剧
免费。那么为什么这些不同的薪水和“相对较高”的薪水相比,可以生产出来的免费教育呢?非常简单:只是因为每个人都可以做某事并不意味着任何人(更别提每个人)都会这样做。
选择学习和发展技能的人数,无论是免费的还是有代价的,都是经济学家所说的供给。
需要技能的工作职位数量是经济学家所要求的。这并不总是固定的,因为独立的就业机会可能会出现,特别是在创造性或高度智力的工作中。
那么什么定义了视频编辑器与程序员或画家与银行家的薪酬?那么这与雇主对这些技能的估值有关,涉及到有多少供应与需求有关 - 如果你有大量合格的工人,工资预计会下降,因为每个员工都是如果出现问题,更容易更换。如果你有少数合格的工人,那么工资预计会上升,因为雇主试图做出最理想的工作机会,并容纳可能难以更换的工人。
所以,很多人都喜欢去寻找简单或受欢迎的学位 - 但这些并不总是雇主真正想要或需要的。如果50%的毕业生具有商业金融学位,只有5%毕业于程序设计,阿尔法公司的程序员可能比财务工作者得到更好的报酬。
许多增加工资的工作的特点之一是需要深刻和批判性的思维能力 - 每个人都可以发展他们,但很少有人做。编程难以真正学习,而无需批判性思考 - 单独分析程序需求就意味着看过去的话,试图确定自己的意思,而在开始尝试解决问题之前。即使对于相当低级别的编程任务也需要这种脑功能的水平,其中许多其他职业可以通过更简单的思维方式来实现。
又一位创业者:
因为几乎没有人关心编程。
不要误会我每个人都放弃了坐在一整天的按钮和制作银行的想法。每个人都想尝试。
但没有人愿意坚持下去。
除非你非常热爱工艺,否则不可能成为一名好的程序员。你必须高兴地看到你的概念和发明才能生活。
大多数人没有耐心。他们现在想要结果现在。守则需要耐心和激情。
学习编写需要花几年。也许甚至几十年
如果有人真的有耐心和热情,他们可以成为一个世界级的程序员,只有几百块钱的书籍和便宜的笔记本电脑。
地狱,如果他们有一个稳定的互联网连接,他们可能甚至不需要这些书。
但是大多数人都试图做这件事。所有这些人失败,去做一些更容易的事情。
当你快乐吃饭,睡觉和呼吸学习程序的过程中,你有机会成为一个好的程序员。
钱是一个很好的副作用。
真的很好,真的很贵,程序员不用这个钱。
他们这样做是因为他们没有选择。
他们为了喜悦而做。
数据科学家:
有知识可在线免费不会奇迹般地使其更容易学习。
因此,“每个人都可以免费学习编程”这一说法并不意味着“每个人都会学习”。
奉献,毅力,动机,创造力是成为一名成功的程序员所需要的一些素质。
最后,薪水往往是市场动态的反映。
高要求和低(熟练)的报酬导致高薪。
创业者:
好问题!
我认为,就像大多数人所指出的那样,程序员工资高的主要原因是经济学的简单:供求关系。
开始学习编程的有兴趣的编程人员通常不会立即着陆高薪职位,因为他们没有技能来生产足够高质量的代码和软件。
这使得熟练的程序员比初学者程序员更缺乏,并且自然地基于技能创建了一个入门的入门。由于需求高于熟练程序员的供应量,而由于这种进入门槛,供应量较低,所以薪资上涨。
如果几乎每个人都可以免费学习编程,为什么工资很高呢?
我必须注意,另外两个效果在这里玩,如果你仔细看你的问题:
选择偏倚。你只看高薪程序员,虽然也有很多中等收入的程序员。通过将“高薪”与“自由获得的技能”进行比较,您将非常关注焦点放在“高薪”上。
我认为,如果您根据技能来看程序员的薪水,或者根据获得该技能所需的努力技能,你会看到一个更加平庸和细微差别的薪水。你正在比较极端,但假设一个正常的相关性,实际上“自由获得”和“高薪”之间的相关性是非常小的。
反过来,当你看看开始学习编程的人数,以及找到工作作为程序员的百分比,你会发现最大的组织根本找不到工作 - 即他们的工资是零!
替代偏见你正在比较苹果和橙子,建议编程技能可以免费获得,几乎每个人都可以得出结论,他们的薪水很高,这是不合逻辑的。
当比较的一边太难以在数量上进行正确评估时,可能发生替代偏差,因此您可以用其他方式替换它。你本质上是问:“如何容易,自由和广泛地使用的东西仍然会导致很高的薪水?”
当然,这不是因为“容易,自由和广泛可用”不是一个合理的衡量标准比较高薪的原因。技能,工作质量,供求等都是高薪的可比原因。
资深开发人员(20年):
请允许我用一个颇有名气的故事回答这个问题。在许多语言和国家里,我听说过很多不同的版本,但是这样的东西就像:
一个男人要求一个水管工把他的房子里的管道解决一个问题。水管工进来,看着管子,听了一点流水,然后抓住一把锤子,打了一把管子几次。就这样,问题解决了,水暖工写了一张100美元的发票。客户都震惊了,问:“你怎么用锤子敲打一根管子多少钱呢?请把更多的细节放在你的发票上!“水管工说”没问题!“,把发票拿回来,并添加以下几行:”用锤子敲击管子 - $ 1,知道在哪里打 - $ 99“。
很容易学习如何使用锤子。你甚至不需要买一个,只是找到一些免费的石头,并把它绑在一个像古人那样的自由棍子。Voila,你有一个免费的锤子。然后再花一点时间学习如何使用它 -再次免费。现在你已经准备好修复你的管道问题了... ehm .. ehm ...如果你准备好处理所有的后果...。不知道在哪里打:-)
学习编程非常像管道。学习并不需要很长时间。掌握它需要一生。对任何其他技能替代“程序设计”,同样的声明也同样如此。
一名普通工人:
因为与其他领域一样,作为一个专家需要时间和精力。更不用说编程往往是无聊的。
从其他角度来看:由于每个人都可以免费学习,应该有丰富的专家程序员,驱动比需求更多的供应,从而降低工资。但这没有发生。因此,质量或数量方面的需求仍然超过供应。
程序员:
这个问题的含义是编程易于学习,为什么人们为编程技能的人付出如此多的代价呢?
答案当然是编程不是特别容易学习。当然,大多数人可以学习打印“Hello World”,或在特定环境中闪烁LED。但是没有人会付钱给你做这些任务。人们为程序员和软件工程师付出了很大的代价,因为他们生产的东西比那些简单的任务更复杂(更有价值)。
要真正成为一名好的程序员(或任何其他需要技能的任务)需要一定的时间和精力才能以故意的做法。30年来,我已经从软件工程中获益匪浅,并且仍然通过自己的项目“练习”,尽管我不再付钱写代码了。
高级程序员:
同时也受供需驱动
每个从“编码学院”获得证书的工作人员都称自己是程序员。
即使他们学到的都是HTML(这是一种标记语言,而不是编程语言)和CSS(这是一种风格管理工具,而不是一种编程语言)。
证明你学到了证明你是程序员。
你的投资组合是什么?你在哪里实习?你有什么工作经验?
什么是“瀑布模型”,它的好处与它的缺点是什么?
这是一个数据库定义。这些是对象关系及其基数。请将其规范化为第三种正常形式。
好的,你已将它们归一化为第三种正常形式。什么是第四种正常形式?什么是第五种正常形式?什么是非规范化?你为什么要在某些情况下这样做?
什么是版本控制系统?你如何在日常工作中使用一个作为程序员?你为什么要用一个?你知道怎么用?
你知道怎么使用调试器?
什么是基数树?什么是BTree?什么是AVL树?什么是特里什么是帕特里夏树?现在百万美元的问题:你什么时候会使用它们?
你的编码风格是什么,BSD还是Linux KNF?还有什么?
您是否在CamelCase中命名您的功能,还是使用其他命名约定,例如匈牙利语符号?
你没有学到任何这些东西?
甚至不是第三?
甚至没有在“代码学院”?
即使你花了差不多两个星期呢?
抱歉。你不是程序员
虽然,引用你,“如果几乎每个人都可以免费学习程序[...]:
哦没问题。他们能。他们通常不会。因为它实际上是很多的工作,而且通常是多年的练习。
很多人力资源成本正在清除申请编程工作的非程序员。
一旦你找到一个真正的,你想保留他们;所以你在找到替代品的费用方面向他们支付他们的价值。这设定了市场利率。
拥有多个行业和平台背景的30多年专业开发人员:
因为在免费学习编程的时候,你无法学会免费编程。
通过“学习编程”,我的意思是学习思考一个成功的程序员为了编写程序所需要的方式。它不是在学习编程语言。任何人都可以教一些编程语言的基础知识。但是从这些简单的pidgin语言元素的飞跃,以流畅的方式表达解决方案作为程序员并不是每个人都可以做到的。
大多数人也学习一两个主要技能来完成他们的工作,这些技能通过自己的职业生涯变化不大。编程不是这样您可以期望每3-5年学习一次全新的技能或丢弃以前的技能。即使像医生一样学习的职业也不会这样做。器官和解剖学不会因为新生儿出生或新的治疗技术而变化。
在编程中,我们每隔几年就会得到全新的人物。只是当我们以为我们已经把这些新人看出来的时候,新一代再次出现了完全不一样的地步,我们只是希望像以前那样的人一样表现出来。
这种不断需要适应和编写现实世界代码的程序员不了解1或2技能。他们需要知道或许十几个或更多才能够发挥作用。通常有几种语言,许多工具,配置和标记语言,所有这些语言的最佳实践,以及只需执行其“工作”所需的文档和过程。
如果有什么事情,好的软件开发者少缴,因为他们必须处理一下。对于熟练的开发人员来说,10万美元几乎不值得我们忍耐的人,他们不知道有多难。
我可以是记者。我可以写记者不一定是程序员。写作还不够这就是为什么记者做了我所做的一小部分。我可以做他们的工作他们不能做我的
技术经理:
你做出最令人震惊的假设,即薪水与大学经验相关。
工资与供需相关,工作有多困难(反过来又与供求关系)。
编程和软件开发,或计算机科学,都是难事。许多人可以免费学习任何他们想要的东西。特别是今天。你可以自己学习几乎任何你想要的东西。问题是你会做吗你会好吗你能做一份工作吗?
没有提高薪水的人最大的问题基本上分为以下几类(几乎没有一个是由于缺乏大学学历):
他们没有高需求的技能
他们的技能不够好
他们不能说服人们给他们高薪的工作(不管他们有多好 - 即使他们是一个虚拟的“神”)。如果不能和人交流,不外交,让人生气,没有友好的态度等等。或者你不知道如何卖自己,为了自己的才能,那么你将无法赚钱。
一个程序员平均达到75-100k(正如你所指出的),与47k的笔记本工资相比,只要有能力成为记者的人数就会更高,而成功成为软件开发人员的人数更多。你可以成为没有大学的记者。相信我,如果没有大学,你可以成为任何你想要的东西,而不需要一些只能通过完成大学学位(即律师M.D)的高度专业化的认证。这不是人们不能做那些。我做了每一盎司的文书工作和备案动议,家庭学习,家庭背景调查等...为了我的大儿子的收养(完全没有任何一个律师 - 总共花费500美元)。只是我们有这些认证的人的身体,他们只会给已经完成大学学位的人们。这是因为在这些特定领域,除了大学以外,没有什么好的方法评估某些人的知识和“认证”。这些领域非常关键。但是你知道或听说过多少法律专业人士,咖啡店的工作b / c他们不能做到吗?是的:/
我已经获得了大学学位“必要”(如广告)的工作。但我没有一个(自从〜12岁以后,我自学;〜30yrs的经验)。即使是近乎必要的情况(招聘经理,偏见...)。事实上,我所获得的最大的赞美是,戴尔的工程团队对我的演讲和答案非常满意,招聘经理,谁亲自告诉我,她从来没有一个规则雇用任何不是大学毕业生的人,向我提供工作。她说,他们对我的采访表示高度赞扬,她根本无法让我失望。我拒绝了这份工作,我去为别人工作。对于一个她的承认,大学毕业生以某种方式“上面”其他人是非常有说服力的(坦率地说,很多人几乎不知道如何用相对的方式绑定他们的鞋子)。但关键是即使在最极端的情况下,
但是就是这样。大多数人不会这样做。他们不会去学习。他们不会很好。他们不能说服他们值得的人。他们不会有正确的人格。或正确的业务能力。这是一些事情。学院不是高薪工作的机票。即使是法学学位或MBA也没有。即使是医学学位也没有。大多数医学毕业生将能够做出非常好的生活b / c需要这么多时间,这些人做一个非常需要的服务。典型的医学院校毕业生认真投入,想做好事。因此,你没有发现很多不成功的事情。但是,让人们看起来似乎都觉得这些巨大的薪水是相当特别的。那些相对来说是非常罕见的。再次,它是个性,业务能力,技能,运气,毅力等等。这是为任何工作。而大学不是自动获奖彩票。也没有在线学习东西。它需要这么多,这么多。
软件架构师:
任何人都可以学习踢足球,为什么NFL的薪水如此之高?
“任何人都可以学习任何东西”,“任何人都可以做任何事情”的概念听起来不错,但在现实中很快就会崩溃。人是不同的
有些人不能长时间坐着坐。
有些并不是自然而且面向细节。
有些只是没有得到它。
那些是学习的巨大障碍。需要10,000小时的掌握,并将其变成20,000或更多。
软件的工资范围非常广泛。一些个人贡献者总共赔偿100万美元。有些做30k。某些地区的位置问题和短缺,如SF和西雅图,推动价格上涨。不是每个人都想搬迁。许多人接受较低的工资来留在自己选择的地区。
编程业余爱好者:
学习说英文不会让你成为作家。还是演说家。
阅读一些蓝图不会让你成为一名建筑师。
看看我要去哪里
基础知识的编程语言或二或七不会使您成为软件工程师。
我可能会看几个YouTube视频,也许看一点,买一些材料,并构建一个简单的结构。有4个墙壁和一个屋顶。也许是一扇门。
但没有人会付钱给我这样做的。他们需要一个房子用管道和电气和屋顶不泄漏。你有没有听说过这个新的“聪明的家”狗屎?得到最新技术的最新信息。哦,我们不需要一个房子。我们需要他们的整个社区。
或者也许他们需要一个办公楼。与管道和电气和所有相同的狗屎。但是1000人。配有可以同时支持所有这些的配电网络。不确定是否可以?更好的开始测试。如果15个人同时冲洗厕所,管道会发生什么事情?更好的测试也是。哦,他们需要在4月份之前。艰难的期限该公司正在增加和雇用300名新人,他们需要这个空间。哦,你几乎完成了其实他们希望安装一个改进的物理安全系统。微小的最后一刻变化。RFID,你知道吗每个人都有RFID现在。
您不会通过阅读手册和观看一些YouTube视频来学习所有这些。
而且你不会学习软件工程,真的要学习它,通过花几个周末的时间来看看Java for Dummies。
路人:
寻找好的程序员是困难的。大多数人可以编写一个简单的脚本或网页进行一些培训。但是,设计和编码一个需要500k行代码工作的项目,以非常有效和可维护的方式解决问题需要多年的学习和经验。
一个坚定的有抱负的工程师可以免费学习所有这些,减去笔记本电脑的成本。但是大多数人都烧掉了,对于小的改进,非常详细的工作并不能给你很好的故事。所以软件工程师的薪酬比较高。
研究实验室工作者:
这里有很多好的答案,所以我只是添加一些细节,我已经学会了自己。
这里的许多用户都指出,薪资首先是市场力量的结果 - 需求旺盛,供应不足。例如 - 在波兰,有预测每年需要超过5万个程序员,而这只是一个国家,经济增长速度非常快(至少在欧洲)。需求高企,供应明显偏低,短期内无法改变。这不是每个人都能做这个工作的情况,需要多年的学习和经验。不是每个人都可以这样做,我也确信很多人对此并不感兴趣。想象一下 - 你多年学习,所以你花费的时间会很好。即使如此,你也不能确定这是足够的
路人:
首先,学习规划对于任何关心自己(相对较少的人)来说,其实是相对容易的。但公司通常需要软件工程师,而不仅仅是程序员。
他们需要的人谁可以找出什么编程,而不仅仅是如何编程。在五年前他可以阅读并理解其他人的代码之前,他离开公司之前做了必要的修改。谁知道什么时候(何时没有)重新使用别人的代码,以及如何使他们的代码重新使用。人们可以按照他们可能不会特别喜欢或同意的公司流程和标准来做到这一点。可以编写所有必要的单元测试和文档的人可以随身携带。每个人都可以按时完成所有这些工作,或多或少地做到这一点。
能够做好所有这些事情的人都是比较少见的商品。
路人:
相当不同于典型的“免费学习编程”教学课程,基本上是满足一定要求的指导,说“显示红色按钮”,然后“添加点击事件处理程序”,最后“绘制弹出” “真正的”编程,或编程真正的影响总是令人不快,挣扎的经验。
因为真正的编程处理扩展系统的容量。因此,这个问题从来没有得到解决,而且这是影响所在的地方,因此有很大的不确定性和复杂性。问题变得更像“创造一个能够提供有见地的数据和加速业务流程的平台”等。这包括几个难题:
1.有效地分析和理解知识领域,使其可以准确地建模;
2.了解并正确选择可用的技术工具;
3.了解如何使用所选择的工具灵活,正确地对问题进行建模。
这需要技能和经验,除了在实际的工业环境中无所不能。薪水很高,部分是因为这个原因。
15岁开始编程:
首先,薪水来自于高需求(稀缺性),而不是学习编程的成本。
第二,高成本是软件工程师而不是程序员。单独编写代码是不够的。与学习Autocad一样,没有人能够搭建桥梁。
虽然任何人都可以免费学习编写一些代码,使计算机做某些事情,但这并不意味着编写的代码是生产代码。
它需要激情。许多人尝试,因为钱或只是探索,但退出,或者他们无法达到一个良好的水平。
软件与编程完全不同。它需要多年的实地经验和不断的学习,而且很少坚持到达一个很好的水平
10〜40%的工作是编程,剩下的是分析,设计,测试...(再次是软件工程)
因此,虽然任何人都可以学习编程,但很少有激情和毅力成为软件工程师,这造成了价格上涨的短缺。
咨询公司工作者:
虽然每个人都可以免费学习编程,但并不是每个人都可以
有兴趣学习如何编程;
将努力,将有决心跟随学习如何编写代码;
会变得流利这就像学习一种自然语言 - 你可以说“Een pint alsjeblieft”或“a beer please”,但这不会让你成为一个近于母语的人。
可以获得足够的创意再次,这就像学习一种自然语言 - 你可以用英语举办演讲,但这并不意味着你有创造力来讲一个笑话。
想要让自己的工作,即使他们可以代码。知道如何说英语并不意味着要成为英语老师,导游或国家语言委员会的一部分。
可以保持成为终身学习者的态度;编码是关于持续的自我完善。不是每个人都可以处理反馈(或批评)。
可以将复杂的问题分解成较小的问题;
可以以结构化的方式解决问题(更小和复杂)
软件架构师和开发人员 (1979年至今) :
程序员的薪水不一定非常高。唯一的薪水非常高的程序员是为赞赏他们的人而工作的恒星程序员。他们的高薪是真的很便宜,因为他们产生的价值远远超过他们的收入。
几乎每个人都可以学习编程。
但只有一小部分可以创造一个复杂,高性能和坚固(无缺陷)程序的设计和实现,可以在十年以上的增强中生存,而不会变得脆弱或难以管理。那就是这个工作产品,它的程序员的黄金重量是很多倍。相比之下,这些程序员的薪水很高。
而且我没有看到那种特殊的能力单独学习。它更有可能是内置的。这些程序员不工作很多;他们的努力是纯粹的快乐和流动容易。他们可以看到别人不能做的事情。
这些程序员经常被官僚和较少的程序员讨厌,因为他们可以在他们的诋毁者相信这是可能的情况下经常地完成某件事情。
这些程序员有时是反社会的,但最好的是对他人非常有帮助。在这些程序员之一的指导下,你可以算出自己的幸运。你会比以往任何地方学到更多的东西。
工程应用软件工程师:
每个人都可以免费学习编程。但是每个人都要作为程序员工作吗?
1、因为没有足够好的程序员。是的,你可以免费学习。但是大家是否遵循?在Twitter上发布或撰写一个hello world程序或复制粘贴StackOverflow代码不是编程。
2、因为这并不意味着每个人。你需要更高层次的逻辑思维和解决问题的技能才能在这个领域生存下去。学习是一回事能够使用这是完全不同的事情。
3、因为这个工作不容易。所有你可能会看到的是我们盯着屏幕或敲击我们的键盘。但这是超越这个。最重要的是,这个领域是不断变化的。技术的发展速度比我们掌握的还要快。我们需要领先于变革。
4、因为我们帮助我们的公司做更多。这个应该是如此明显。如果我们的公司付出了很高的代价,那么我们很容易就认为我们公司正在从我们这里获得更多的收益。
5、因为这是聘请好的程序员的成本。在一定程度上,薪水是由竞争驱动的。如果乔有类似公司的多个优惠,他可能会以最大的回报(无论是薪水,奖金,股本等)选择报价。而且公司薪酬不高。
不要用硅谷的薪水来衡量我们大家。
与此相比,大量的程序员花生花生。
路人:
这有点像数学。任何人都可以免费学习数学,尤其是Google和Youtube以及所有这些教学网站。但并不是每个人都擅长数学。呃,很多人在数学上吮吸。
编程也是如此。不是每个人都可以很好的。你需要知道的不仅仅是在你被聘为专业程序员之前制作几行代码,就像你知道你的mdas操作并不意味着你现在可以解决微积分的方法一样。
文章从不同角度,介绍了真正的程序员行业的现状,以上大部分是资深程序员,超过20年的都不少。
文章来源于网站:www.quora.com
仅以此文,献给一些迷茫的初学者程序员。