什么是职场编程
职场编程是一种职业能力,是未来人人都将需要的东西。在智能时代,职场人士需要处理的信息越来越多,现有的办公工具已无法高效应对,且其迭代速度远远跟不上业务的变化。
如果职场人士自身具备一定的编程能力,可以对工作中的大量信息、数据等进行自动化处理,就能够从大量机械重复劳动中解脱出来,极大的提升工作效率、增加学习和独立思考时间、增强职场人士的幸福感,同时降低未来被机器替代的风险。
职场编程与职业编程
职业编程是以编程为职业的人士,如程序员、软件工程师和数据分析师等,他们需要经过系统的学习和训练,具备非常专业的编程能力,对计算机原理、操作系统和算法等具有较深的研究。他们使用和需要掌握的编程语言、工具、理念和框架等五花八门,还要不断的更新和学习。
职场编程不需要对计算机系统有如此之深的了解,仅需掌握一门简单的高级编程语言即可。职场编程人士注重工作的流程和业务逻辑,开发的程序只要满足自己或内部小团队的工作需求(比如,每天定时对多个excel表的数据进行合并统计并发送邮件),以及业务逻辑的变化,而对软件的性能、安全性以及复用、易读等要求较低,在多数情况下都不需要考虑这些因素。对于一般的事务性工作,职场编程不需要具备高深的数学或算法功底,使用“笨方法”也能够满足要求,职场编程讲究程序的逻辑合理、结果可靠、迭代迅速。
职场编程同样也可以使用现有的开源框架和代码,不需要重复发明轮子。职场编程也需要经历一定周期的学习和练习,当然其难度、消耗的时间以及学习成本远远低于职业编程。
从当前角度来讲,职业编程的首要目标是生存,职场编程的首要目标是提升。但在未来的某个时刻,二者的地位极有可能交换。
信息化替代不了职场编程
有一种说法认为:随着信息化的越来越深入,人工智能的大量应用,办公工具和系统会越来越聪明,我们的工作会越来越轻松,不再需要自己编程。
Newssit不否认这个梦想总有一天会实现,但这个梦想的真正实现,需要职场编程的参与。信息会越来越多,变化会越来越快,系统会越来越复杂,愿意干活的人会越来越少。
首先,信息化系统的开发是一个复杂的工程,从需求的提出、明确,到最终系统的交付使用,要经历一定的周期,付出相当的成本。在实际的软件系统开发过程中,有些需求会被抛弃,有些需求的理解会不一致,有些需求还会发生变化,以及诸多中间过程的因素,会导致最后交付的系统并不是十全十美,要经历相当的迭代周期之后才能达到基本满意。
其次,信息化需求的提出应满足组织效益的最大化,比如要衡量花钱开发系统和花钱雇人干哪个更合算,你手头工作的信息化未必符合组织效益的最大化,甚至有时你手头的工作都未必受到信息部门的察觉(他们也需要拍领导马屁),所以即使信息化系统开发好了,你依然在重复劳动。
再次,经济社会在高速发展,许多业务都在快速变化,除了少数大型企业,多数机构都没有能力让自己的信息化系统随着业务的变化及时迭代,除非核心业务发生重大变化,一般不会轻易更新信息化系统。那么变化的业务所带来的繁重工作依然需要人工来承担。
最后,信息化的首要目的是满足业务的需求,许多业务都是要经历一定的工作经验才能全面理解,不可能指望专业程序员们在短时间内能搞清楚所有的业务逻辑。每个人的工作需求只有自己最清楚,也只有自己才能够根据工作的需要随时调整自己的程序,让自己工作效率的提升最大化。与其耗时等别人为你开发,不如自己具备这个能力。
此外,有些工具软件也许能够满足你的某些工作需要,但你会发现用在自己的工作上,不是少了这个就是多了那个,总不能让你完全满意,而且有些软件还需要你花些心思去学习使用技巧。当你的工作发生变化或扩展,原有的工具可能就不适用了。总之,都不如为自己定制开发的好。
求人以鱼,不如予己以渔。
职场编程如何实现
不少人会有编程是个高级技术活的错觉,在二十年前可能确实如此,但在今天就不完全是了。其实,现在已经有很多非IT 专业人士通过自己编程来满足工作需要,甚至有人还可以写出非常专业的软件。
编程其实不是个很难的东西,计算机科学发展到今天,已经不需要像上个世纪那样,每样东西都需要“发明”。如今我们有许多通俗易懂的高级语言,有大量的成熟开发框架和工具,还有丰富且优秀的开放代码,极大的降低了编程的门槛,况且对于职场编程来说,技术要求并不是很高。
对于典型的职场编程来说,只需要学习一门python这样的高级语言,掌握使用python访问文件、数据库和网络的接口,再了解一点数据库的知识就够了。而且这些东西在网上都有现成的代码和demo可以让你践行“拿来主义”。
对于刚开始职场编程的人来说,甚至可以不去了解面向对象和面向过程,可以不去管程序的性能和可读性,也不需要过多的理解所谓的编程思想和原理。毕竟我们只是工作需要,而非要获得专业认证。只需要会用且满足功能需求即可,编程的目标是有效可用。
再者,不远的将来,会有针对职场编程的专用框架或套件出现,这些框架或套件会根据职场编程的通常需要,提供现成的模块和接口,并使之易于非专业人员理解,这将极大的降低职场编程的学习难度。
综上,非IT专业的职场人士通过编程提升工作效率,减轻负担,是具有极高的现实意义和可行性的。就像如今人们已经习惯了出门开车、上班开电脑一样,在将来某个时刻,一定会对编程习以为常,尽可能的使用编程处理工作甚至生活中的各种问题,到那个时候,所谓的人工智能时代才会真正实现。
Newssit 相关技术能力
Linux
C++
Python