资深Golang开发工程师职位@United Internet

资深Golang开发工程师职位@United Internet IONOS 是欧洲领先的中小企业数字化合作伙伴。该公司服务约六百万客户,业务遍及欧洲和北美的 18 个市场,其服务可全球访问。凭借其“网络存在与生产力”产品组合,IONOS 成为满足所有数字化需求的“一站式商店”:从域名和网络托管到经典网站构建器和 DIY 解决方案,从电子商务到在线营销工具。此外,该公司还向那些随着业务发展希望迁移到云的企业提供云解决方案。

您的任务

IONOS 平台即服务团队正在寻找一位积极主动且经验丰富的软件工程师,以帮助为 IONOS 云客户在不同领域构建服务。

团队以开发为重点。在云环境中,客户期望 API 优先的自助服务、即时交付和完全自动化。因此,我们的选择是 GoLang、GitOps 和 CI/CD,而不是 root shell 和 bash 脚本。

我们的团队负责服务的整个生命周期:我们构建它、交付它并运行它。我们正在寻找一位加入我们团队并与我们合作提供最佳产品的人选。此职位向工程经理:PaaS 网络服务汇报。

任务:

  • 基于 Kubernetes 和云的解决方案的工程设计与所有权。
  • 使用 Go 进行编程。
  • 与一个敏捷且积极主动的同行团队合作。
  • 在动态的云环境中解决有趣的问题。
  • 支持分布式系统的运营和管理。
  • 持续改进我们的构建、测试和部署自动化。
  • 持续提高我们服务的质量和弹性。

我们看重

  • 在开发、测试和部署设计良好的代码方面有良好经验,最好是使用 Go。
  • 对容器化、Kubernetes 和至少一个云平台(例如 AWS、Azure、GCP、OpenShift)有基本了解。
  • 对网络有基本了解,特别是云中的负载均衡器和 NAT 网关。

此外,我们非常看重:

  • 深厚的 Golang 知识,包括性能分析、远程调试和精通 Go 工具链。
  • 在 Kubernetes 上部署和管理应用程序(包括 Helm Charts 和 ArgoCD)方面的高级经验。
  • 对设计和架构讨论做出建设性贡献。
  • 具备生产环境运维和故障排除经验。
  • 有构建 Kubernetes CRD 和 Operator 的经验。
  • 具备 Linux 操作系统(包括 Linux 网络)的使用经验。

在此申请


更多关于资深Golang开发工程师职位@United Internet的实战教程也可以访问 https://www.itying.com/category-94-b0.html

5 回复

你好 Pawel,

我可以为了分享的这个机会而搬迁。 但最好还是先评估一下所需的技能组合。

如果你仍在招聘,请告知我。

期待回复。

谢谢, Deep

更多关于资深Golang开发工程师职位@United Internet的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


您好,

如果您对此职位感兴趣,请通过申请链接提交申请。这是一个全职职位,要求申请者在德国拥有永久居留权。您需要做好搬迁准备。

此致, Pawel

申请仍然开放。所需的技能组合将在申请过程中与其他职位详情一同评估。因此,请使用相应的申请链接申请该职位。

此致, Pawel

你好,

我很乐意为你提供帮助。

如需进一步详细讨论,请通过邮件 garry@cisinlabs.com 或 Skype: cis.garry 与我联系。

期待你的回复。

谢谢。

这是一个非常典型的Go云原生开发职位,要求全面覆盖Go开发、Kubernetes和云平台运维。从技术栈来看,这是一个典型的Kubernetes Operator开发岗位。

核心Go技术栈分析:

  1. Go工具链精通 - 这包括性能分析(pprof)、测试覆盖率、竞态检测等
// 性能分析示例
import _ "net/http/pprof"

func main() {
    go func() {
        log.Println(http.ListenAndServe("localhost:6060", nil))
    }()
    // 业务代码
}
  1. Kubernetes Operator开发 - 需要熟悉client-go和controller-runtime
// 简单的Reconcile逻辑示例
func (r *MyResourceReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
    var resource v1alpha1.MyResource
    if err := r.Get(ctx, req.NamespacedName, &resource); err != nil {
        return ctrl.Result{}, client.IgnoreNotFound(err)
    }
    
    // 业务逻辑:确保实际状态与期望状态一致
    if err := r.ensureDeployment(ctx, &resource); err != nil {
        return ctrl.Result{}, err
    }
    
    return ctrl.Result{}, nil
}
  1. API优先设计 - 需要熟悉RESTful API设计和gRPC
// 典型的HTTP API处理
func (h *Handler) CreateService(w http.ResponseWriter, r *http.Request) {
    var req CreateServiceRequest
    if err := json.NewDecoder(r.Body).Decode(&req); err != nil {
        http.Error(w, err.Error(), http.StatusBadRequest)
        return
    }
    
    // 业务逻辑
    service, err := h.Service.Create(r.Context(), &req)
    if err != nil {
        http.Error(w, err.Error(), http.StatusInternalServerError)
        return
    }
    
    w.Header().Set("Content-Type", "application/json")
    json.NewEncoder(w).Encode(service)
}
  1. 分布式系统运维 - 需要熟悉metrics、tracing和健康检查
// 健康检查实现
func (s *Server) healthCheck(w http.ResponseWriter, r *http.Request) {
    checks := map[string]error{
        "database": s.checkDatabase(),
        "cache":    s.checkCache(),
        "external_api": s.checkExternalAPI(),
    }
    
    status := http.StatusOK
    for name, err := range checks {
        if err != nil {
            status = http.StatusServiceUnavailable
            break
        }
    }
    
    w.WriteHeader(status)
    json.NewEncoder(w).Encode(checks)
}

技术匹配要点:

  • GitOps流程:需要熟悉ArgoCD的Application CRD和同步策略
  • Helm Charts:需要能编写和维护复杂的Helm模板
  • 云网络:需要理解Kubernetes Service、Ingress和CNI插件
  • 生产运维:需要熟悉Prometheus metrics暴露和告警规则

这个职位对Go开发者的要求相当全面,从底层Linux网络到上层业务API都需要覆盖,适合有完整云原生项目经验的开发者。

回到顶部