python编程的工作-Python 工程师在公司工作体验如何?

说到用 Python 工作的体验,就一个字,爽。

工作过两家公司,第一家公司是用 C/C++ 的,主要还是用 C,每天写代码经常和一堆指针还有五花八门的位运算过不去,调试的时候还要经常去对内存中每一位的值。没错,那时候就是搞嵌入式开发的。在某天想提升自我的时候,我决定静下心来学一学 Python,先是看了《Head First Python》,然后挨个栗子写过去,遇到问题强迫自己先去查官方文档,还是不能解决就百度 or Google 之,大部分问题都能在 stackoverflow上找到答案。这个过程保持了三四天的样子,基本已经能根据自己需求写出一个像样的 Python 脚本了(比如spider)。

于是答主为了能更好地发挥自己算法方面的优势,离开了第一家公司,到了一家做互联网广告的创业公司,全公司的技术开发全部为 Python,底层部分是用 C++ 的。公司用 Python 的原因主要在于创业阶段力求缩短开发期,及时将调整的方向落实下来并观察市场反馈情况,所以像 BAT 这样的企业为了求稳定和效率必然不会用 Python 来做核心业务开发。我在入职之后大致上做过以下 Python 相关的工作:

1、Spider

这个算是 Python 的拿手绝活了,我工作上使用了 scrapy开源框架,主要是针对电商数据进行抓取。必要的时候还会用到 beautifulsoup辅助解析网页( scrapy 自带的 xpath 提取内容相对更好用一些),用 selenium的 webdriver 来模拟浏览器上的一些行为(主要用来模拟一些无法获取 post 包的 ajax 请求)。存储上用过多种数据库比如 MongoDB、Redis、MySQL。抓取这一块用的最多的是 MongoDB,这里具体原因就不展开了。和 spider 相关的工作还有分布式开发,自己做过一个 spider 调度架构,也是用 Python 写的。

2、Data Mining

这工作基本算是在互联网公司做算法永恒不变的主题,在答主的公司主要目的就是实现广告的精准投放。这块工作说简单来就是用决策树和协同过滤做用户的个性化推荐,加以一些聚类模型优化广告竞价的选词出价。虽然 Python 有许多现成的 ML 库,不过这块工作基本还是重新造了轮子,不能说我写出来的模型一定比开源来得好,但至少在发现 bug 的时候,可以准确知道是哪行代码出了问题,而不至于出了问题要翻别人的几千行开源代码,在日后也会更方便做分布式和并行计算的拓展。

3、Interfaces

由于创业公司的技术开发人手有限,所以也要搞后端开发的活,主要负责和前端进行数据交互,然后和各大网站 API 对接(比如淘宝、百度、大众点评等等)。这块工作主要就是利用 python 编写多线程脚本,实现诸如消息队列这样的功能。也有一些现成的软件框架,比如我们目前用的是 Thrift框架,接口转发层是 Python 写的,然后分布式到每台服务器上的数据处理模块是 C++ 写的。还有一部分工作就是用 Python 的 Django 框架进行 web 开发,比如官网和各种管理台开发。

有些人总是喜欢吐槽说 Python 性能低,内存占用高,还有糟糕的多线程。没错,这些的确都是 Python 的缺点。但是语言毕竟只是一种工具,选择用什么语言做开发得看你自己的需求不是,至少用 Python 处理每日几千万的 PV 是没问题的。Google 的好多项目开发都还是用 Python,况且 Python 之父也还在 Google 呢,你确定你们的项目一上来就堪比 Google 的项目规模?

---------------------------------------------

这篇是三年前的回答了,你们就不要吐槽荷兰人 Guido 不在 Google 的故事了……

之前写的薪水也是三年前的行情,我也删掉了免得你们再吐槽(逃

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值