Software Engineer

Overview

On Site
USD 140,000.00 - 190,000.00 per year
Full Time

Skills

Research
Engineering Design
OOD
Scripting
Lua
Microcontrollers
System On A Chip
UDP
TCP
USB
RS-232
I2C
SPI
Management
Thread
IPC
RPC
Algorithms
Performance Tuning
Security Clearance
C
C++
Python
Multithreading
Analytical Skill
Problem Solving
Conflict Resolution
Communication
Software Engineering
Computer Science
IT Management
Embedded Systems
Build Tools
Debugging
Version Control
Workflow
Release Management
Testing
Unit Testing
DoD
IC
Internal Communications
Integrated Circuit
SAP BASIS
Law
FOCUS

Job Details

Job Description

ECS is seeking a Software Engineer to work at the US Naval Research Laboratory (NRL) in Washington, DC .

ECS seeks a dynamic and experienced Mid/Senior Software Developer to provide solution engineering, design, and development services. We are seeking a problem solver, who enjoys the challenge of tackling technical tasks and problems creatively and communally. A strong desire and aptitude for learning is a must with a proven ability to adapt and drive change - our solution is rapidly evolving, along with new requirements, technologies and the threat landscape. The ideal candidate will have:
  • Strong C proficiency: A solid foundation in C (and preferably C++) language concepts, syntax, and best practices for code quality. Additionally, ability to apply data-oriented design, object-oriented design and test-driven design programming principles where appropriate.
  • Working knowledge of Python: Experience with Python for scripting, testing, and developing tools to streamline the development process. Experience with Lua is also beneficial.
  • Embedded systems fundamentals: Understanding of microcontroller and SoC architectures, memory management, interrupt handling and peripheral device interfacing (e.g. UDP, TCP, USB, RS-232, RS-422, GPIO, I2C, SPI) is crucial.
  • Multithreaded programming: Expertise in creating and managing multiple threads of execution, inter-process communication (IPC), synchronizing access to shared resources, and handling race conditions is vital.
  • Distributed processing: Knowledge with message passing (pub/sub and point-to-point) architectures, remote procedure calls (RPC), and design of distributed algorithms is important.
  • Performance optimization: Ability to analyze and optimize code for performance in resource-constrained embedded environments is highly valued.
  • Problem-solving and debugging: Strong analytical skills and the ability to identify and resolve complex issues in concurrent and distributed software are essential.
Salary Range: $140,000 - $190,000

General Description of Benefits

Required Skills

  • U.S. Citizenship.
  • Active Secret clearance and qualified for upgrade to TS/SCI.
  • Bachelor's degree in Software engineering, or a related technical field (e.g. computer science, information systems management, engineering, or other relevant discipline).
  • At least 5 years of professional experience, not including student internships and co-op programs.
  • Demonstrable projects: Possess a portfolio of academic or personal projects showcasing their skills in C/C++/Python, embedded systems development, and specifically, multithreaded and distributed processing techniques.
  • Excellent analytical and problem-solving skills.
  • Strong communication skills with both technical and non-technical stakeholders.


Desired Skills

  • Active TS/SCI.
  • Master's degree in software engineering or a related technical field (e.g. computer science, information systems management, engineering, or other relevant discipline).
  • At least 10 years of professional experience, not including student internships and co-op programs.
  • Exposure to relevant tools and frameworks: Familiarity with embedded development tools (e.g. compilers, build tools, debuggers, debug tools, emulators, and analyzers), version control systems and workflows, deployment and release management, and testing frameworks (e.g., Google test, pytest, unittest) is advantageous.
  • Experience delivering technical excellence in the federal space, particularly experience with DoD and/or IC.
#ECS1

ECS is an equal opportunity employer and does not discriminate or allow discrimination on the basis any characteristic protected by law. All qualified applicants will receive consideration for employment without regard to disability, status as a protected veteran or any other status protected by applicable federal, state, or local jurisdiction law.

ECS is a leading mid-sized provider of technology services to the United States Federal Government. We are focused on people, values and purpose. Every day, our 3800+ employees focus on providing their technical talent to support the Federal Agencies and Departments of the US Government to serve, protect and defend the American People.
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.