程序员 软件工程师_程序员VS工程师

程序员 软件工程师

有一种方法... (There is a way...)

Hello, Habr. I've been watching IT market for a long time. But i'd never written anything. That's the first part of my first article, so please don't hate it too much.

哈Ha 我已经看了很长时间的IT市场。 但是我从来没有写过任何东西。 这是我第一篇文章的第一部分,所以请不要太讨厌它。

In this series of articles i'd like to share my experience of finding, teaching and integrating interns and juniors in a product team. (Don't confuse them with freelance teams or something like that).

在本系列文章中,我想分享我在产品团队中寻找,教导和整合实习生和初级员工的经验。 (不要将他们与自由职业者之类的团队混淆)。

I'd like to point out that everything you'll be reading in my articles represents my personal opinion. Yes, it has sound foundation in years of experience. But i won't say my experience is exclusive and therefore, the only right way to do things is to do it as i say.

我想指出的是,您将在我的文章中阅读的所有内容均代表我的个人观点。 是的,它在多年的经验中具有良好的基础。 但是我不会说我的经历是排他性的,因此,做事的唯一正确方法就是按照我所说的去做。

image

In this part we'll see two sides of one entity. That, in turn, will help you to determine what kind of people you want for your team.

在这一部分中,我们将看到一个实体的两个侧面。 反过来,这将帮助您确定想要为团队提供什么样的人员。

Let's look closer on the two basic scenarios:

让我们仔细看看两种基本情况:

程序员 (The programmer)

image

