加入我们成为一名C++开发人员
您是否相信编程的美感?您对优雅算法有浓厚的兴趣吗?您是否精通C++?如果是,我们很想见到您。以下是我们提供的简要概述:
• 大量具有极高挑战性的C++开发任务
• 国际化团队,拥有杰出的人才
• 能够让团队成长和留任的工作环境
• 充足的时间确保您的解决方案的每个细节都是完美的
• 扁平化组织结构,充分发挥您的创意空间
• 没有预定会议
• 适合家庭的工作时间,没有最后期限,没有加班
• 支持搬迁
• 起薪竞争力强,一年后每年涨薪至13万欧元
关于我们
think-cell是一家位于德国柏林的快节奏软件公司,专注于开发与众不同的图形产品。全球超过100万用户依赖我们的软件进行日常业务,因为它使创建图形演示文稿变得更加简单、快速和愉悦。我们的客户包括许多知名咨询公司和大型国际公司。
我们不必在代码质量和美感方面妥协,因为think-cell非常有利可图。我们愿意付出额外的努力开发复杂的算法和完善我们的用户界面,我们为自己拥有许多满意的客户感到自豪。公司由经验丰富的计算机科学家拥有和管理,这无疑为营造一个让卓越的开发人员来并且留下的工作环境做出了贡献。
关于我们的软件
我们的重点是商务幻灯片(与更具艺术性的应用相反),因为它们提供了将传统上由PowerPoint用户自行执行的布局任务自动化的巨大潜力。挑战很多:从对什么是良好布局的充分理解以及手动布局遵循的准则,到能够以足够快的速度生成可接受输出的算法,再到以易于理解但不显眼的方式支持我们新的、原创的幻灯片布局方法的图形用户界面,再到用于自动错误报告和自动更新的稳定技术解决方案,再到与50万用户计算机上的第三方软件的兼容性。
以下是我们所做的一些亮点。
语言
• 我们所做的一切都是C++。甚至我们的客户门户网站也是用C++编写的。在必要时,我们会使用一些汇编代码,我们的构建脚本是用Python编写的,但除此之外,think-cell完全是关于C++的。
• 我们密切跟踪我们的编译器最新版本,Visual C++和Xcode,以便我们能够尽快使用最新的C++标准特性。
• 我们资助德国标准化研究所(DIN)的编程语言工作组。我们的一些员工是该委员会的成员,并在ISO/IEC C++的国际标准化过程中投票。
• 我们赞助标准C++基金会,帮助他们在所有编译器和平台上推广现代标准C++的理解和使用。
库
• 我们在代码中使用Boost库,例如Boost.Spirit用于解析。
• 我们有自己的范围库,与Boost.Range或Eric Niebler的range-v3类似,但更进一步,例如通过统一内部和外部迭代。我们做了一个关于它的演讲,大部分代码是公开的。
• 我们开发了自己的跨平台库,以单一代码库支持Mac和Windows。
• 我们拥有自己的引用计数和持久化库,用于保存和恢复整个对象树。
• 我们有一个完整的错误报告基础设施。断言和错误检查保留在发布代码中,我们的软件会自动将错误报告发送到我们的服务器。服务器会分析错误,对其进行分类并将其存储在所有开发人员都可以访问的数据库中。如果更新修复了错误,用户可以直接从错误响应网页下载更新。
算法
• think-cell成立的初衷是为自动幻灯片布局开发一种算法,我们仍然在追求这个雄心勃勃的愿景。您可以在我们最新的发布中看到我们的算法。
• 我们开发了一种新的自动点云标注算法,允许将标签放置在实际点的远离位置。
• 我们开发了一种新的自动柱状图标注算法。
• 我们正在与John Forrest(线性求解器CLP的作者)合作,使他的单纯形代码在我们的问题类型上更快。
• 我们开发了许多通用数据结构,这些数据结构不在C++或Boost中,例如分区。
• 我们的软件不仅可以生成图表,还可以从纸上读取图表。对于我们的图表识别工具,我们依赖于OpenCV和Leptonica图像处理库。
逆向工程
• 我们使用Hex-Rays的反汇编器IDA进行大量逆向工程,以实现通过文档化的Microsoft Office API无法实现的功能。
• 我们编写了可能是最好的函数挂钩引擎。在我们的软件每次启动时,我们会在内存中对Microsoft Office可执行文件进行修补。我们不是硬编码补丁地址,而是搜索一小段汇编代码,以便对可执行文件的微小更改具有鲁棒性。
关于这份工作
我们正在寻找聪明、有创造力、具备扎实理论基础的开发人员。我们的开发团队由在各个领域拥有15年以上商业经验的人员,以及计算机科学、物理学和数学等专业的应届毕业生组成。具备C++的大学学位或工作经验,加上新鲜而富有创造性的问题解决方法,将是这个角色的极佳组合。由于我们所有的招聘步骤都是基于任务的,所以选择是基于在我们的测试中展示的技能。
您将在很大程度上独立工作,并负责实施新功能的整个范围。您应该能够从用户的角度看待问题,并与其他开发人员讨论抽象概念。我们期望每个开发人员都能进行架构、设计、实现、客户反馈和错误修复,而不是将这些活动分配给几个人。因此,我们让每个人掌控自己的工作。
在think-cell,没有最后期限,也没有预定会议。当您确信已经实现了最佳解决方案时,功能就可以发布。会议按需举行,只有实际参与的人需要出席。在整个过程中,任何层级的人员都欢迎提出想法、建议和批评,并且会认真考虑。即使意味着我们必须改变很多代码来改进事物,我们也欢迎您的想法。
我们在人工智能和计算机图形学领域发表了几篇科学文章,我们会鼓励您做同样的事情。我们赞助参加会议,并与美国和德国的大学和研究机构保持密切联系。
think-cell鼓励健康的工作与生活平衡。我们不在夜间或周末工作。
我们支付非常有竞争力的薪水,并在一年后提供每年13万欧元的薪水给我们的开发人员。如果需要,我们将尽力帮助您搬迁到柏林,并尽力帮助您获得工作许可证。虽然您应该能够用英语有效沟通,但不需要懂德语。如果需要,可以安排德语课程。