Skip to main content

NetWitness - Principal Software Engineer

Primary Location: Reston, Virginia

Apply Now

NetWitness - Principal Software Engineer

As one of the most established cybersecurity companies in the world, we at NetWitness are hard at work every day helping our customers and partners better protect their organizations from cyberattacks. Our products and incident response services are used within most large enterprises, governments and militaries for incident response and threat hunting. Our Sales Professionals, Sales Engineers and Professional Services Consultants design and deliver solutions for potential and existing customers to enable better visibility, insight and action to prevent and defend against attacks. NetWitness provides the unique ability to provide one single platform with a unified view across all attack surfaces including Network, Logs/SIEM, Endpoint and IoT combined with our AI-based User and Entity Behavioral Analysis (UEBA) and Security, Orchestration, Automation & Response (SOAR) capabilities. 

The Principal Software Engineer is responsible for the software design and development for external customer products. Utilizes a range of applicable technologies (e.g., cloud development operations, agile technologies, programming languages, compilers, assemblers,
debuggers, other tools) for product lines. Modifies existing software products to add new functions, adapt to new hardware or software environments, improve performance or enhance product usability. Participates in product development
in all stages from planning and design to development, testing and documentation. Leads the design of new technologies. Monitors optimizes and controls dependent resources. Assists with the implementation of new or additional product

Principal Accountabilities:

  • Provides full design, planning, configuration, documentation, deployment and top-level support ownership of relevant technologies
  • Manages or utilizes software that is built and implemented as a product, using best-in-class development process/lifecycle management (ex: Agile, Waterfall)
  • Identifies design requirements and makes recommendations for capacity planning, performance optimization and future direction. Designs solutions per business requirements
  • Researches and compares software features and works with vendors on system sizing for specific applications.
  • Troubleshoots software reliability and performance issues
  • Collaborates on and implements architecture recommendations to application integration, system administration, problem management, preventive maintenance, performance tuning and for 3rd party software
  • Identifies and eliminates performance bottlenecks and makes performance-related recommendations (hardware, software, configuration)
  • Leads or participates in the software development lifecycle, which includes research, new development, modification, security, correction of errors, reuse, re-engineering and maintenance of software products
  • Gathers business requirements and participates in product definition and feature prioritization, including customer usability studies. Performs competitive analysis for features at a product level scope
  • Leads the testing and fixing of new or enhanced products. Creates technical documentation of software products/solutions
  • Assists with the development and review of end user and technical end user documentation
  • Drives idea generation for new software products or for the next version of an existing product
  • Protects Intellectual property by working appropriate legal elements (ex: procurement, patents, open source)
  • Responsible for the delivery of products within budget, schedule and quality guidelines. Works with the team to develop, maintain, and communicate current development schedules, timelines and development status
  • Makes changes to software to correct errors in the original implementation and creates extensions to existing programs to add new features or performance improvements
  • Designs and develops major functional or performance enhancements for existing products, or produces new software products or tools
  • Reviews requirements, specifications and designs to assure product quality; develops and implements plans and tests for product quality or performance assurance

Principal Responsibilities:

  • Contributes to the design and architecture of high-quality, complex systems and software/storage environments
  • Prepares, reviews and analyzes software/storage specifications for products and systems
  • Contributes to the development, review, analysis and implementation of test strategies for complex software products
    and systems/for storage products and systems
  • Contributes to the development, test and integration of code for new or existing software of significant complexity
    involving multiple teams
  • Provides the review, analysis and closed loop corrective action for issues contributing to software/storage defects and business process problems
  • Designs and implements software lifecycle and quality assurance methods for projects and products
  • Presents accurate project status to senior leadership, at both a summary and detailed level


  • Strong knowledge of programming languages; operating systems; firmware; BIOS; device drivers; databases; system,
    network, operating system, and application administration; embedded software/firmware; tools and utilities
  • Able to code/debug and guide others to code/debug flexible, scalable and complex programs, using either written or
    verbal design specifications
  • Experience with multiple programming languages, databases, operating systems, tools and hardware platforms.
  • Able to achieve mastery of new tools, languages and operating systems with some training and on-the-job experience
  • Familiarity with several Software Lifecycle and Quality Assurance methodologies
  • Able to define and document how a specific Software Lifecycle and Quality
  • Assurance method will be used for specific projects
  • Able to participate and add value in all phases of software development: feasibility, design, implementation, integration, test and delivery
  • Strong knowledge of software architectures and applications
  • Strong knowledge of network file systems, disk-based file systems and/or file virtualization technology
  • Strong knowledge of replication technologies and server migration strategies
  • Strong knowledge of server, storage, networking and client technologies

Education & Experience:

  • Typically requires 8+ years of related experience with a Bachelor’s degree; or 6+ years with a Master’s degree; or 3+
    years with a PhD; or equivalent experience

RSA is committed to the principle of equal employment opportunity for all employees and applicants for employment and to providing employees with a work environment free of discrimination and harassment. All employment decisions at RSA are based on business needs, job requirements and individual qualifications, without regard to race, color, religion, national origin, sex (including pregnancy), age, disability, sexual orientation, gender identity and/or expression, marital, civil union or domestic partnership status, protected veteran status, genetic information, or any other characteristic protected by federal, state or local laws. RSA will not tolerate discrimination or harassment based on any of these characteristics. This policy applies to all terms and conditions of employment, including recruiting, hiring, placement, promotion, termination, layoff, recall, transfer, leaves of absence, compensation, and training. All RSA employees are expected to support this policy and contribute to an environment of equal opportunity.

If you need a reasonable accommodation during the application process, please contact All employees must be legally authorized to work in the US. RSA participates in E-Verify. RSA and its approved consultants will never ask you for a fee to process or consider your application for a career with RSA. RSA reserves the right to amend or withdraw any job posting at any time, including prior to the advertised closing date.

Job ID: NETWI003383
Apply Now

Join Our Talent Network

Sign up to stay up-to-date on our latest career opportunities, events and company news.

Interested InSelect a job category from the list of options. Search for a location and select one from the list of suggestions. Finally, click “Add” to create your job alert.

  • Software Engineering, Reston, Virginia, United StatesRemove