Advice and advice for all young engineers who want to work in software development

Click on " Program Life " above, and select "Public Account"

Pay attention to the stories around the programmer (Yuan) for the first time


640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

Image credit: Fargo Season 3


1. Why I am writing this article:

In the past few days, in the software training and certification column of an IT forum, I saw a lot of people who were confused, and also saw a lot of questions that everyone was generally confused. The purpose of writing this article is to make me I will tell you some of my experience and experience in the software industry, and I will explain some of the issues that everyone is generally concerned about and generally confused about. I will try my best to tell you the truth as I understand it. At the same time, I sincerely hope that everyone can Look at your own direction, future, development strategy and other issues rationally and clearly, and avoid the misunderstanding of your own development.


I am currently a software development director in a large domestic software company. Since this article involves my personal comments on some companies and institutions, there are both good and bad aspects, so it is not convenient for me to disclose too much about myself. Some information; in addition, because I wrote in a hurry, and I was busy with work, I did not do some sorting out in terms of text, article structure and logic, so it may look a little messy in some places. I think chaos and non-chaotic are secondary, the point is, I hope that this article of mine can let you see through some things, so as to prevent yourself from going into a misunderstanding in the software industry, so as to be able to achieve greater success in the software industry development and progress.


640?wx_fmt=jpeg

Image credit: Three Billboards Outside Ebbing, Missouri


2. How to plan your own technical development direction and general idea of ​​life development?

1) Always believe that "what is rare is precious", my experience over the years has found that there are many software engineers in reality who have serious "following the trend" behavior, that is: as long as there is a certain field or trend in the market or in the media. "Noisy" guides the learning direction and learning behavior of these engineers. If we purely use development prospects and "money scene" as the measure of personal technology development direction, a general rule is: keeping up with the most popular technology does not necessarily lead to high salaries; as you can see, the same C++ Programming language development software, VC engineers under the Windows platform, the salary is obviously lower than the C + + engineers under the Unix platform, why? The reason is that a company can easily find engineers with VC skills in the talent market, but it is relatively difficult to find engineers with experience in developing C++ software systems under the Unix platform;


2) The Chinese software market is a typical domestic demand-driven market, so Chinese software companies need software development engineers in different fields, and software development engineers in different fields have great differences in salaries, and in the process of personal career development should be "on demand";


3) Don't be limited to technology, a person's success in his own career or, in a narrow sense, the accumulation of personal wealth is the comprehensive result of a person's "resource integration ability", and is definitely not a unilateral decision by a person's technical ability. Yes; in my past experience I have met too many "smart, highly skilled" young engineers who are smart in technology but lack the "basic network" management to survive in the company's specific interpersonal context ability, and became a typical "cynic" person. A high technical and personal IQ or even good grades in school definitely does not mean a person has an easier path to financial freedom and career success. It is very necessary to have a certain amount of technical accumulation at a young age, but if you are completely addicted to technology, instead of focusing on the core competencies, industry background and interpersonal network that your personal career success must rely on after 5 to 10 years, Sooner or later, you will fall into the passive situation of life;


4) Don't complain about the complexity of the company environment you are in and resist it. In fact, whether it is a multinational company with a high level of management or some private enterprise with a very chaotic management, as long as there are people, there is only one relationship between these people. If there is a mutual relationship between work content and responsibilities, there will inevitably be various forms of personnel struggle. In this company environment, some people are good at analyzing the company's internal environment and power dynamics, and know how to properly develop and protect themselves. Their own interests are not harmed, they exercise a kind of "leadership ability" in a complex environment, and some people become "cynical" or "cold-eyed" in this complex environment;


5) The development model of an individual’s career journey is: as the number of years in an individual’s career increases, the core competencies that you can work effectively in the workplace and deserve job performance and personal benefits will be as little as possible from the province’s technology. things, but personal management and leadership skills, as well as the network of relationships in the industry, and the interpersonal skills and interpersonal qualities of a person that these factors must come from;


6) Don't "play cards" according to common sense. Most people live ordinary lives because most people's thinking is modeled, so they do not really use their brains to deeply study the truth and make their own decisions. choice and judgment.


