Your Impact:
nDepth is currently seeking a Software Developer/Senior Software Developer in Hanover, MD. The applicant will be part of a Development Team utilizing software frameworks to build innovative applications. The software engineer will be involved in all parts of the software process; from configuring and managing the production environment to writing, testing, and deploying the code. If you are a software engineer, self-starter and enterprising person looking to expand your knowledge in all parts of application development, then this is the position for you.
Responsibilities:
- Duties will include capturing user requirements and designing user interfaces/experiences (UI/UX) that are elegant and forward-thinking, selecting and implementing technologies that are the best fit for the application, managing and configuring the application code, and documenting and testing the application during its lifespan. This will include the following actions and more as requirements demand.
- Designing, developing, troubleshooting, and analyzing software programs for computer-based systems.
- Performing system modeling, simulation, and analysis.
- Designing and developing compilers, assemblers, utility programs and operations systems.
- Providing input for documentation of new or existing programs, associated documentation, block diagrams and logic flow charts applied to engineering problems.
- Conducting detailed analysis of defined systems specification.
- Verifying accuracy and completeness of programs by preparing sample data, conducting program tests, analyzing test results, and debugging programs errors.
- Advancing the maturity of and troubleshooting issues with existing class management tools to support and ensure delivery and grading of student activities.
Here’s what you’ll need:
- Active TS/SCI with Polygraph.
- Bachelor’s Degree in Computer Science or related field and five (5) years of applicable software development experience is required OR Three (3) years of experience may be substituted for a Bachelor’s Degree, for a total of eight (8) years of applicable software development experience.
- Software Engineers must be able to successfully demonstrate the following capabilities:
- Demonstrate the ability to parse and understand existing code bases, contributing to the continued development of class management tools.
- Develop scrapers and parsers in support of automated grading and course delivery.
- Lead development activities, showcasing the ability to guide and manage software engineering projects.
- Develop software solutions utilizing various languages such as Rails, Python, or Node.
- Ability to create and manage applications using industry standard package managers.
- Proficiency in utilizing source code management systems, with a focus on Git.
- Self-motivated individual that can think outside the box.
Preferred:
- Every development team is different but there are always specific experiences, exposures, and skills that can make the transition a success. These beneficial, but not required, items include experience in or familiarity with:
- Developing applications for Computer Network Operations.
- Developing applications using the MERN stack, showcasing proficiency in MongoDB, Express.js, React, and Node.js.
- Designing and developing APIs and dataflow solutions.
- Designing and implementing CI/CD pipelines to enhance the software development lifecycle.
- Developing and implementing test beds, utilizing test suites such as jUnit or PyTest for robust testing practices.
- Developing and deploying applications, services, and systems within virtualized environments, preferably vSphere, Docker, and Kubernetes.
- Developing aesthetically pleasing and user-friendly front ends.
All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability or protected veteran status.