In a way there are few differences between modern programmer (Hey, did you see those «We'll make you programmer in three months» advertisements too?) and account-manager. With that said, let's roll.

在某种程度上,现代程序员(嘿,您是否也看到过“我们将在三个月内让您成为程序员”的广告?)和客户经理之间的差异很小。 话虽如此,让我们滚动。

现代程序员只是实现者 (A modern programmer is just an implementer)

For the most of them programming is just a job in our times. It's not at all surprising, considering those 3 months courses we'd all heard about. A programmer can write code, but he always can stop doing it.

对于大多数人来说,编程只是我们时代的工作。 考虑到我们都听说过的那三个月的课程,这一点也不奇怪。 程序员可以编写代码,但是他总是可以停止编写代码。

He'll be developing your program features, without asking too many questions, or hell do exact opposite, bombard you with questions (but we'll talk about that kind of programmer's later).

他将在不问太多问题的情况下开发您的程序功能,或者完全相反,用问题轰炸您(但稍后再讨论这种程序员)。

A programmer usually doesn't concern himself with trends or innovations. He writes his code, according guru's or dev-bloger's advices.

程序员通常不关心趋势或创新。 他根据上级或开发者的建议编写自己的代码。

For example, I do not understand why Facebook has such horrible, illogical and overcomplicated frontend organization. And why everyone are taking it as example.

例如,我不明白Facebook为什么拥有如此恐怖,不合逻辑和过于复杂的前端组织。 以及为什么每个人都以它为例。

每个人都可以成为程序员 (Everyone can be programmer)

The bitter truth of our time. On one hand, that's cool. Progress, development and all that implies. On the other hand, and HR specialists will understand what am I talking about, IT market is flooded by low skilled specialists. Yes, it's over-saturated. There is no more vacations for junior specialists with ₽100.000 salary. At least, I didn't see them for a long time. Current lead-programmer salary is about ₽250.000. That's a good indicator.

我们时代的艰辛真相。 一方面,这很酷。 进步,发展及所隐含的一切。 另一方面,人力资源专家将理解我在说什么,IT市场充斥着技术水平低下的专家。 是的,它太饱和了。 0.000100.000工资的初级专员没有更多的假期。 至少我很久没见到他们了。 目前的首席程序员薪水约为0.000250.000。 这是一个很好的指标。

您可以轻松找到一名程序员 (You can easily find a programmer)

That's true. If you sure you need that kind of programmer. Now days an average programmer can ace a job interview. Youtube channels highlighting job interview's questions, guides for more or less esoteric themes, will be huge advantage in that. However, in the end we'll get a programmer, who'd learned in a month things that various courses teaching for a six month or more. The question of said programmer qualification stays open.

确实如此。 如果您确定需要那种程序员。 如今,普通的程序员每天都可以进行求职面试。 突出显示求职面试问题的YouTube频道,或多或少具有深奥主题的指南,将在其中发挥巨大的优势。 但是,最后,我们将得到一个程序员,他在一个月内学会了各种课程六个月或更长时间教授的东西。 所述程序员资格的问题仍然悬而未决。

In truth, the picture we'll see looking closer won't be pretty. Developer who doen't understand the basic principles of web-development. A specialist, who writes his code exactly how he'd seen it done on youtube video. Or in documentation, for the best case scenario.

实际上,我们将看到更近的图片不会很漂亮。 不了解网络开发基本原理的开发人员。 一位专家,他完全按照自己在YouTube视频上看到的代码来编写代码。 或在文档中,以获得最佳情况。

谁需要那种程序员? (Who needs that kind of programmer?)

Despite everything that was said above, those programmers has definite value. For instance:

尽管上面说了一切,这些程序员还是有一定价值的。 例如:

  • A big companies with well established processes and a stable stack.

    具有完善的流程和稳定的堆栈的大公司。
  • Mass producing teams, using instruments that their clients tells them to use.

    量产团队,使用客户告诉他们使用的工具。
  • A government organizations. The processes in that kind of organizations re slow, so a programmer can gradually rise his skill while working there. No haste at all.

    一个政府组织。 这种组织中的流程变慢了,因此程序员可以在那里工作时逐渐提高自己的技能。 不用急。

工程师 (Engineer)

image

As a rule, their life is devoted to self-improvement and research.

通常,他们的生活致力于自我完善和研究。

深入分析 (A deep analysis)

An engineers will deconstruct your legacy piece by piece, they'll find a potential problems and will suggest a ways to avoid them. If an engineer has a lot of experience, he can find a team with a little help by the HR agency, or even to do it by himself.

工程师将逐步分解您的遗留物,他们将发现潜在的问题并提出避免这些问题的方法。 如果工程师有丰富的经验,他可以在人力资源机构的帮助下找到一个团队,甚至自己动手。

Similarly, he doesn't need a specification for a task, because he knows that is a useless waste of time. He knows that decomposition and task distribution is better done upon researching a project requirements.

同样,他不需要一项任务规范,因为他知道这是浪费时间。 他知道分解和任务分配在研究项目需求时会更好。

Therefore, requirements analysis comes first, then project planning, and only then a development. Time distribution is looking like that: 40/40/20.

因此,首先是需求分析,然后是项目计划,然后才是开发。 时间分布看起来像是:40/40/20。

使用有力的做法 (Using powerful practices)

Likewise, a difficult practices implementation is one of an engineers key features. If you ask an average developer what he knows about *DD, a likely result will be no answer at all. An engineer is different. Often, he works using TDD, planning his work flow using a set of BDD practices, product planning is done with DDD.

同样,困难实践的实施也是工程师的关键功能之一。 如果您问一个普通的开发人员他对* DD有什么了解,那么可能的结果将是根本没有答案。 工程师是不同的。 通常,他使用TDD进行工作,使用一组BDD实践来计划工作流程,而使用DDD来进行产品计划。

Consequently, the code quality of engineer is higher. Before linters and typechecerse became wildly used, no one cared how to write a code. Now the situation is different, but some things are the same. I am talking about cleanness, readableness, scalability, modularity of hired specialists code. It still leaves much to be desired.

因此,工程师的代码质量更高。 在短绒和typechecerse被广泛使用之前,没有人关心如何编写代码。 现在情况有所不同,但是有些事情是相同的。 我说的是干净,可读性,可伸缩性,聘用专家代码的模块化。 仍然有很多不足之处。

谁需要工程师? (Who needs an engineer?)

  • Certainly, a big companies that are planning for their future.

    当然,有一家为自己的未来做计划的大公司。
  • International companies that have their branches in Russia. Usually they hire programmers for routine work and engineers for a more difficult tasks with a perspective for them to become a team-lead or architect.

    在俄罗斯设有分支机构的国际公司。 通常,他们聘请程序员从事日常工作,聘请工程师来完成更艰巨的任务,并具有成为团队负责人或架构师的远见。
  • Private teams, which decide their work strategies for themselves, usually programmers have no place in such groups.

    私人团队自行决定自己的工作策略,通常程序员在此类团队中没有位置。

下一步是什么? (What's next?)

image

The next part will be about starting depending on your choice (programmer or engineer). How does candidate searching process looks like. How to automate said process. What should you do if you've got too few or too many responses. And, the most important, what test task should you give for your future keyboard comrades.

下一部分将根据您的选择(程序员或工程师)开始。 候选人搜索过程看起来如何。 如何实现上述流程的自动化。 如果响应太少或太多,该怎么办。 而且,最重要的是,您应该为将来的键盘战友提供哪些测试任务。

翻译自: https://habr.com/en/post/506822/

程序员 软件工程师

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值