安克创新【安克智造内推季】PC端应用软件开发工程师
社招全职5年以上地点:深圳状态:招聘
任职要求
必备条件 计算机科学、软件工程或相关领域的学士及以上学位 5年以上C++开发经验,精通现代C++标准(C++11/14/17/20) 在至少三个平台(Windows、macOS、Android、iOS、Web)上开发的实际项目经验 熟悉跨平台开发工具和框架,如wxWidgets、Boost或类似技术 对编译器、链接器和构建系统(如CMake)有深入了解 熟悉多线程编程、内存管理和性能优化技术 具备解决跨平台兼容性问题的经验和能力 良好的问题解决能力和调试技巧 优秀的团队协作和沟通能力 优先条件 WebAssembly开发经验,熟悉Emscripten或其他WASM工具链 图形编程经验(OpenGL、DirectX、Metal或Vulkan) 网络通信协议开发经验,特别是WebSocket实现 跨平台UI框架开发经验 熟悉原生移动应用开发(Android NDK、iOS Objective-C/Swift与C++集成) 开源项目贡献或维护经验 自动化测试和持续集成/持续部署(CI/CD)经验 敏捷开发方法论实践经验
工作职责
主要职责: 使用C++设计和实现跨平台核心架构和组件 负责跨平台框架的设计、开发和维护,确保代码在所有目标平台(Windows、macOS、Android、iOS和Web)上高效运行 开发和优化基于WebAssembly的Web应用程序,实现C++代码到浏览器端的转译和部署 与UI/UX团队合作,实现平台特定的用户界面和交互体验 设计并实现高效的跨平台通信机制,如WebSocket、REST API和原生IPC 识别并解决各平台之间的兼容性问题和性能瓶颈 为团队成员提供技术指导,推广最佳编程实践 参与代码审查,确保代码质量和一致性 编写详细的技术文档和API说明 持续跟踪新技术和工具,评估其在跨平台开发中的应用价值
包括英文材料
学历+
C+++
https://www.learncpp.com/
LearnCpp.com is a free website devoted to teaching you how to program in modern C++.
https://www.youtube.com/watch?v=ZzaPdXTrSb8
Windows+
[英文] Windows 10 Tutorial
https://www.tutorialspoint.com/windows10/index.htm
This tutorial gives you all the indepth information on this new operating system and its procedures.
macOS+
https://www.youtube.com/watch?v=Ag3NWYr5CD8
Here’s everything you need to know about your new Mac in 2025 - this is the ultimate beginner's guide to macOS!
Web+
https://web.dev/learn
Explore our growing collection of courses on key web design and development subjects.
CMake+
https://cmake.org/getting-started/
We want to give you the resources you need to confidently leverage CMake as your build system of choice.
https://learnxinyminutes.com/zh-cn/cmake/
CMake 是一个跨平台且开源的自动化构建系统工具。通过该工具你可以对你的源代码进行测试、编译或创建安装包。
https://www.youtube.com/watch?v=7YcbaupsY8I
CMake introduction for absolute beginners.
多线程+
https://liaoxuefeng.com/books/java/threading/basic/index.html
和单线程相比,多线程编程的特点在于:多线程经常需要读写共享数据,并且需要同步。
https://www.youtube.com/watch?v=_uQgGS_VIXM&list=PLsc-VaxfZl4do3Etp_xQ0aQBoC-x5BIgJ
https://www.youtube.com/watch?v=IEEhzQoKtQU
https://www.youtube.com/watch?v=mTGdtC9f4EU&list=PLL8woMHwr36EDxjUoCzboZjedsnhLP1j4
https://www.youtube.com/watch?v=TPVH_coGAQs&list=PLk6CEY9XxSIAeK-EAh3hB4fgNvYkYmghp
https://www.youtube.com/watch?v=xPqnoB2hjjA
This video is an introduction to multithreading in modern C++.
https://www.youtube.com/watch?v=YKBwKy5PrpQ
Rust threading is easy to implement and improves the efficiency of your applications on multi-core systems!
WebAssembly+
https://learnxinyminutes.com/wasm/
In WebAssembly, everything is included in a module.
[英文] WebAssembly
https://web.dev/explore/webassembly
Enable high-performance applications on web pages.
[英文] I want to…
https://webassembly.org/getting-started/developers-guide/
Compile a WebAssembly module from…
https://www.youtube.com/watch?v=dqhJU772ckM
OpenGL+
https://www.youtube.com/watch?v=45MIykWJ-C4
Learn how to use OpenGL to create 2D and 3D vector graphics in this course.
https://www.youtube.com/watch?v=W3gAzLwfIP0&list=PLlrATfBNZ98foTJPJ_Ev03o2oq3-GGOS2
https://www.youtube.com/watch?v=XpBGwZNyUh0&list=PLPaoO-vpZnumdcb4tZc4x5Q-v7CkrQ6M-
DirectX+
http://www.directxtutorial.com/lessonarticle.aspx?id=1
the purpose of this website is to assist novice programmers to overcome the difficulties in learning DirectX and game programming.
https://learn.microsoft.com/en-us/windows/win32/direct3dgetstarted/getting-started-with-a-directx-game
Creating a Microsoft DirectX game for Windows is a challenge for a new developer. Here we quickly review the concepts involved and the steps you must take to begin developing a game using DirectX and C++.
Metal+
[英文] Metal
https://developer.apple.com/metal/
Whether you want to build a graphics-intensive app, a cutting-edge game with beautiful visuals, or target demanding compute workloads like machine learning, Metal puts the advanced capabilities of Apple-designed GPUs at your fingertips.
[英文] Metal Tutorial
https://metaltutorial.com/
This tutorial will teach you the basics of Apple's Metal Graphics and Compute API, and help you understand how to program with it in C++ via the metal-cpp library.
https://www.kodeco.com/7475-metal-tutorial-getting-started
In this Metal tutorial, you will learn how to get started with Apple’s 3D graphics API by rendering a simple triangle to the screen.
[英文] learnmetal.com: Home
https://www.learnmetal.com/
Welcome to Learn Metal — an open-source tutorial site focused on learning and mastering Apple’s Metal graphics API.
Vulkan+
https://developer.android.com/codelabs/beginning-vulkan-on-android#0
Vulkan is the primary low-level graphics API on Android. Vulkan enables reaching higher performance for games that implement their own game engine and renderer.
https://docs.vulkan.org/tutorial/latest/00_Introduction.html
The ideas behind Vulkan are similar to those of Direct3D 12 and Metal, but Vulkan has the advantage of being fully cross-platform and allows you to develop for Windows, Linux and Android at the same time.
https://edw.is/learning-vulkan/
I learned some Vulkan and made a game engine with two small game demos in 3 months.
https://vulkan-tutorial.com/
This tutorial will teach you the basics of using the Vulkan graphics and compute API.
WebSocket+
[英文] WebSockets Tutorial
https://www.tutorialspoint.com/websockets/index.htm
Web sockets are defined as a two-way communication between the servers and the clients, which mean both the parties, communicate and exchange data at the same time.
Android+
https://roadmap.sh/android
Step by step guide to becoming an Android developer .
https://www.youtube.com/playlist?list=PLQkwcJG4YTCSVDhww92llY3CAnc_vUhsm
NDK+
https://developer.android.com/ndk/guides
The Native Development Kit (NDK) is a set of tools that allows you to use C and C++ code with Android.
https://www.youtube.com/watch?v=YvCRlJToCAg
While most Android apps are written in pure Java, Android's Native Development Kit (NDK) enables us to access code written in C/C++ via Java Native Interface (JNI).
iOS+
https://www.youtube.com/watch?v=UNH0bE4zPtY&list=PLSzsOkUDsvdu5Mm67aBYs2YPu2OM4mFzt
Objective-C+
[英文] Where X=Objective-C
https://learnxinyminutes.com/objective-c/
Objective-C is the main programming language used by Apple for the macOS and iOS operating systems and their respective frameworks, Cocoa and Cocoa Touch.
https://www.youtube.com/playlist?list=PL640F44F1C97BA581
Here is a list of all of my Objective C tutorials.
Swift+
[英文] A Swift Tour
https://docs.swift.org/swift-book/documentation/the-swift-programming-language/guidedtour/
Explore the features and syntax of Swift.
https://www.hackingwithswift.com/learn
Free Swift and iOS tutorials
https://www.youtube.com/watch?v=8Xg7E9shq0U
Learn the Swift programming language in this full tutorial for beginners.
CI+
https://www.ibm.com/cn-zh/think/topics/continuous-integration
持续集成 (CI) 是一种软件开发实践,开发人员在整个开发周期中会定期将新的代码和代码变更集成到中央代码存储库中。它是 DevOps 和敏捷方法的关键组成部分。
https://www.youtube.com/watch?v=42UP1fxi2SY
CD+
https://www.redhat.com/zh-cn/topics/devops/what-is-ci-cd
CI/CD 是持续集成和持续交付/部署的缩写,旨在简化并加快软件开发生命周期。
https://www.youtube.com/watch?v=R8_veQiYBjI&list=PLy7NrYWoggjzSIlwxeBbcgfAdYoxCIrM2
相关职位
社招
硬件岗位职责: 1. 负责产品的硬件开发任务,包括硬件方案与关键器件选型,原理图设计,BOM制做,PCB Layout指导,单板调试和样机验证等工作; 2. 负责PCBA板级信号测试问题解决,以及整机测试与认证,试产和量产过程中相关硬件技术问题的跟踪解决; 3. 完成硬件项目开发过程中TR评审的技术文档编写,调试过程中的问题总结与复盘,编写标准电路,提练CHECKLIST, 协助团队进行技术积累; 4. 新方案的硬件设计评审,硬件新技术方案预言及技术攻关。 职位要求 任职资格: 1、本科及以上,电子信息工程、电气工程及其自动化等电子类相关专业,8年以上硬件开发经验; 2、精通模拟电路/数字电路,熟悉ARM/STM32系统开发,掌握硬件相关专业知识及设计规范,拥有良好的开发习惯; 3、有EMC设计及整改经验,熟悉电路堆叠设计、ESD防护设计等 4、有运动控制或电机驱动相关开发经验优先; 5、有FPGA项目开发经验更佳; 5、有FDM,或者光固化3D打印机(DLP,LCD)硬件开发经验最佳;
更新于 2022-02-17
社招
1、负责主导打印项目嵌入式软件开发和喷头驱动开发。 2、参与喷头的选型,喷墨控制方案和供墨系统的选型和开发。 3、参与制定喷墨的整体技术规格、方案,负责软件在喷墨领域的研发工作。
更新于 2021-10-19
社招5年以上
高级产品经理 工作职责: 1、负责智能硬件(3D打印)的产品设计:分析产品定位、目标人群、使用场景,主导产品概念和用户体验并发付开发实现; 2、撰写产品需求文档,交互设计方案,用户体验跟踪和产品优化方案; 3、整合设计、研发、供应链、市场、售后等资源,推动产品成功实施; 4、与海外一流的互联网公司进行紧密沟通合作。
更新于 2021-10-19