程序员2020:终结者休息

今天的程序员与以前不一样-编程语言(或多种语言)的知识不足以在劳动力市场上真正具有竞争力。您可以在C ++代码中编写尽可能多的指向指针的指针,但是如果您的雇主在哭泣(那么少有的家伙大喊大叫,剥夺他们的奖金,威胁并站在客户这边),这有什么意义呢?程序,而不是与服务器通信的东西)?一段时间以前,这些小工具,管理概念,人员选择趋势趋向于相同:模块化,离散性,甚至是员工,软件和工具的原始化和狭special的专业化。但是进化却走了一个错误的转弯,现在世界上需要能够执行所有任务的智能设备,多功能程序和应用程序(您好,Yandex Go),当然还有通用专家。 “人乐团”的概念回到了潮流中,没有时间离开潮流。 





那么,到2020年底,一组匹配完全满足编程要求,您需要什么?



▍数据结构与算法



如今,有许多自学成才的程序员,并且具备使用特定编程语言的良好编码技能。这些都是技术人员,从其他个人资料,“ IT领域的伏击”,业余教育爱好者等中接受了再培训。他们真正了解如何编写代码,他们精通函数和语法,知道一些技巧,并且在OOP和模式方面特别先进。在劳动力市场上,这已经具有很多竞争力。 



但是,在一个好的项目的最初工作日里,问题就开始出现了,很显然,使您成为一个优秀的编码器的培训任务与生产中的代码无关。要编写优秀的专业代码,您需要了解数据结构和算法,并能够设计软件。我见过非常聪明的程序员,他们没有使用数组,树,链表,排序等。这些家伙有两个鲜明的特点:1)他们固执并且对自己的优势充满信心; 2)他们花了很多时间写一个已经存在的结构-我已经看到各种各样的树木被重新发明了,它既可怕又怪异。我已经对资源保持沉默。



因此,任何级别的程序员都必须轻松地使用结构和现有算法进行操作。顺便说一句,人力资源专业人员和CIO喜欢在访谈中使用这些主题。是否值得将面试转化为考试是另一篇文章的主题,但事实仍然存在。



▍业务流程



我仍然记得有可能创造梦想中的产品的美好时光,产品专家,营销人员,销售人员将其变成了公司客户的梦想产品。当然,现在不同了:商业人士放松了,客户变得挑剔,竞争对手已经学会了制作漂亮的东西,而不是屈服于老旧的东西。现在,任何程序员和任何开发人员都必须了解为其创建软件的业务流程,并且必须对公司的活动领域有最低限度的了解。在这里,“外科医生不必十次手术”这样的论点就不会继续,因为这是对论点和诡辩的伪造:除了切口部位和特定器官外,外科医生还了解分析,药理学,复苏,大体解剖学,生理学等。 



这是一个大问题:开发人员仅根据技术规格来创建产品,而不是为了特定客户的方便。因此,如果要使您有效并且创建有价值的,可销售的(为了您的薪水)产品很重要,请在考虑客户需求的情况下创建产品,而不要考虑您的需求。向用户询问要求,收集有关产品使用方式的信息,确定不便和便捷的模块和功能-这样会变得越来越好。 



顺便说一句,关于如何理解为其创建应用程序的业务流程的小技巧。与来自前台的“销售”部分的同事聚在一起,进行共同的研讨会:他们告诉您有关流程和客户,使用情况和重要优势的信息,并且您告诉他们发展不是一波三折,并为我洗了个计算器客户非常要求在半小时内计算出核电站项目的参数和成本。”   



ath数学



女王的领域。恩,还是科学,不是本质。无论我们如何在IT世界中避免使用数学,它的重要性每年都在增加。没有数学知识,就无法开发机器学习,神经网络或人工智能。而且,如果您是网站开发人员或前端开发人员,只是gr咕不停地阅读下一段,那就停下来,这适用于所有人。因为不久之后,至少没有ML / AI /神经网络/ BigData基础的程序将落在后面。因此,解决方案很简单:在为时已晚之前,研究必要的数学知识。



