Data Engineer/ MLOpsE

Bell Integrator

Bell Integrator — 中级机器学习开发者。 格式:办公室工作;城市 — 莫斯科。 职位的薪资未注明——面试时讨论。 贝尔集成商是该国大型系统集成商。我们是一家获得认证的IT公司。 目前,我们有超过2500名高素质的分析师、项目经理、开发人员、测试人员和大型信息系统支持专家与我们合作。Bell Integrator在俄罗斯各地积极实施项目,我们的客户包括国内领先的系统性金融、电信和零售公司。 Bell Integrator的总部位于莫斯科,分支机构位于圣彼得堡、下诺夫哥罗德、彭扎、萨拉托夫、乌法、巴尔纳乌尔和明斯克(白俄罗斯)。 项目:在银行领域。团队负责全球市场业务的人工智能倡议。我们为企业和零售客户提供金融市场的广泛产品和服务。业务的关键方向:证券交易、衍生品交易、外汇市场的兑换交易。 我们的团队解决广泛的数据科学问题,应用最新的机器学习/深度学习算法和工具:从提升和模型集成到大型语言模型(LLM)。我们通过机器学习模型帮助企业提高收益,为此我们开发分析数据平台,并充实关于我们的产品、客户和外部事件的各种数据。 我们正在寻找一位优秀的专家担任数据工程师/MLOps工程师,以扩展我们的团队。 我们对候选人的期望: - 理解云技术以及虚拟化和容器化技术的基础知识; - 具有Hadoop生态系统(HDFS、Hive、Spark等)的经验; - 工业Python开发经验; - 具有ETL(Airflow等)的工作经验; - 在基于Jenkins和Bitbucket/Git的CI/CD解决方案方面的工作经验。 将是一个加分项: - 具有 K8s、OpenShift 容器编排平台的工作经验; - 在工业领域实施DS模型的经验; - 有Kafka的工作经验; - 具有流行关系数据库管理系统(Greenplum、Teradata、Oracle、PostgreSQL)的工作经验; - 理解数据仓库(DWH)构建原则; - 在强化学习和图神经网络方面的知识; - 在经典机器学习和深度学习领域有出色的知识。 将要从事的事情: - 开发、支持和优化银行平台上团队的ETL流程; - 将开发的DS模型部署到工业环境中(MLOps); - 支持开发解决方案的工业应用。 我们提供: - 参与有趣项目的机会。 - 公司内职业和事业发展的机会。 - 与专业团队的合作经验。 - 员工在体育俱乐部和语言课程等方面的特别优惠。 - 莫斯科的办公室/混合工作格式。 来源:Habr Career,发布日期:2026年8月9日。反馈请访问原始页面。

ML разработчик · Middle · Python · Apache Hadoop · DWH · Apache Airflow · Apache Spark · Greenplum · ETL · CI/CD · Москва

Apply

More roles at Bell Integrator

Workix

{{ siteBrand.name }}
{{ prevSlogan }} {{ currentSlogan }}
{{ t('loading') }}

{{ t('onboarding_title') }}

{{ t('onboarding_sub') }}

{{ t('agent_connect_title') }}

{{ t('agent_connect_hint') }}

{{ agentPrompt }}

{{ t('partners_title') }}

{{ t('partners_sub') }}

{{ t('partners_embed_title') }}

{{ t('partners_embed_body') }}

{{ t('cases_title') }}

{{ t('cases_sub') }}

{{ c.title }}

{{ c.summary }}

{{ t('cases_outcome') }}: {{ c.outcome }}

{{ tag }}
{{ t('loading') }}
{{ t('loading') }}
← {{ t('back') }}
{{ t('empty_orders') }}
{{ t('order_title') }} · {{ kindLabel(currentOrder.kind || currentOrder.type) }}

{{ currentOrder.title }}

{{ statusLabel(currentOrder.status) }} {{ appliedLabel(currentOrder.applied.count) }} · {{ t('applied_by_you') }} {{ currentOrder.project }}
{{ tag.name || tag }}

{{ t('applied_title') }}

{{ t('applied_hint') }}

{{ t('applied_login') }}

{{ t('nav_auth') }}
{{ t('applied_at') }}: {{ fromNow(myApplication.appliedAt) }} · {{ myApplication.via }}

