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

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

think-cell Software

location 多伦多
unsaved
加入我们,成为一名C++开发人员 当涉及到编程时,您是否相信美感?您是否对优雅的算法有浓厚的兴趣?您是否精通C++?如果是这样,我们希望能够与您见面。以下是我们提供的简要概述: • 大量具有极高挑战性的C++开发任务 • 国际团队中的杰出人才 • 一个使团队留下并成长的工作环境 • 充足的时间确保您解决方案的每个细节都是完美的 • 扁平化组织结构和充足的空间来容纳您的想法 • 没有预定的会议 • 适合家庭的工作时间,没有最后期限,没有加班 • 支持搬迁 • 起薪竞争力强,一年后年薪可达13万欧元 关于我们 think-cell是一家位于德国柏林的快节奏软件公司,专注于开发与众不同的图形产品。全球超过1,000,000用户依靠我们的软件进行日常业务,因为它使创建图形演示更加轻松、快速和愉悦。我们的客户包括许多知名咨询公司和大型国际企业。 由于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万欧元的薪资给我们的开发人员。如果需要,我们会尽力帮助您搬迁到柏林,并尽力帮助您获得工作许可证。虽然您应该能够用英语有效沟通,但不需要了解德语。如果需要,可以安排德语语言课程。