资深Golang工程师职位(现场办公-科罗拉多州博尔德)
资深Golang工程师职位(现场办公-科罗拉多州博尔德) 帮助我们创造更美好的未来
您准备好对世界产生有意义的影响了吗?在CampMinder,我们为儿童和年轻人提供改变生活的体验。我们的工作帮助营地专业人士将孩子们塑造成您团队中需要的那种成年人——就像我们团队中的成员一样。
在CampMinder,您将加入一家连续两年被《Outside》杂志评为美国最佳工作场所的公司。您将与才华横溢的工程师、设计师、产品经理等紧密合作。我们正在寻找好奇心强、善于协作的团队成员,他们乐于传授已有知识,并积极抓住机会学习新事物。
自2001年以来,我们一直为营地设计有意义的解决方案。现在我们正在寻找经验丰富的后端工程师加入我们在博尔德的团队,帮助我们向基于微服务的新架构迈进。这就是您的用武之地。您将运用技能帮助我们实现平台现代化,助力夏令营创造积极影响和更美好的未来。
利用我们在基于Web的应用程序开发方面的深厚经验,我们正在使用Go微服务以及Docker和Kubernetes容器化技术构建新平台。这个新引擎将与我们现有的后端(使用.Net、C#和MSSQL构建)协同工作,并与我们令人兴奋的新移动和Web UI(使用ReactJS和React Native构建)进行交互。
您需要具备的条件
- 创建和维护复杂大型软件产品后端功能的专业经验
- 实施基于容器的微服务架构的经验
- 精通后端技术,设计和构建REST API和微服务,以及分布式系统的同步和异步通信
- 热衷于解决复杂问题
- 渴望学习并为每项工作使用合适的工具(即您不局限于"[某种技术]开发者"的职业身份;您认同自己是软件工程师或技术专家)
额外优势(非必需)
- 使用Go、Docker和Kubernetes实施基于容器的微服务架构的实际经验,特别是从单体代码库迁移的经验
- 前端开发工具或技术的经验,特别是React和React Native
- 消息传递经验,特别是Rabbit MQ
- 日志记录工具经验,特别是ELK堆栈
- 云平台经验,包括Azure、Amazon Web Services和Google Cloud
- 自动化测试、持续集成以及交付和部署工具的经验
- 对敏捷开发方法和结对编程的经验和热情
更多关于我们
CampMinder的文化由强烈的目标感引导,并植根于我们的核心价值观。我们高度重视员工敬业度,最近被评为全国五十佳工作场所之一。
我们的工程师重视团队集体头脑风暴和解决问题,而不是单打独斗。我们并非总是对所有事情都意见一致,但我们会尊重地解决分歧。我们将工作分解成小块,并完全接受结对编程等敏捷方法。
CampMinder已被领先的夏令营机构使用,并正在推动巨大的、可衡量的价值,使他们能够为超过50万名营员和家庭创造积极的体验……而我们才刚刚开始!来帮助我们创造更美好的未来。
对于特别符合条件的候选人,我们将考虑提供搬迁援助。
请直接通过我们的职位发布申请。
更多关于资深Golang工程师职位(现场办公-科罗拉多州博尔德)的实战教程也可以访问 https://www.itying.com/category-94-b0.html
更多关于资深Golang工程师职位(现场办公-科罗拉多州博尔德)的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
以下是一个基于该职位描述的Go语言示例代码,展示了一个简单的REST API微服务,使用Gin框架和Docker容器化。这体现了职位要求中的后端技能、微服务架构和容器化经验。
package main
import (
"github.com/gin-gonic/gin"
"log"
"net/http"
)
type Camper struct {
ID string `json:"id"`
Name string `json:"name"`
Age int `json:"age"`
}
var campers = []Camper{
{ID: "1", Name: "Alice", Age: 12},
{ID: "2", Name: "Bob", Age: 10},
}
func getCampers(c *gin.Context) {
c.JSON(http.StatusOK, campers)
}
func addCamper(c *gin.Context) {
var newCamper Camper
if err := c.BindJSON(&newCamper); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
campers = append(campers, newCamper)
c.JSON(http.StatusCreated, newCamper)
}
func main() {
router := gin.Default()
router.GET("/campers", getCampers)
router.POST("/campers", addCamper)
log.Fatal(router.Run(":8080"))
}
对应的Dockerfile用于容器化:
FROM golang:1.19-alpine
WORKDIR /app
COPY go.mod ./
COPY go.sum ./
RUN go mod download
COPY *.go ./
RUN go build -o /campminder-service
EXPOSE 8080
CMD [ "/campminder-service" ]
构建和运行命令:
docker build -t campminder-service .
docker run -p 8080:8080 campminder-service
这个示例演示了使用Go构建REST API微服务,并通过Docker容器化部署,符合职位描述中对Go、微服务和容器化技术的要求。代码处理GET和POST请求,管理营员数据,并可以轻松集成到基于Kubernetes的架构中。

