When programmers start dubbing as products

When programmers start dubbing as products

The person in charge of the product sent a mass message internally saying that he would hire people

最后更新 6/23/2022 10:14 PM
长空X
预计阅读 12 分钟
分类
share
标签
workplace life

causes

On May 31, our company's product leader sent a mass message internally saying that he would hire people. After friendly consultations, an agreement was reached that I started to concurrently serve as part of my products, but I transferred my job but did not completely transfer it. Record a comment for confused friends and use it as a diary. If you are too long, you can pull it directly to the end and see the key points~

Review career development

0. Blind groping

大学的头一年做了许多非技术的事,然后打算选择一门高级编程语言作为主力发展,在JAVA和C#之间调研许久后选择了C#。选择 C#的原因仅仅是因为他有比较好的中文支持(微软文档、VS、智能感知也是中文),而且 C#相比 JAVA,在代码上更能描述要做的事,而 java 给我的感觉就是代码量不小(比如 java8 中想把日期数据转成字符串,熟悉的朋友都知道多啰嗦)。

无论怎样,在当时外部环境看选择 JAVA 都是更好的选择,但我有种强烈的第 6 感让我有点排斥 JAVA,最后选择更舒服的 C#。我相信只有做一事让自己舒服时才能持续付出投入下去

There is a resource problem-there are no C#related courses in the school, and all classes are JAVA! There are only a few teachers who know c#. Looking back now, I don't know how I persisted alone. Half a year of study made me unable to even make a single Mini programs.. But during this period of blind exploration, I explored some non-programming syntax things (such as understanding of object-oriented), and later I signed up for an online training session of Xiketang before I really started to get started.

1. University Project Team

喜科堂的 C#培训课前面几乎都是打基础,除了语法还包括一些工程经验(比如要做一个事,如何分析,从哪里下手分析思考),到毕业前 2 年时,已经能独立做出一个学员管理系统。恰好此时从朋友处打听到学校有个项目组可以不用上课,这对我来说是一个接触真正开发的机会。。但他们开发已经满了,测试缺人,在恶补了一个暑假的测试知识和selenium后,我面试通过进入测试组

测试的工作相对清闲,但对我来说是个难得从另一个角度看待项目的机会,而且还有时间让我继续打磨自己。比较骄傲的事有一个:当时在测试时发现一个BUG,我在浏览器上排查后发现是正则表达式写错,然后我把正确的写好发给开发,让她直接丢到代码中。老油条可能知道这是测试开发的事,既懂测试也懂开发。

在此期间还去了一次VS20周年聚会,当时有个老哥公司招人,我去面试没过,原因是因为我不会 web。回来之后开始从 C/S 向 B/S 转,2 个月内开了一个个人博客,包括前台和管理后台还丢到公有云上,自己申请域名并备案,使用 https 和 CDN 和一些其他技术。 这个时候已经从开发到部署这一套开始流程打通了。

这个阶段我的关键字是:不要把自己局限在开发。因为种种经历我在学校时没有真正参与过项目开发,意外的接触到各种非技术的东西了。

2. Internship in Newegg China

后来无心插柳式的来到新蛋开始实习,此时正好有 2 个大事件: .NET Core 2.0 发布和微服务。 我在那台奔4的CPU的实习机上面,被卡到用记事本+命令行写代码.....也因为是新框架,我们实习小组是我自己搭建的简单三层架构,而且还把基本的.NET Core Web 框架搞懂(中间件、http 管道)。然后去到 MKPL 组,当时组里正好在做.NET Core 方面的探索,我在里面就做 Core 的 SDK 和项目框架、UT 研究、部署等杂活。

这个阶段我的关键字是:开源

Later, when I left Newegg for a re-interview, the interviewer asked me what the biggest difference between. NET Framework and. NET Core was. My answer is: In the Framework era, low-level libraries were black boxes, while in the Core era, ideas shifted from closed to open. In the past, development resources (compare SDK libraries) were all provided by Microsoft, and non-Microsoft had to think about whether they could be adopted for a long time. After the Core era, they believed more in the community and actively participated in it.

说回在新蛋的经历,另一个就是夯实基础能力,情况是这样的:

  1. New Egg is a company that has been in existence for more than 20 years, and our group's projects have been around for 10 years... I don't know how many pits there are.
  2. The seller platform that MKPL is responsible for needs to connect with other groups (such as orders, returns and exchanges). For sellers, problems in other groups will also erupt in the projects we are responsible for.
  3. The overall atmosphere of New Egg is that members need to take the initiative to promote the project process rather than waiting for leadership arrangements. For example, if I am responsible for a certain interface of this project, I need to negotiate specific fields, interaction logic, sorting out test logic, and writing development documents with other groups... In short, I am the direct person in charge of this interface, not my PM.

During this period, he not only improved his basic technical knowledge, but also accumulated his basic professional qualities. For example, I dropped from the top few to the bottom of the BUG rankings during my internship to 7th or 8th, but development work was more than internship.

