如果程序员仅仅专注于编程,那么他们的职业发展空间将会变得越来越有限,发展的道路也会受到很多限制。
互联网公司中的开发人员通常需要应对多种任务,主要包括以下几类:
从主动性角度来看,只有技术更新是程序员真正主动追求的,其他需求往往是被动接受的。
对于不懂业务的程序员来说,往往难以抗拒产品经理和运营人员提出的需求,只能被动地完成任务。
我曾遇到过许多程序员,当问及他们对自己所完成的功能有何见解时,他们大多回答:“这是产品经理或运营人员要求的。”
我一直提醒自己,程序员应该具备产品思维和用户思维。毕竟,功能是你亲手实现的,代码也是你一行行敲出来的,你是最熟悉这个功能的人。你应该关心每个功能是否真正能提升用户体验。
经常听到程序员抱怨:“我们公司的用户数量太少了,没什么人使用我们的产品,这让我感到没有成就感。”或者“我辛辛苦苦完成的功能却没人用,当初怎么会考虑这样的需求?”其实,这些问题可能恰恰反映了程序员自身的不足。
我在传统互联网领域从事开发工作已经有一段时间了,接触过各种类型的项目,包括工具类、金融类、电商类和社交类项目。从技术实现到技术选型,再到架构设计,最后到带领团队,每一步都让我有所感悟,同时也伴随着不少担忧。尽管如此,我对技术的热情从未减退,一直在努力提升自己的技术敏感度,从深度转向广度。
近年来,大数据技术成为我重点关注的技术领域之一。尽管我没有参与过大型项目,但对这一领域的理解和习惯都有所增加。这种技术转变也影响了我的思维方式。接下来,我将分享自己是如何从一个传统的业务开发者转变为涉足大数据领域的过程。
大约从2015年开始,大数据技术迅速崛起,各大互联网公司纷纷招聘大数据工程师。当时,我询问了一位大数据工程师,了解到他们的主要工作就是编写简单的函数,如map()
和reduce()
。这让我觉得他们的工作似乎比业务开发更为轻松。
最初,我对大数据一无所知,只在学校里接触过一些物联网技术。我认为大数据是一项高端技术,自己难以掌握,于是继续专注于业务开发。然而,随着观察和思考的深入,我发现大数据技术确实具有很大的潜力,尤其是在以下几个方面:
1. 互联网环境的变化
互联网上半场主要是围绕“理想场景互联网化”,即利用计算机技术解决现实生活中的问题。这与国家提出的“互联网+”理念相呼应。线下业务转移到线上,电子商务平台、外卖平台、搜索引擎和支付工具等都在生活中扮演重要角色。
在互联网的上半场,产品经理的主要任务是发现用户需求。一旦找到需求,后续的工作就会顺理成章。这种工作模式相对简单,产品经理负责挖掘用户需求,技术人员实现功能,运营人员推广产品。
然而,随着时间的推移,互联网已经成为一种必需品,如同水和电一般不可或缺。能够发掘的新需求越来越少,可上线的场景也越来越有限,竞争变得激烈,有些场景并不适合互联网化。互联网一度陷入停滞,产品经理的工作越来越困难。无论是通过问卷调查还是用户访谈,发现的新需求都寥寥无几。这种困境使得大数据技术显得尤为重要,它可以通过技术手段发现潜在需求,让用户在使用产品后反馈:“原来我还有这个需求?”
因此,大数据技术可以帮助我们发现用户尚未意识到的需求,甚至洞察用户自己都不清楚的需求。这就是大数据的价值所在,它改变了互联网的消费方式。
2. 用户使用互联网产品的行为变化
计算机程序的开发看似简单,只需输入特定的数据,程序就能按照逻辑计算并给出结果。用户使用互联网产品也是如此,通过点击等操作,告诉程序自己的需求,然后程序给出相应的结果。
然而,有时用户自己也不清楚想要什么。这使得程序难以满足用户需求。因此,用户使用互联网产品的行为发生了重大变化。我们需要帮助用户找到他们的需求,从等待用户输入转变为主动引导用户。
要做到这一点,我们需要在用户登录平台后,预测他们的期望,即使他们还没有明确的想法,也能自动提供操作建议和选项,一步步引导用户完成任务。
要提供令用户满意的结果,仍然需要依赖大数据技术,通过分析历史数据或同类用户的行为数据,设计出最适合该用户的结果。例如常见的推荐功能。
3. 数据的重要性
越来越多的大公司开始重视数据,将其视为重要的资产和竞争优势。传统巨头如BAT以及头条、美团等,都将数据作为核心资产和主要竞争力。
以头条为例,所谓“APP工厂”的成功,很大程度上得益于其强大的数据基础。头条不会盲目推出各种产品,而是通过数据分析,逐步推出符合不同用户群体需求的产品。
未来,公司的业务发展和产品迭代也将更加注重数据的价值。
总结
程序员在30岁时仍专注于编程是正常的,35岁时依然热爱编程是值得尊敬的。到了40岁,还能继续编程吗?当然可以,但更重要的是多元化发展,扩展职业生涯,涉足技术、产品、运营和投资等领域。
技术不能丢,它是程序员的立身之本。技术在不断更新,我们应该积极面对变化,抓住机遇,更好地立足于行业。
感谢您的阅读,如果您认为这篇文章有价值,请: