Data-Driven Networking
Senior/Lead Software Engineer, Network Systems
Location
Canada
Posted
80 days ago
Salary
$120K - $195K / year
Seniority
Senior
Job Description
Senior/Lead Software Engineer, Network Systems
Arista Networks
• Collaborate and work with customers, product management and hardware engineers to design and build novel features • Write software that controls everything from temperature sensors to FPGAs, NICs and PCIE switches • Design abstractions that allow this software to be easily packaged and integrated into hardware drivers • Work closely with hardware engineers throughout the lifecycle of products, influencing designs for ease of software control • Own projects from definition to deployment and customer interactions • Interface with customers and teams to develop innovative features • Develop and maintain features using C, C++ and Python • Build automated tests and test infrastructure • Mentor new and junior engineers
Job Requirements
- BS Computer Science/Electrical Engineering/Computer Engineering + 8 years experience, or MS Computer Science/Electrical Engineering/Computer Engineering + 6 years experience, or Ph.D. in Computer Science/Electrical Engineering/Computer Engineering + 3 years experience, or equivalent work experience
- Expert knowledge of C or C++ and Python.
- Knowledge of UNIX or Linux
- Hands-on experience in the design and development of hardware device drivers and/or system management utilities
- Understanding of IP networking and/or distributed systems is a plus
- Experience working with low level hardware components is a plus
- Applied understanding of software engineering principles
- Strong problem solving and software troubleshooting skills
- Ability to design a solution and implement features independently.
- Ability to work in small teams.
Benefits
- medical
- dental
- vision
- wellbeing
- income protection
- Group Retirement Savings Plan
Related Guides
Related Job Pages
More Full-stack Engineer Jobs
Senior Software Engineer, Delphi
BCC SoftwareBCC Software is the leading postal and presort software solutions provider with in-depth data marketing services.
• Design, develop, test, and maintain software solutions in an Agile SCRUM environment. • Participate in all aspects of the software development lifecycle, including: Estimating and sizing user stories, Writing, reviewing, and testing code, Creating and executing unit tests, Documenting development work, Collaborating with team members on assigned Sprint activities, Meeting individual and team commitments, Delivering consistent results on project goals. • Collaborate with Product Owners to review requirements, define acceptance criteria, and assist with sizing/planning user stories, epics, and projects. • Act as a key contributor within the team while supporting cross-team projects across the broader Engineering organization. • Take ownership of technical problems and ensure solutions are effectively implemented.
• Create, maintain, and update design guides, white papers, and engineering resources • Interpret test results and research findings to produce design parameters and engineering tables • Apply relevant design standards (CSA O86, NDS, Eurocode 5, AS/NZS) and document appropriate assumptions and limits • Work with the R&D team to incorporate data • Collaborate with the Marketing team to refine visual layout and UX/UI • Address recurring industry questions with the Technical Service team • Develop and maintain calculation spreadsheets and digital engineering tools • Identify gaps in existing resources and propose updates • Lead technical documentation and engineering resource projects • Provide technical mentorship to junior engineers and contribute to continuous improvement of engineering standards
Software Engineer
SpaceBound, Parent Company of SpaceBound SolutionsSpaceBound Solutions' Managed IT services allow you to outsource all of your IT Services and Solutions needs.
• Conceptualize, design, build and support software systems with: Web applications, including RESTful APIs or SOAP services. • Batch applications, including file processing • Relational data models • Performance and security considerations • Production problem solving • Support software development life cycle by: Leading the solution design for projects • Reviewing projects and initial for effort, impact, and complexity • Peer code review • Unit testing of features and functionality • Learn new technologies and approaches: Participate in proving out new technologies • Learning new approaches, technologies, paradigms • Translate proof of concept into production ready applications
• Leads the technical requirements definition during discovery meetings with the client team • Oversee and provide technical guidance to a team of developers, reviewing and writing code • Manages technical risk related to complexity, data integration, scalability, and performance. • Provides guidance and oversight to development teams to ensure that the development process, policies and standards are being followed • Research and qualify software solutions to be implemented on a project and provide software recommendations and estimates that meet project budgetary and functional requirements • Prototypes solutions when necessary to validate that an approach will meet the customer's business requirements • Defines the implementation and technical approach for customizations, interfaces, system architecture, data flow and data architecture/data model. • Collaborate with client and internal offshore teams to support overall delivery. Plan development sprints with the PM and participate in scrum calls. • Communicates and enforces coding standards, performs code reviews, and has a very good understanding of scrum principles • Contribute to Ziffity podcasts as a technical subject matter expert