3. How should you start your own action and have a great career start?

640?wx_fmt=jpeg

Image credit: Inception


1) In order to get a software development job, should I study by myself or find a training institution?

任何一个培训机构都不能一劳永逸得解决你职业发展得所有问题,所以有很多东西,你必须自己学习,但是从公司招聘软件开发工程师的流程与关注点的角度来看,基 本上是两个大的因素,一个是个人的特定领域的知识结构和基本的开发技能,比如某个编程语言的使用能力,另一个至关重要也是可能通过某个自学途径不太可能得到的就是"特定软件开发领域工作经验"这个工作经验是必须通过实际的一些开发实践方能获得的,而这个工作经验是你在公司决定给予面试机会,以及公司决定录用当中相当重要的一个环节。一方面你的简历中是否有你所应聘的公司所从事的软件开发业务相关的"工作经验描述"决定了你是否会得到面世机会(正是由于此点,造成目前绝大多数计算机相关专业的本科生,甚至研究生在就业方面面临着沉重的压力),用人单位最关心的不是你学过什么,而是你亲自做过什么,另一方面在你得到面试机会后,用人单位的面试框架基本上在技术方面就是两个方面:通过让你描述你曾经做过的软件开发项目来判断你到底有多没深入的开发经验以及是否与他们的要求想吻合,另一方 面,在让你描述工作经验的过程中,或过程后对你的基本知识结构和基本的技术能力(比如编程技能)进行考核。


我给你的结论就是:不是说你学过某个领域的技术知识,比如编程语言,比如数据库等,就意味着你能找道一个软件开发方面的工作,用人单位永远将"你真正动手做过的项目与公司业务的吻合度"做为第一重要的判断点,你可以通过自学,或者自学能力差的话,跟着某些培训机构去学习某个领域的专业知识,但是真正促使你找到一份薪水不错的工作的主要因素是:你能够通过某种方式做一个相对来说完整而复杂的软件开发项目。而这个项目工作经验只能说你在某个公司实践工作获得,或者从某个软件培训机构获得(前提是这个软件培训机构能够提供这种级别的软件项目工作经验,但我发现真正能作到的软件培训机构在市场中很少)。


目前,市场上有很多软件培训机构都美其名曰,他们有项目开发实践,但想提醒大家的是,同样是项目开发实践,是否能够最终在个人求职方面用的上,主要决定于这个项目本身是否会给你足够的'工作背景经验'以及这种工作背景经验在人才市场上的"稀缺性"有多大。


在这里引用我一个在国内电信软件公司做项目开发总监的朋友的一句话:"我在招聘自己的开发工程师时,基本上很少关注这个人有没有证书,我关心的问题基本上很简单的几个事情,一个是他有没有做过与我目前的项目从技术面相吻合的项目经验,第二个问题是他本身的技术知识面和实际的动手技能如何,第三个问题是这个人的学习能力和潜在的素质如何第四个问题是,是否是一个易于合作的人,擅长沟通,技术人员都有那么一些"个人英雄"主义的情结,但一般只要是复杂的系统项目,更需要的是整个开发团队的通力合作"。


2)北大青鸟或者NIIT培养出来的"低门槛进入"所谓的"软件蓝领"能适应中国目前的国情吗?

市场上非常火爆的所谓"软件蓝领"培训,比如北大青鸟,NIIT等,"软件蓝领"曾是媒体非常热的一个词汇,但中国目前需要这种意义的"软件蓝领"吗?或者说"软件蓝领"在中国真的能够就业吗?因为蓝领也好,白领也好,于想从事软件开发的人员来说,他们的目的很简单,找到在IT软件公司的工作。


对于这个问题,先谈一下我的基本观点:传统意义的"软件蓝领"在目前中国的情形下是不适应的。


首先,应该说软件蓝领实际上是软件产业发展到一定的历史阶段所必然的结果,所说的软件蓝领是在大规模软件工厂式生产模式下,专业从事软件代码与基本调试的一 线人员,软件蓝领是产业发展的需要减低总开发成本并实现规模化,工厂化软件生产的必然要求的职位,在这方面印度的软件工厂模式已经取得了相当大的成功。他们拥有大量一线从事基础软件开发工作的软件蓝领,而且形成了金字塔式的人才结构。


