Our team has an immediate permanent opening for a Senior Principal Architect.
Responsibilities:
- Work on all stages of Software Development Life Cycle (SDLC) and trustworthy computing including tool and programming languages development.
- Provide or apply the best practices for software development in industry to real product lines including telecom equipment, cloud services and consumer products, to improve the development process, including compilation/building/release processes.
- Develop advanced program analysis tools to support software development for secure and trustworthy software.
- Work with engineers on different products to refactor legacy code, from coding style to software architecture.
- Machine learning, deep learning experience, especially for networking systems, such as networking optimization, planning, and automation.
- Collaborate with academia to study advanced technologies in the software engineering domain.
- Be always creative in problem solving, keep learning and stay connected with the state-of-the-art technologies/processes/tools.
What you’ll bring to the team:
- BS degree and above in Computer Science, EE or related area with extensive working experiences in one of the areas: DevOps tool, software engineering, compilers, networking, database, operating system, embedded system.
- Familiar with software life cycle, development tools, building process, version control, product verification. Master C/C++/Java/Python, experience with CICD, DevOps, CMake, Git, Gitlab, Github, or Jenkins.
- Proficient in software design patterns. Experiences in object-oriented analysis and design in networking with UML and/or DSL.
- Working knowledge in architecture design, virtualization, compilation process and compiler technology, parallel and distributed computing.
- In-depth understanding of networking technologies and experience with major routing/switching protocols and SDN. Experience with PyTorch, TensorFlow and other related tools. Or experience using existing RDBMS/NoSQL systems, with a working understanding of SQL and database internals.
- Working experiences in secure programming, software refactoring, system modeling, system analysis and verification, building large and complex systems and software management.
- Strong experiences in parallel runtime or middleware design and implementation, hands-on experience of database engine development or in-memory DB, large network architecture design, with excellent network analysis and troubleshooting skills, Linux kernel programming experience (memory management, uni-kernel, networking, RDMA, virtualization, containers, device drivers), ARM tool chain development, actively involved in the open-source community, such as CMake, Bazel project is an asset.
#J-18808-Ljbffr