软件开发工程师在行业外大众的眼里, 或许是一个出众的职业,收入不低, 技术含量还挺高,就连我自己刚入行时也是这么认为的,但事实上并不确切。任何行业中,只要是在金字塔顶端的那部分,都是令人羡慕的,然而,那是需要心血、实力的。 但如果仅仅只是想入行,就没那么苛刻了, 尤其是软件开发行业,更容易。
做一件事情轻松还是坚难, 使用什么样的方法不可忽视,我以一个过来人的身份分析能如何正确快速的踏入软件开发这个行业。
许多人认为开发软件是一件只有聪明人才能做的事情, 这只是一个刻板印象,跟IT行业发展的速度太快有关系 。二十年前, 在中国绝大部份人可能连电脑是长什么样的都还不知道,仅仅几年后,电脑飞速普及,每家必备。 然而, 要使用这部机器, 必须经过专业的培训,连开关机时先按显示器开关还是先按主机开关都有很深的学问,这不仅难度高,而且还很神秘。更别说里面装的软件了, 不经过长期专业的指导,根本玩不来。 从正常的逻辑上的看「使用软件都这么难了, 那制造软件门槛不是要高到天上去了」
事实上, 开发软件和使用软件之间并没有什么必然的关联,更不是老子和儿子的关系 。 有时候使用某个软件会很困难,而开发某类软件却很容易,还有的时候却是相反的,因为开发软件的工具和编程语言, 也只是一种软件而已。至于倒底是先有软件和还先有编程语言,那就是先有鸡还是先有蛋的问题了, 这里不作详细讨论 。
首先解释几个常见的疑问
编程是不是需要具备较强数学能力?
完全不用, 只需要你掌握普通的加减乘除、算绝对值、指数等最最基础的知识, 编程的数学要求也就满足了。 这毫不夸张, 我写了五六年的代码 , 唯一一次用到上学时学到的数学公式是三角函数相关的知识,那时候需要让一个点在网页上转圈,而且这并不是工作上的需要, 只是我自己没事耍着玩而已。
英语不好能编程吗?
理论上最低的要求是认识26个英文字母即可, 也就是说你只要上过初中英文课程就行了。 这并不是说编程并不需要会英语, 而是因为现在翻译软件满天飞, 看不懂用软件翻译就能解决问题了。
找软件工程师的工作有学历要求吗?
学历自然是越高越好, 然而, 只要技能掌握扎实,就绝对会有公司要你。 现在这种职位行业需求大, 很多公司根本招不到人, 学历不是他们首要考虑的入职要求。