Software Engineer

Custom Software Systems Inc.Annapolis, MD
7h

About The Position

Custom Software Systems, Inc. (CSS) is seeking a highly skilled Software Engineer to architect, build, and maintain enterprise-scale applications using modern Java technologies and event-driven design principles. This role is ideal for a technically strong engineer with hands-on experience in Spring Boot microservices, message-broker integration, and modern front-end development, who can translate complex requirements into scalable, maintainable software solutions within a secure, containerized environment.

Requirements

  • Must be clearable.
  • US Citizenship Required
  • Core Java: 8+ years of high-level competency (concurrency, JVM fundamentals, modern Java features).
  • Backend Frameworks: 4+ years of development using Spring Boot and associated frameworks.
  • Frontend Development: 4+ years building responsive interfaces utilizing React and/or Angular.
  • Messaging & Streaming: 4+ years implementing message queuing and event streaming using RabbitMQ or Kafka .
  • Must have three (3) years of experience as a software engineer.
  • Specialized Experience: At least two (2) years of experience working with Ada, SQL, or third/fourth generation languages in the design and implementation of systems.
  • One (1) year working with DBMS
  • A Bachelor's Degree from an accredited college or university with a major in Computer Science, Information Systems, Engineering, Business, or other related scientific or technical discipline, or three (3) years of equivalent experience in a related field.
  • Data & Security: Experience with RESTful APIs, secure coding principles, and both Relational/NoSQL database .
  • Infrastructure: Proficiency with Kubernetes, Docker, and CI/CD pipelines.
  • Legacy Integration: Ability to maintain applications using PrimeFaces 6.x and JSF.
  • Architecture: Knowledge of design patterns and Event-Driven Architecture (EDA).

Nice To Haves

  • Modern front-end development using React and/or Angular for building responsive, component-based user interfaces.
  • Message-queuing and event-streaming technologies, including RabbitMQ or Kafka, for distributed system communication.
  • Elasticsearch for indexing, search, and analytics (preferred but not mandatory).
  • Microservices development using Spring Boot or equivalent Java frameworks.
  • Cloud platforms such as AWS, Azure, or Google Cloud for deployment, monitoring, and scaling (preferred but not ).
  • DevOps and source control tools, including Git, CI/CD pipelines, and automated build processes.
  • Software design patterns and architectural best practices, with the ability to apply them appropriately.
  • Containerization and orchestration techniques, including Kubernetes and Docker.
  • RESTful API design, web services, and integration patterns.
  • Relational and NoSQL databases, such as PostgreSQL, MySQL, MongoDB, or Cassandra.
  • Application performance tuning, monitoring, and observability tools (e.g., Prometheus, Grafana, ELK stack).
  • Security best practices, including authentication, authorization, and secure coding principles

Responsibilities

  • Collaborate with cross-functional teams to architect, design, and implement enterprise software solutions.
  • Apply event-driven architecture principles to develop scalable, resilient, and loosely coupled applications.
  • Develop microservices using Spring Boot and associated Spring frameworks.
  • Build response and maintainable user interfaces using React.
  • Provide strong technical expertise in PrimeFaces 6.0 and above, including component usage, customization, and integration within Java Server Faces (JSF) applications.
  • Implement message queuing and event streaming using RabbitMQ. When experience is based on Kafka, demonstrate understanding of architectural and operational differences between Kafka and RabbitMQ.
  • Develop message producers, consumers, routing logic, and related integration components.
  • Deploy microservices to Kubernetes clusters using automated CI/CD pipelines.
  • Monitor, diagnose, and troubleshoot production systems to ensure reliability and uptime.
  • Perform performance tuning and scalability optimization across application and infrastructure layers.
  • Write unit tests with a target of 85% or greater code coverage.
  • Participate in peer code reviews to enforce coding standards and best practices.
  • Conduct system testing, debugging, and validation activities.
  • Prepare technical specifications, architecture documentation, and design decision records.
  • Produce sequence diagrams for major use cases as part of design deliverables.
  • Collaborate with product managers, designers, and engineering teams to refine requirements and ensure alignment on deliverables.
  • Submit weekly activity reports to summarize progress on assigned programs and projects .
  • Provide weekly project status reports in the JIS-prescribed format.
  • Complete weekly time reporting using JIS-provided forms, along with any additional reports requested by the supervising manager.
  • Apply event-driven architecture (EDA) principles to design scalable and resilient systems.
  • Demonstrate high-level Java competency, including strong understanding of core libraries, concurrency, collections, JVM fundamentals, and modern Java features.
  • Analyze complex technical challenges and propose effective, maintainable solutions.
  • Develop and maintain applications using PrimeFaces 6.x and above, including component customization and JSF integration.
  • Produce clean, maintainable, and testable code aligned with industry best practices.
  • Collaborate effectively within Agile or hybrid development teams.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service