Senior/Lead Software Engineer, Network Systems

<p>Arista Networks is an industry leader in data-driven, client-to-cloud networking for large data center, campus and routing environments. What sets us apart is our relentless pursuit of innovation. We leverage the latest advancements in cloud computing, artificial intelligence, and software-defined networking to provide our clients with a competitive edge in an increasingly interconnected world. Our solutions are designed to not only meet the current demands of the digital landscape but to also anticipate and adapt to future challenges.<br><br></p><p>At Arista we value the diversity of thought and perspectives that each employee brings to the table. We believe that fostering an inclusive environment, where individuals from various backgrounds and experiences feel welcome, is essential for driving creativity and innovation.<br><br></p><p>Our commitment to excellence has earned us several prestigious awards, such as Best Engineering Team, Best Company for Diversity, Compensation, and Work-Life Balance. At Arista, we take pride in our track record of success and strive to maintain the highest standards of quality and performance in everything we do.<br><br><br><br></p><strong>Job Description<br><br></strong><p><strong>Who You'll Work With<br><br></strong></p><p>Arista Networks is looking for world-class Senior/Lead Network Systems software engineers.<br><br></p><p>Network systems software is all about managing hardware components on switches and routers. As a senior/lead Network Systems engineer, you will collaborate and work with customers, product management and hardware engineers to design and build novel features that help Arista hardware run effectively and efficiently. You will write software that controls everything from temperature sensors, fan controllers, power controllers, storage devices to FPGAs, NICs and PCIE switches. You will design abstractions that allow this software to be easily packaged and integrated into hardware drivers that manage all our hardware. You will have the opportunity to design solutions to accelerate key functions using hardware and FPGAs to improve system performance. You will also get to work closely with our hardware engineers throughout the lifecycle of our products - ranging from influencing hardware designs for ease of software control, to bringing up brand new hardware and taking it through the development cycle to market.<br><br></p><p><strong>What You'll Do<br><br></strong></p><p>Arista Software Engineering roles demand a strong and broad software engineering background. While the primary focus area for this role is Network Systems software, the role will cover all aspects of software development spanning the addition of new features, debugging problems and fine tuning code for scalability and performance. You will own your projects from definition to deployment and customer interactions, and you will be responsible for the quality of everything you deliver. <br><br></p><p>Arista Software Engineering prides itself on a supportive and growth oriented culture. Over time, as your interests change, coupled with evolving business needs you will have the opportunity to switch from packet forwarding to other areas, if you like. <br><br></p><ul><li>Interface with customers, product management and hardware engineers to come up with innovative new network systems features. </li><li>Architect, design and manage the development of these features. </li><li>Develop and maintain features using C, C++ and Python, review and contribute to functional and design specifications. Build automated tests and test infrastructure to test the features. </li><li>Work with hardware and manufacturing teams to bring new hardware to market. </li><li>Collaborate with hardware engineers to design optimal software control interfaces for managing hardware components. </li><li>Provide technical leadership across features, projects and tools. </li><li>Work with Customer Support Engineers and customers to analyze, mitigate and fix problems in customer networks. </li><li>Work with the System Test Engineers to analyze problems found in their tests and provide fixes for those problems. </li><li>Mentor new and junior engineers to bring them up to speed in Arista's software development environment. <br><br></li></ul><strong>Qualifications<br><br></strong><ul><li>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</li><li>Expert knowledge of C or C++ and Python. </li><li>Knowledge of UNIX or Linux</li><li>Hands-on experience in the design and development of hardware device drivers and/or system management utilities</li><li>Understanding of IP networking and/or distributed systems is a plus</li><li>Experience working with low level hardware components is a plus </li><li>Applied understanding of software engineering principles</li><li>Strong problem solving and software troubleshooting skills</li><li>Ability to design a solution and implement features independently. </li><li>Ability to work in small teams</li></ul><p><br><br><br><br></p><strong>Additional Information<br><br></strong><p>Arista Networks is an equal opportunity employer. Arista makes all hiring and employment-related decisions in a non-discriminatory manner without regard to race, color, religion, sex, sexual orientation, gender identity, national origin or any other factor determined to be unlawful under applicable federal, state, or law law. All your information will be kept confidential according to EEO guidelines.<br><br></p>

Back to blog

Common Interview Questions And Answers

1. HOW DO YOU PLAN YOUR DAY?

This is what this question poses: When do you focus and start working seriously? What are the hours you work optimally? Are you a night owl? A morning bird? Remote teams can be made up of people working on different shifts and around the world, so you won't necessarily be stuck in the 9-5 schedule if it's not for you...

2. HOW DO YOU USE THE DIFFERENT COMMUNICATION TOOLS IN DIFFERENT SITUATIONS?

When you're working on a remote team, there's no way to chat in the hallway between meetings or catch up on the latest project during an office carpool. Therefore, virtual communication will be absolutely essential to get your work done...

3. WHAT IS "WORKING REMOTE" REALLY FOR YOU?

Many people want to work remotely because of the flexibility it allows. You can work anywhere and at any time of the day...

4. WHAT DO YOU NEED IN YOUR PHYSICAL WORKSPACE TO SUCCEED IN YOUR WORK?

With this question, companies are looking to see what equipment they may need to provide you with and to verify how aware you are of what remote working could mean for you physically and logistically...

5. HOW DO YOU PROCESS INFORMATION?

Several years ago, I was working in a team to plan a big event. My supervisor made us all work as a team before the big day. One of our activities has been to find out how each of us processes information...

6. HOW DO YOU MANAGE THE CALENDAR AND THE PROGRAM? WHICH APPLICATIONS / SYSTEM DO YOU USE?

Or you may receive even more specific questions, such as: What's on your calendar? Do you plan blocks of time to do certain types of work? Do you have an open calendar that everyone can see?...

7. HOW DO YOU ORGANIZE FILES, LINKS, AND TABS ON YOUR COMPUTER?

Just like your schedule, how you track files and other information is very important. After all, everything is digital!...

8. HOW TO PRIORITIZE WORK?

The day I watched Marie Forleo's film separating the important from the urgent, my life changed. Not all remote jobs start fast, but most of them are...

9. HOW DO YOU PREPARE FOR A MEETING AND PREPARE A MEETING? WHAT DO YOU SEE HAPPENING DURING THE MEETING?

Just as communication is essential when working remotely, so is organization. Because you won't have those opportunities in the elevator or a casual conversation in the lunchroom, you should take advantage of the little time you have in a video or phone conference...

10. HOW DO YOU USE TECHNOLOGY ON A DAILY BASIS, IN YOUR WORK AND FOR YOUR PLEASURE?

This is a great question because it shows your comfort level with technology, which is very important for a remote worker because you will be working with technology over time...