Software Development Engineer
Fortinet
Key Responsibilities
- Develop and maintain software components on current and future products.
- Integrate, maintain, and improve both 3rd-party and proprietary code.
- Contribute to the design and implementation of software systems, frameworks, and new features.
- Implement software features of high quality and on schedule.
- Be hands-on in bug fixing current products.
- Work with developers within the team and on other cross-functional projects, as well as project management, to develop and maintain the product.
- Communicate effectively, both verbal and written.
Requirements & Tech Stack
- C/C++
- Unix/Linux
- Familiarity with REST API semantics and their application.
- Familiarity with libcurl for formulating REST API calls (a plus).
- Familiarity with JSON data objects and their creation and parsing.
- Familiarity with multi-process/thread programming using POSIX and system programming concepts.
- Understanding of networking fundamentals, specifically TCP/IP networking, switching, and routing.
- Understanding of principles of network management.
- Knowledge of general QA procedures and methodologies as well as software development fundamentals.
- Experience with embedded systems (a plus).
- Experience with networking principles (a plus).
- Experience with firewall configurations and operation (a plus).
Qualifications
- 0-2 years of experience in software development, including internships, co-ops, academic projects, or relevant coursework.
- B.S. in Computer Science or Electrical Engineering; M.S. is a plus.
- Experience with C/C++ and Unix/Linux through coursework, projects, internships, or professional experience.