这个阶段我的关键字是:职业基础素质。新蛋麻雀虽小但五脏俱全,大的有工作管理流程到互联网架构,小的就是员工基本素质,相比其他公司会全面许多。这让我后面去到比它小的公司时,显得游刃有余。

3. 2 short-lived jobs

The reason why I left Newegg in 19 years was that there were 2 architect level people in a group of less than 20 people. The space for career development was too small. I only stayed in 2 consecutive companies for 3 or 4 months.

Company 1: The product has a good starting point and the boss is rich. But the boss doesn't understand software! As a result, every time it reaches the end of the project and major changes start... He did not know what level this change was, and finally complained that the software department had not produced anything for more than a year.. The result was that within two months after I left my job, all the elderly people before me left, and basically all the people related to the software left. I didn't realize that my department manager and our product manager were also leaving the company on the day I mentioned leaving.???

The second company: It is engaged in government projects. It basically modifies a set of codes and sells them to departments in multiple regions... We only pay attention to team building and only pay attention to working normally when customers want to use the project. As for work being down for a few days.. No one seems to care.. After I stayed for a while, I felt that this place needed more veterans than people like me..

这个阶段我的关键字是:被新蛋好氛围保护的太好了。第 1 个公司我做的主要是协调工作??团队内部的协调、部门之间的协调。2、3 个月代码没写多少,人际的事到是不少.....第 2 个公司完全是落到 X 坑里了。但收获也不是没有:让我在技术以外,工作交际上面获得了非常多的经验。

4. Senior busboy

Then came the company now. To make a long story short, I am responsible for: promoting new technologies, building project frameworks, maintaining public code bases, maintaining internal servers, communicating with the product department, and occasionally coordinating the work of colleagues...

Technically almost: 35% C#code, 55% js code, 10% shell scripts or other configurations, and before this company, I was the one who didn't write JS. When making department CI/CD, our image name and tag must meet management requirements.. I wrote a gadget in C#and placed it in the CI/CD pipeline. However, the industry has almost only shell scripts and yml configurations for CI/CD.

转折点也就是在这里..我们的测试只懂点点点,而开发只管开发..产品不懂技术,我在这里经常当个中转点。 在 2、3 阶段中的经理让我能知道测试脑子里想的什么。。产品脑子里想的什么。。然后把这些东西转给开发或转回去。 公司内部人员的关系是非常好的,但不同职业的人常年养成的思维习惯是不一样的,当工作忙起来的时候往往会忘记转成对方能听懂的话。毕竟现在我们都是在做一套产品,产品的收入高了我们才能更好的存活(福利和奖金),也是这个情况让我能顺利去兼产品,而其他人是转岗。

这个阶段我的关键字是:成功不是偶然的。其实我想兼产品是想给自己留个后路,而能谈成困难的兼任(兼任在公司中的管理成本比较高,公司有 800 多号人了),也是前面的积累。

5. summary

When writing an article, I reviewed my own development experience, mainly because I didn't waste energy. You may have done something that is inefficient (such as choosing C#in college, but you didn't get any results for half a year), but the accumulation of experience played a role at another point in time. My accidental experience allowed me to understand a little about the Internet, software development and software engineering, and software projects. From the beginning to the end, I accumulated a little in all aspects, and then the main force-back-end development-did not fall behind.

future

据说 35 岁时间点是把大刀。。我也迷茫,但不焦虑。。不行了还可以转岗去产品。 现在的医药软件行业也是比较吃行业经验的(这也是产品部许久没有招到人需要内部招聘),未来或许还有其他的机会。这样一步步走下去,虽然效率不如其他人,但总不至于开倒车或崩盘。另一方面,也可以借助产品经验来突破目前的中级开发瓶颈,向我心中的高级前行。

advice to you

每个人的诉求和情况不一样,可以多方面的去投入,不要死磕一点,除了搞 IT,我周末还在跑团,这又是另一个领域的东西了。

  1. If your current job or current situation does not satisfy you. Don't rush to jump, sink down and think about what you want, then plan for the next 3 - 5 years and don't give up easily. Even if this plan makes you fail, failure is also experience, isn't it? There's still a long way to go.
  2. If the current job or status quo is OK. Don't feel too safe, there is no absolute stability. You can also make some preparations or precipitation for your own plans in case of any eventuality.
  3. Do the right thing that takes time.

针对 3: 比如开源投入这个事。。许多人开始会坚持,后面慢慢觉得没有收益就放弃。但如果你喜欢技术并愿意为之分享,在分享的那一刻你会感觉到开心,这已经让你立于不败之地了。如果能有额外收获,那叫充话费送的。 这样即便没有外部投入,你自己也会有动力持续投入。喜欢它,为它付出。否则你就会成为生活的奴隶

Keep Exploring

延伸阅读

更多文章