Principal Software Engineer
Description
About Us:
eSimplicity is a modern digital services company that delivers innovative technology solutions designed to improve the health and lives of millions of Americans while defending our national interests. Our solutions and services are high impact, providing the most value to the largest number of end users, where we improve healthcare for millions of Americans, protect our borders, and defend our country on the battlefield. Our core customers include the Department of Homeland Security (DHS), Department of Defense (DoD), Department of State (DoS), Health and Human Services (HHS), and the US Intelligence Community (IC).
eSimplicity specializes in bringing business value to customers through their data, whether that be in the cloud or on-prem, derived through traditional big data approaches or AI/ML techniques. Our core competencies are Enterprise Software Solutions, Architecture/Engineering, AI Engineering, Data Science, and Data Analytics.
Responsibilities:
- Develops, maintains, and enhances complex and diverse software systems (e.g., processing-intensive analytics, novel algorithm development, manipulation of extremely large data sets, real-time systems, and business management information systems) based upon documented requirements.
- Works individually or as part of a team.
- Reviews and tests software components for adherence to the design requirements and documents test results.
- Resolves software problem reports. Utilizes software development and software design methodologies appropriate to the development environment.
- Provides specific input to the software components of system design to include hardware/software trade-offs, software reuse, use of Commercial Off-the-shelf (COTS)/Government Off-the-shelf (GOTS) in place of new development, and requirements analysis and synthesis from system level to individual software components.
- Analyze user requirements to derive software design and performance requirements
- Debug existing software and correct defects
- Provide recommendations for improving documentation and software development process standards
- Design and code new software or modify existing software to add new features
- Integrate existing software into new or modified systems or operating environments
- Develop simple data queries for existing or proposed databases or data repositories
- Write or review software and system documentation
- Serve as team lead at the level appropriate to the software development process being used on any particular project
- Design or implement complex database or data repository interfaces/queries
- Develop or implement algorithms to meet or exceed system performance and functional standards
- Assist with developing and executing test procedures for software components
- Develop software solutions by analyzing system performance standards, confer with users or system engineers; analyze systems flow, data usage and work processes; and investigate problem areas
- Modify existing software to correct errors, to adapt to new hardware, or to improve its performance
- Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design
- Design or implement complex algorithms requiring adherence to strict timing, system resource, or interface constraints; Perform quality control on team products
- Implement recommendations for improving documentation and software development process standards
- Oversee one or more software development teams and ensure the work is completed in accordance with the constraints of the software development process being used on any particular project
- Confer with system engineers and hardware engineers to derive software requirements and to obtain information on project limitations and capabilities, performance requirements and interfaces
- Coordinate software system installation and monitor equipment functioning to ensure operational specifications are met
- Recommend new technologies and processes for complex software projects
- Serve as the technical lead of multiple software development teams
- Select the software development process in coordination with the customer and system engineering
- Ensure quality control of all developed and modified software
- Delegate programming and testing responsibilities to one or more teams and monitor their performance
Requirements
Required Qualifications:
- Bachelor’s degree in computer science or related discipline from an accredited college or university is required and Twenty (20) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity is required or twenty four (24) year’s total of SWE experience on projects with similar software processes may be substituted without a qualifying bachelor’s degree.
- Must possess an active TS/SCI clearance with a Polygraph. Candidates with Conditional Clearances (CCAs), are not eligible.
- Proven ability to analyze user requirements and translate them into detailed software design and performance specifications, including experience with requirements decomposition.
- Experience in debugging and correcting defects in existing software applications to ensure high-quality performance using tools like CloudWatch and pgAdmin.
- Expertise in designing and coding new software applications or modifying existing ones to introduce new features, leveraging AWS services such as Lambda (Python 3.11), API Gateway with Lambda Authorizer, and Step Functions.
- Experience integrating existing software into new or modified systems or operating environments, including the use of Docker containers and Terraform for Infrastructure as Code (IaC).
- Skilled in developing and optimizing data queries for both existing and proposed databases or data repositories, specifically with AWS RDS Aurora PostgreSQL and DynamoDB (as a user cache).
- Experience writing or reviewing comprehensive software and system documentation, including Makefiles and configuration/dependency tools like Poetry for Python.
- Proven leadership experience as a team lead during various stages of the software development process, coordinating efforts across teams using modern DevOps and cloud-native technologies.
- Ability to develop or implement algorithms to meet or exceed system performance and functional standards, supported by Python-based Lambda functions and presigned URL implementations (e.g., S3).
- Experience assisting in the development and execution of software component test procedures and cloud-based event-driven services using SQS and SNS.
- Ability to analyze system performance, collaborate with users or system engineers, and develop software solutions based on system flow, data usage, and work processes within AWS-native environments.
- Experience modifying existing software to correct errors, adapt to new hardware, or improve overall performance using containerization, observability tools, and serverless frameworks.
- Experience designing, developing, and modifying software systems using scientific analysis and mathematical models to predict and measure outcomes.
- Proven experience overseeing one or more software development teams to ensure work aligns with process constraints, cloud architecture, and scalability considerations.
- Experience collaborating with system and hardware engineers to derive software requirements and manage project limitations, leveraging modern cloud and infrastructure tools.
- Proven skills in coordinating software system installation and monitoring equipment to ensure operational specifications are met in hybrid or cloud environments.
- Ability to recommend new technologies and processes—including AWS-native services, Infrastructure as Code, and containerization—for successful execution of complex software projects.
- Proven experience as a technical lead for multiple software development teams, guiding tool adoption such as Terraform, Docker, and AWS Step Functions.
- Strong delegation skills to assign programming and testing responsibilities to teams and monitor their performance using collaborative engineering and automation tools.
- Excellent verbal and nonverbal communication skills
Recommended Jobs
Landscape Maintenance Production Manager
Yard-Nique, Inc. is a leading provider of landscape maintenance services, committed to delivering exceptional quality and customer satisfaction. We are seeking a dedicated and experienced Maintenance…
HOUSEKEEPER
HOUSEKEEPER The Island Housekeeper is responsible for the preparation and service in all Employee Areas including but not limited to, all employee recreations areas, both indoors and outdoors, office…
Plumber (Residential Service) - No On-Call
Job Description Job Description Are you a Plumbing expert who is passionate about problem solving and customer service? Looking to accelerate your career (and income!) with an organization who …
Director of Music Organist
The successful candidate for this position will be a 1099 contractor with Music Ministry International and be responsible for the following: 1.0. BACKGROUND. It is incumbent upon Commanding Officers …
Primary Care Physician multiple positions (Orlando)
Were unique. You should be, too. Were changing lives every day. For both our patients and our team members. Are you innovative and entrepreneurial minded? Is your work ethic and ambition off the cha…
Business Relationship Manager
Job Description Job Description NewtekOne®, Your Business Solutions Company®, is a financial holding company, which along with its bank and non-bank consolidated subsidiaries, provides a wide ran…
Trust & Estate Manager (CPA) - Boca Raton, FL
Trust & Estate Manager (CPA) - Boca Raton, FL Location: Miami, FL and Boca Raton, FL Compensation: $120,000 – $160,000+ (Based on experience) About the Opportunity My client, a highly resp…
Manager, Corporate Finance & Strategy
Journey with us! Combine your career goals and sense of adventure by joining our exciting team of employees. Royal Caribbean Group is pleased to offer a competitive compensation and benefits package…