关于入门,我有一个小秘密:购买任何高级儿童百科全书或一本有关数学的流行科学书籍,潜入大气层,掌握基本条件。然后它会去,甚至收紧。 



related相关领域的基础知识



这一点可能会激怒任何人,但是是的-如果程序员和他的同事都对开放空间,办公室和团队中邻居的工作有所了解,他们会更好。如果您是一名程序员,则最好了解UI / UX,前端和后端,系统管理,测试等一些基础知识。这将允许进行富有成效的工作对话,而不会相互指责和怀疑。无需深入研究该主题-基本的教科书,在线讲座和互联网课程就足够了。如果您真的对开发人员的职业感兴趣,则可以参加一些全职的集成软件开发计划-那里将为您提供适量的一切,但是,大多数情况下都是有偿的。 



这些具有广阔工作前景的“通用士兵”在项目经理和团队负责人中更容易找到。如果您有兴趣,请在学习相关学科方面有所发展。 



noTechno-trio,否则未来将不被允许



看起来似乎很奇怪,但是程序员通常只知道这三种技术的存在,并且可以从广义上解释它的含义。但是,很快,这些技术将以一种或另一种方式影响每个人。



  1. . — , , ( ). . Amazon Web Service (AWS), Google Cloud Platform (GCP) Microsoft Azure . 
  2. . , , . ,   ,  . ( ).
  3. ( Docker Kubernetes) , , . , , , , . 


▍ -



我爱有毒的公司员工。如果公关人员或项目经理紧张地纠正一个正方形并说“ Javist Sergey有毒”,我知道Javist Sergey最有可能利用他的知识量压制同事,专业地发现错误并出于最佳意图而无聊地解释它们,并且由于恼怒其他人退缩并表现得粗鲁。但他是专业人士-其中有很多。但是,可惜的是,人们是具有良好组织精神的社交动物,因此无法忍受没有同理心,社交媒介以及情商的人。因此,在最笨拙的谢尔盖(Sergey)僵死并与垃圾收集器进行精巧对话的同时,蟒蛇派(Savely)已经是一名资深人士,并且瞄准了团队负责人,并参加了三场会议,与上级领导保持着友谊,并与客户飞往巴塞罗那的展览(您已经了解了,例子是发明的,所有巧合都是随机的,因为没有人在2020年飞往巴塞罗那。 



现在是进行通信的时候了,通信的频率降低了,变得更有价值了,因此写下您需要进行的通信:



  • 沟通技巧,异议,提问和讨论;
  • 同情心和通过同情心提取必要信息的能力;
  • 能胜任和清晰地表达思想的能力;
  • 非正式交流的技巧,无需熟悉和个​​人过渡;
  • 捍卫自己观点的能力。 


我有个好消息:默认情况下,大多数软技能都安装在一个人中,您只需要从自己身上熟练地掌握这些技能即可。不要去找教练和教练,关于组织心理学,冲突管理和社会心理学的2-3本基础书籍会让您成为一个有思想的会话主义者。 



总的来说,我们的生活正在以一种有趣的方式发展:我现在记得Google Glass的突破性成就,Pokemon Go的出现有多清晰,各种项目管理系统如何起飞并立即崩溃。这些都是炒作需求的浪潮,对趋势的需求。因此,程序员在2020年列出的技能看起来非常“好看”:它们是长期的,而且没有几个季节。也就是说,您可以在没有太大压力的情况下与他们一起生活到2030年左右。而世界其他地方都依靠这些大象。好吧,编程语言,当然是大象下的乌龟,是基础知识的基础。  



我们是为了什么?朋友们,程序员节快乐!您可以使用代码来改变自己的生活,使需求更好,您可以在正常工作的应用程序中提出要求,阅读各行之间的技术规范,并且知道客户或团队负责人的想法。热爱您的工作,在工作和工作上不断发展,不要错过任何一个“;”。所有的问候词和更少的错误。



All Articles