C++ 开发者(男/女/多元化)在柏林和远程,年薪高达130,000欧元。

16个月前远程全职
130K EUR think-cell Software

think-cell Software

location 香港
unsaved
加入我们成为一名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成立的初衷是为了自动幻灯片布局算法的想法,我们仍然在追求这个雄心勃勃的愿景。你可以看到我们最新版本的效果! • 我们开发了一种新的自动点云标签算法,允许标签远离实际点位。 • 我们开发了一种新的自动柱状图标签算法。 • 我们正在与线性求解器CLP的作者John Forrest合作,使他的单纯形代码在我们的问题上更快。 • 我们开发了许多通用数据结构,这些结构在C++或Boost中不存在,例如分区。 • 我们的软件不仅可以生成图表,还可以从纸上读取图表。对于我们的图表识别工具,我们依赖于OpenCV和Leptonica图像处理库。 逆向工程 • 我们使用Hex-Rays的反汇编器IDA进行大量逆向工程,以实现通过文档化的Microsoft Office API无法实现的功能。 • 我们编写了可能是最好的函数挂钩引擎。在我们的软件每次启动时,我们会在内存中修补Microsoft Office可执行文件。我们不是通过硬编码补丁地址,而是搜索小块汇编代码,以便针对可执行文件的微小更改具有鲁棒性。 关于这个工作 我们正在寻找聪明、有创造力的开发人员,具备扎实的理论基础。我们的开发团队包括在各个领域拥有15年以上商业经验的人员,以及计算机科学、物理学和数学等领域的新毕业生。具备C++的大学学位或工作经验,以及新鲜而有创造力的问题解决方法,将是这个角色的绝佳组合。由于我们的招聘步骤都是基于任务的,因此选择是基于在我们的测试中展示的技能。 你将在很大程度上独立工作,并负责实现新功能时的所有活动范围。你应该能够从用户的角度看待问题,并与其他开发人员讨论抽象概念。我们期望我们的每个开发人员都能够进行架构、设计、实现、客户反馈和错误修复,而不是将这些活动分配给几个人。因此,我们让每个人掌控自己的工作。 在think-cell,没有最后期限,也没有预定的会议。当你确信你已经实现了最佳解决方案时,一个功能就可以发布了。会议按需举行,只有实际参与的人需要出席。在整个过程中,任何层级的人员的想法、建议和批评都受到欢迎并且会认真考虑。即使这意味着我们必须改变很多代码来改进事物,你的想法也是受欢迎的。 我们在人工智能和计算机图形学领域发表了几篇科学文章,我们将鼓励你做同样的事情。我们赞助参加会议,并与美国和德国的大学和研究机构保持密切联系。 think-cell鼓励健康的工作与生活平衡。我们不在晚上或周末工作。 我们支付非常有竞争力的薪水,并在一年的就业后为我们的开发人员提供每年13万欧元。如果有必要,我们将尽力帮助你搬迁到柏林,并尽力帮助你获得工作许可证。虽然你应该能够有效地用英语交流,但不需要懂德语。如果需要,可以安排德语课程。