其次,我们谈论任何事情都不能脱离历史发展的现状来谈论,中国的软件生产方式从总体来说离着大规模软件工厂模式还有相当长的一段路程要走,从政府的意愿来说,政府希望中国的软件产业能够以尽快的速度完成产业结构的完善调整,企业的兼并与重组过程,从而能真正形成可以与国际竞争的大型软件企业;但至少在今后的几年内难以实现,软件人才结构的调整也需要再长的一段过程。传统意义的软件蓝领实际上是,这些从业人员无须关心它所开发的整个软件系统是怎样的一个系统结构,他应该做什么早已经被设定好,他只需按照"软件生产规范"实现就行了,一定不能忘记这个的前提是"大规模软件生产模式",人数可能是1000人,到几千人同时进行软件开发,但我们再看一下中国的情形,中国的软件企业去年统计是4700家,其中55%是50人以下的公司,50-200人之间的占到42%,只有极少数的公司达到了1000人的规模;我们必须对一点非常清晰,如果我们培养了软件蓝领它是需要在中国的软件公司就业的,这将占到绝大多数,而且这绝大多数的人,绝大部分会到人数小于200人的软件公司工作,但实际上站在这个角度说,可能这些软件蓝领有相当大的一部分人员找不到工作,原因很简单,中国的绝大多数软件公司的软件从业人员的工作方式并没有按照软件工厂模式来运做,举例来说,很多公司是项目经理即做系统设计,又从事代码编写,同理,项目经理的开发团队的一线软件工程师也是即做代码,又参与系统的总体或者局部架构的设计,我不能说中国的所有软件企业都在这么进行着软件开发,但至少在中国目前情形下,这样的方式占了绝大多数。所以,我敢肯定一点,印度的软件工厂模式下的"软件蓝领"到中国来的话,他绝对做不了中国许多软件公司里的工作。


所以,大家看到了,北大青鸟的软件工程师培训课程目前非常火爆,但是火爆并不意味着他的课程,以及他培养出来的软件工程师在中国软件人才市场有充分的竞争力的。


再次,媒体炒做"软件蓝领"是一个事情,做为从事IT教育的教育机构如何做教育又是另一回事,政府肯定是希望我们早日走上软件工厂模式下的软件产业结构升级,但作为从业人员的最终就业场所是软件公司,那么这些中国的软件公司他首先要照顾的是自己目前的发展阶段,需要的是比软件蓝领更加有综合的素质,综合的知识结构和技能的从业人员来从事自己的开发,而不是遵从政府的意志,这是一个非常显而易见的事情。


所以,超越特定的产业历史阶段来谈论软件产业里的软件从业人员的教育问题是不切实际的。


我本人对两家"软件蓝领"培训机构的看法:

北大青鸟APTECH:

说到软件培训机构,就必然要谈到北大青鸟,总体来说我对北大青鸟的教师。


1)北大青鸟阿博泰克公司是北大青鸟集团和印度一家培训机构Aptech合资成立的一家软件工程师培训机构,他们的核心商业模式是"特许经营"。


2)北大青鸟在市场宣传和品牌运作方面做得非常成功,他的总经理杨明原来一直在北大方正从事技术与市场方面的管理工作,对如何在中国市场上从事营销工作有较为 深刻的认识,北大青鸟曾经在2001年出现过一些业务不景气的现象,但杨明的加入,通过一系列的整合营销传播活动,将北大青鸟这一品牌进行了非常好的吵作,起到了长远的效果。


3)北大青鸟的核心客户群定位在"高中以上学历均可学习"这样一个群体上,实际上,从我们招聘软件工程师的经验来讲,这样一个群体,基本上不太可能在软件公司内找到从事软件开发的工作。


4)我发现现实中,很多人学习软件开发有典型的盲目的从众心理,因为他们不知道事实的真相。


NIIT

1)NIIT也是来自印度的一家培训机构,而且公司决策层是一水的印度人,他们的核心商业模式也是"特许经营"。