{{ t('proposals_title') }}

{{ t('proposal_place') }}
{{ fromNow(p.date) }}
{{ t('contact') }} {{ t('proposal_score') }}: {{ p.score }}

{{ t('proposal_yours') }}

{{ t('proposal_login') }}

{{ t('nav_auth') }}
{{ t('proposal_score') }}: {{ formProposal.score }}
← {{ t('back') }}
{{ t('performer_title') }}

{{ currentPerformer.name }}

{{ currentPerformer.headline }}

{{ availabilityLabel(currentPerformer.availability) }} {{ currentPerformer.location }} {{ (currentPerformer.openTo||[]).join(', ') }}
{{ t('performer_rate') }}: {{ formatMoney(budgetView(currentPerformer).amount) }}
{{ tag.name || tag }}
GitHub {{ contactLabel(c.kind) }} {{ t('no_contact') }}

{{ t('performer_projects') }}

{{ t('performer_orders') }}

{{ r.title }}

{{ r.description }}

{{ kindLabel(r.kind || r.type) }}
{{ (r.title || '?').slice(0,1) }}

{{ r.title }}

{{ r.description }}

{{ r.startupName || r.startupSlug }}
← {{ t('back') }}
{{ statusLabel(routeError.code === 'pending_moderation' ? 'pending' : 'rejected') }}

{{ routeError.code === 'pending_moderation' ? t('project_pending') : t('project_rejected') }}

← {{ t('back') }}

{{ currentStartup.name }}

{{ currentStartup.url }} {{ currentStartup.github }}
{{ t('posted') }} {{ fromNow(currentStartup.createdAt) }}
{{ t('updated') }} {{ fromNow(currentStartup.updatedAt) }}
{{ statusLabel(currentStartup.status) }} {{ stageLabel(projectKind(currentStartup)) }}
{{ t('project_publisher') }}
{{ currentStartup.publisher.name }}

{{ currentStartup.publisher.headline }}

{{ t('performer_title') }}

{{ t('roles') }}

{{ t('no_roles') }}

{{ r.title }}

{{ tag }}
{{ t('highlight_badge') }}

{{ t('carousel_title') }}

← {{ t('back') }}

{{ t('apply_title') }}

{{ t('apply_target_hint') }}

{{ (currentStartup && currentStartup.name) || currentRole.startupSlug }}
{{ currentRole.title }}

{{ currentRole.description }}

{{ kindLabel(currentRole.kind) }} {{ currentRole.payment.budget }} {{ currentRole.payment.cur || 'USDT' }} {{ tag }}

{{ t('proposal_login') }}

{{ t('nav_auth') }}
{{ t('proposal_score') }}: {{ formApply.score }}
{{ t('apply_external') }}

{{ t('auth_title') }}

{{ t('nav_auth') }}

{{ t('mine_empty') }}

{{ t('create_order') }}

{{ route.slug ? t('edit_startup') : t('create_startup') }}

{{ t('agent_form_title') }}

{{ t('agent_form_hint') }}

{{ agentPrompt }}

{{ formRole._id ? t('edit_role') : t('create_order') }}

{{ t('agent_form_title') }}

{{ t('agent_form_hint') }}

{{ agentPrompt }}

{{ formRole.startupId ? t('task_attach_project_hint') : t('task_attach_standalone_hint') }}

{{ t('profile_title') }}

{{ t('agent_form_title') }}

{{ t('agent_form_hint') }}

{{ agentPrompt }}
{{ t('profile_agent_key_title') }}

{{ t('profile_agent_key_hint') }}

{{ t('auth_registered') }}
{{ displayedAgentKey }}

{{ t('profile_agent_key_hidden') }}

{{ t('profile_agent_key_none') }}



{{ t('prefs_title') }}

{{ t('support_title') }}

{{ t('support_sub') }}

{{ t('support_limit_hint') }}

{{ t('auth_title') }}

{{ t('auth_mvse_hint') }}

{{ t('auth_signed_in') }} {{ me.name || me.id }}
{{ t('auth_section_browser') }}

{{ t('auth_mvse_hint') }}

{{ t('auth_section_key') }}

{{ t('auth_key_hint') }}

{{ t('auth_registered') }}
{{ onceKey }}
{{ toast }}