Verisign logo
Verisign Verified
Internet Services

Software Engineer - C++

Reston, VAHybridFull Time$135,800–$183,800 /yrPosted 1 month agoVisa sponsorship available

Is this role right for you?

Upload your resume and get a skill-by-skill breakdown — see exactly where you match, where you're close, and what to highlight. Not a mystery percentage.

Get a tailored resume highlighting what this role needs.

Required skills

  • C++
  • Python
  • Rust
  • Linux
  • DNS
  • networking protocols
  • server administration
  • gdb
  • tcpdump
  • Agile

Nice to have

  • Terraform
  • Ansible
  • Puppet
  • OpenStack
  • Docker
  • Kubernetes

Role summary

Verisign is seeking a Software Engineer with C++ experience to join their Resolution Engineering team in Reston, VA. This high-performing Agile team builds scalable, high-performance, and highly available systems that enable the internet to operate at scale. The role involves designing, implementing, integrating, testing, deploying, and maintaining software solutions, with a focus on system-level engineering in C, C++, or Rust. Responsibilities include supporting infrastructure automation, CI/CD pipelines, containerization, and troubleshooting network issues. The ideal candidate possesses strong Computer Science fundamentals, proficiency in Linux, DNS, and networking protocols, and a passion for code quality and best practices. This is a hybrid, full-time position with a salary range of $135,800 - $183,800 annually.

Verisign helps enable the security, stability, and resiliency of the internet. We are a trusted provider of internet infrastructure services for the networked world and deliver unmatched performance in domain name system (DNS) services.

We are a mission focused, values driven company where each individual can contribute to building a stronger, more secure internet. We offer a dynamic and flexible work environment with competitive benefits and the ability to grow your career.

The Team:

Verisign’s Resolution Engineering team is a high performing, Agile team who builds horizontally scalable, high performance, and highly available systems. As part of the team, you will be responsible for designing and implementing new features for resolution products. You will be writing the software that fundamentally enables the internet to operate at scale. We are seeking a motivated Software Engineer to join our team. The successful candidate will support the design, development, integration, testing, deployment, and maintenance of software solutions in a collaborative Agile environment. This role provides an excellent opportunity to gain hands-on experience with modern software engineering practices, including software integration, vulnerability management, automated testing, and CI/CD pipeline development.

The Person:

The ideal candidate will have strong software engineering fundamentals in a variety of languages and tools applied in a system-level engineering environment (C, C++, Rust). You will engage in maintaining the health of development environments including troubleshooting and resolving. You will work in an established, highly-technical Agile development team. You will participate in daily standup meetings, grooming and planning sessions. You will take ownership of features from design to delivery. Successful engineers will work closely with team members to master our software and make a positive impact on projects as well as team chemistry.

A successful candidate will have:

  • a track record for high quality and impactful delivery demonstrating strong design skills and a passion for code quality
  • true craftsmanship, who enjoys breaking down tough problems, as well as working with a team to deliver valuable solutions
  • passion for the software development best practices such as automated testing, code reviews, continuous integration, and continuous delivery
  • a curious mindset, be an agent for change, constantly learning and seeking better outcomes
  • skill at interacting and working with people in a proactive manner to mitigate key project technical risks and ensure quality
  • Required Skills:

  • Build, Integration and Deployment Skills:
  • Experience with or a strong willingness to learn infrastructure automation and platform engineering technologies such as Terraform, Ansible, Puppet and OpenStack
  • Understanding of CI/CD concepts and tools (e.g., Jenkins, Groovy, GitHub)
  • Familiarity with containerization tools like Docker and Kubernetes
  • Awareness of and responsibility for how large-scale distributed systems are deployed and operated
  • Development and Test Skills:
  • Proven foundation in Computer Science fundamentals (data structures, algorithms, operating systems, object-oriented design)
  • Strong systems programming with focus in networking and routing protocols
  • Experience in behavior-driven testing frameworks such as Python Behave or Cucumber
  • Broad application software development experience with focus in C, C++ or Rust development
  • Highly proficient in Python or similar scripting language
  • Role-specific Skills:
  • Highly proficient with Linux.
  • Strong knowledge of the Domain Name System (DNS), networking protocols, and server administration
  • Strong skills in troubleshooting and diagnosing network issues with tools such as gdb and tcpdump
  • Provides technical leadership in developing complexing initiatives and leads best development practices including documentation, release management, code commits and pull requests
  • Developer Traits:
  • Excellent team player who enjoys a collaborative, Agile-based team environment
  • Independent problem solving and trouble-shooting skills aimed at healthy environments and quality code
  • Strong verbal and written communication skills to clearly present ideas and solutions ensuring shared understanding among the team
  • A willingness to learn and a curious mindset about the products you are supporting
  • Relevant Experience:

  • Bachelor’s Degree in Computer Science or related field, or equivalent work experience
  • 8+ years of relevant work experience in software development
  • This position is based in our Reston, VA office and offers a hybrid work schedule.

    The pay range is $135,800 - $183,800.

    The anticipated annual base salary range for this position is noted above, however, base pay offered may vary depending on job-related knowledge, skills, experience. Verisign offers a discretionary bonus which is based on individual and company performance, and certain roles may be eligible for discretionary stock awards.

    Verisign is an equal opportunity employer. That means we recruit, hire, compensate, train, promote, transfer, and administer all terms and conditions of employment without regard to their race, color, religion, national origin, sex, sexual orientation, gender identity, age, protected veteran status, disability, or other protected categories under applicable law.

    Additional Information:Our Careers PageOur Benefits SummaryVerisign in the CommunityOur EEO StatementOur Privacy Notice for Job Applicants/CandidatesReasonable Accommodations

    Staffing agency policy: No fees will be paid for unsolicited resumes submitted to Verisign or our employees by third parties.

    Sample Verisign interview questions

    • 1

      Palindrome After Deleting One Character Determine if a string can be a palindrome after deleting at most one character. Input: s = "abc" Output: FALSE Explanation: Deleting any single character leaves either "ab", "bc", or "ac", none of which result in a valid palindrome.

      codingmedium
    • 2

      Merge a New Interval Merge a new interval into a list of non-overlapping intervals. Input: intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8] Output: [[1,2],[3,10],[12,16]] Explanation: The new interval overlaps with [3,5], [6,7], and [8,10], merging them all into the unified block [3,10].

      codingmedium
    • 3

      Connected Components in an Undirected Graph Determine the number of connected components in an undirected graph. Input: n = 4, edges = [[0,1],[2,3]] Output: 2 Explanation: The graph is split completely evenly into two distinct isolated components: nodes {0,1} and nodes {2,3}.

      codingmedium
    • 4

      Implement String Compression Implement string compression. Input: chars = ["a","b","b","b","b","b","b","b","b","b","b","b","b"] Output: ["a","b","1","2"] Explanation: The letter 'a' appears once (so no number is appended), and 'b' appears 12 times, modifying the array in place to length 4.

      codingmedium
    • 5

      Product of Array Except Self Calculate the product of an array except for self without using division. Input: nums = [-1,1,0,-3,3] Output: [0,0,9,0,0] Explanation: The single zero zeros out all products except at its own index, which cleanly multiplies the remaining elements.

      codingmedium

    Get started to unlock a personalized interview prep pack for this role.

    Ready to apply?
    You'll be redirected to Verisign's application page.

    Similar roles

    See how RiseMe works

    Match, tailor, and prep so you send fewer applications and land more interviews.