2)应该说NIIT和北大青鸟Aptech有一定的渊源,NIIT是印度最早从事IT培训的公司,Aptech是NIIT发展早期,从NIIT出来的一些人员创办了Aptech公司,所以他们在商业模式上也有很达的相同之处。


3)NIIT在中国市场上,整体的市场营销与品牌运作方面要比北大青鸟差一些。


4)NIIT的课程设置以及课程中的一些核心理念与内容要比北大青鸟好。


5)和北大青鸟一样,NIIT的课程里没有设置非常有效的足以能够让学员找工作时用的上的软件开发项目实践(我的意思不是说他没有软件开发项目实践,只是说这种项目实践过分简单,对找工作起到的作用不大)。


我给你的结论:如果你基础很差,而且只是想学习编程知识,而不是靠培训找一份软件开发的工作的话,并且你的经济不成问题的前提下,你可以选择去NIIT学习,否则,如果你是想通过在某个软件开发培训机构的培训去找到一份工作的话,不要选择NIIT,即使他承诺签订就业协议,也不要去。


7)IT认证培训的火爆的情形下,你应该保持一个清醒而冷静的头脑

从2001年开始到2002年,这两年的时间,整个IT行业处于一个深度调整时期,中国的IT市场也相应的受到了前所未有的影响,但是IT教育与培训业务却取得了每年30%以上的发展速度,这里谈谈我的理解与体会,其实每个市场的启动与发展,都是与整个市场环境相关的,市场的驱动力来自于客户的内在心理需求,虽然IT行业面临一个调整阶段,但有两点是我们必须看清楚的,中国的IT市场潜力还有太多未发展起来的方面,诸如企业信息化,行业信息化,电子政务,数据通信,无线通信等等领域,而且从这点来看,IT行业仍然是各行业中薪水和待遇相对较高的行业,即使他受到了一定程度的影响。但从另一个角度来说,应该说是整个行业的调整,就业压力的加大驱动了整个IT教育与培训市场业务的高速发展。


正是由于市场发展的速度加快,导致了整个行业的不规范,培训机构鱼目混杂,实际上很多花了很多钱拿了某个证书的许多人,并没有如他们所期望的找到一份很好的工作,拿到不错的薪水。我认为主要有一下方面的问题:


第一,任何一个市场的发展,最终的驱动力量来自于消费者的内心需求,某个商家只要能满足某个特定消费群体的心理需求,他就肯定能抓住市场,赢得商机;所以商家都在潜心研究消费者的内心深处,进行关键的定位诉求,保健品市场,带有很明显的这种特征, 至于这个保健品是否真正能达到他的"诉求",就只有消费者最清楚了。IT教育与培训市场的发展也如此,因为整个产业环境变化和就业市场的压力,驱动了消费者去进行IT认证,我们先姑且不管这些IT认证最终能否达到客户的预期目的,但至少需求是存在于客户的大脑中了。


第二,我们的调查表明,大多数选择IT认证的消费群体,在选择是带有很大的盲从性和从众心理,这些人并没有真正认真研究一下用人单位的需求,比如,有很多在校的大学生考取某个IT证书,只是因为他觉得大学里没有学到什么东西,想考个证书来增加自己的就业砝码,想在他就业的时候,向用人单位证明一下:他在校期间学了什么。但他却没有想一个最关键的问题,这个证书是否真正有用?反正是不管有用没用,先给自己一些心理安慰.我们发现的一个问题是:在校大学生很少能够真正站在用人单位的角度去想想问题, 然后决定一下自己应该做点什么备战就业。


第三,问题涉及到一个软件教育机构,尤其面向IT领域的教育机构,他的总体运做思路和竞争战略的问题,这个机构是否站在用人单位的角度来进行思考,他们的用人逻辑到底是什么? 他们真的是看某个应聘者的证书?还是在用人的时候更加注重从从业经验来做判断, 其次是,现实中,真正的就业困境到底在哪里? 最后是软件教育机构如何 设置自己的课程来满足用人单位对"软件人才"的"核心需求"。


8) 为什么计算机相关专业大学本科甚至硕士研究生就业问题?

目前大学生就业问题已经成为一个日益严重的社会问题,以前IT相关专业的大学生就业时基本上是"皇帝女儿不愁嫁",但是,我们看到已经有太多的学生,他根本找不到工作。


确实大学生就业问题已经成为一个值得我们关注的社会问题,目前大学生就业困难一方面跟我们目前的传统教育体制的过分滞后有相当大的联系,另外一方面,整个就 业市场的供过于求也是重要的因素。就拿大学生想在IT行业就业来看,就值得我们深思,我们整个传统教育过程中都过分重视"学习知识,考分数",这种思维模 式的引导,使得学生一直转不过这个弯来,我们的学生知道毕业前还是习惯于听老师讲课,自己将来考试过关。目前许多学生非常热衷于某些IT认证类的考试就说 明了这种思维模式的延伸,在学生的头脑里总有这么个概念:你看我在校考了这么多证书,你应该考虑给我一个就业机会吧。但实际上,我最想和在校大学生说的一 句话是:请你们争开眼睛,好好看看用人单位都在怎样的用人,尤其想从事IT技术工作的大学生,用人单位真的不是很关心你到底学过什么东西,他只关心你到底 做过什么? 当然,说到这,我们不能将这种东西归责与我们的学生,应该说是我们整个教育系统有相当大的弊端在里面。


9) 我对于你参加培训,尤其软件工程师培训的建议

我所有下面的建议都是基于这样一个前提:你想在软件公司里找到一份从事软件开发的工作


1、不要相信任何证书,任何证书都不会让你找一份软件开发工作,现在大部分软件公司很现实,他只关心你是否做过和公司所从事的软件开发领域相一致的"软件项目 开发"经验,这是他考虑的80%的因素,其他的因素才是类似专业背景,学校,个人软性素质,沟通技巧和学习能力等。


2、如果你没有任何的软件开发所需要的基础知识与基本技能,你可以到一些培训机构去学习这些基本知识,但是,如果你自学能力可以的话,我建议你自己学习这些基 础知识与基本技能。然后你再找一家真正能够让你实践去做一些"软件系统"的培训机构(后面我将基于我的理解,向你推荐几家)。


3、如果你具备从事软件开发的基础知识和基本的编程技能,但目前仍然没有找到一份软件开发的工作的话,那我告诉你问题的症结:你没有机会去亲自从事一个大型的 软件系统,这个软件系统的工作经验具有足够的难度和复杂性,去找一家能提供这种级别的软件开发实践机会的软件培训机构吧,毕竟这几年,计算机相关专业的毕 业生和几年以前已经今非昔比,这并不是说市场不需要大量的软件工程师了,而是,现在没有多少软件公司愿意为没有"工作经验"的新人提供工作机会并承担一定的"跳槽风险"了。


4、不要被软件培训机构的市场营销与商业吵作所迷惑,如果从"找到工作"的角度来看,能否带你做一个相对"大一点"的软件项目,是选择的最重要的考虑因素。


5、尽可能在培训机构里申请试听几节课


6、不要听信任何的"品牌吵作",本人对公司的媒体宣传,市场策划,公关活动等都有过比较深入的接触,其实有些事情,比如说有些培训机构,他们应该坚持"宁可 不说,不可胡说"的,但你发现目前有多少培训机构他"不胡说"?,但我相信一点, 一些做事浮躁的培训机构,他是能够在市场上一时风光的,但我相信这种靠"吵作"来赢得市场的行为,是不可能长久生存下去的。


7. Be sure to study carefully whether this software engineer training institution has teachers who have really done "many large and complex software system projects in China" to give lectures. Don't be described by some training institutions as "instructor background" or "company background". background" (such as being affiliated with a well-known university or unit). If you still hear words from an institution saying: Hire a professor from a famous university, I advise you to tighten your wallet as soon as possible.


- The End -


"If you have an original article you want to share with everyone, you are welcome to contribute."

Add editor's WeChat, remarks #Submission#:

Program WeChat ID: druidlost  

Xiaoqi WeChat ID: duoshangshuang


Click on the picture to get past content

640?wx_fmt=png

640?wx_fmt=gif

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325500782&siteId=291194637