Black Duck Software, Inc. helps organizations build secure, high-quality software, minimizing risks while maximizing speed and productivity. Black Duck, a recognized pioneer in application security, provides SAST, SCA, and DAST solutions that enable teams to quickly find and fix vulnerabilities and defects in proprietary code, open-source components, and application behavior. With a combination of industry-leading tools, services, and expertise, only Black Duck helps organizations maximize security and quality in DevSecOps and throughout the software development life cycle.
We are seeking a passionate and
experienced Senior Software Engineer
to join our dynamic team. In this role, you will be at the forefront of innovation, working on cutting-edge projects that leverage your expertise in Java, Node.js, UI frameworks and cloud platform tools. You will collaborate closely with cross-functional teams to design, develop, and maintain high-quality software solutions that meet the evolving needs of our clients and stakeholders.
Qualifications:
- BS in Computer Science/Software Engineering or an equivalent degree
- 5+ years of experience building enterprise software applications
- Expertise in Java development, Node.js and Cloud platforms.
- Experience with at least one of the modern UI frameworks like React, Angular or Ember
- Familiarity with Open API specifications and REST APIs, with the ability to design and implement scalable and secure APIs.
- Proficiency with Docker and Kubernetes (K8S) for containerization and orchestration, enabling the deployment and management of applications in a cloud environment
- Ability to solve problems using efficient algorithms, with a growth mindset and a willingness to tackle complex challenges.
- Solid understanding of performance and scalability issues in distributed services
- Experience with Microservices architecture.
- Experience with using PostgreSQL database for storing and queuing large sets of data
- Understanding of agile application development methodologies, with experience working in agile teams to deliver software iteratively and incrementally.
- Knowledge of application security principles and practices is a plus, helping to ensure our software solutions are secure and resilient against threats.
Key responsibilities:
- Design, Develop, and Maintain Applications: Utilize your deep knowledge of Java and React to create robust, scalable applications. Your work will involve writing clean, efficient, and maintainable code.
- Implement and Maintain REST APIs: Develop and manage RESTful APIs and Open API specifications to ensure seamless integration and communication between services.
- Interservice Communication: Use gRPC and RabbitMQ to facilitate efficient and reliable interservice communication, ensuring our systems are highly responsive and resilient.
- Deploy and Manage Applications: Leverage Docker and Kubernetes (K8S) to deploy, manage, and scale applications in a cloud environment, ensuring high availability and performance.
- Agile Development: Participate actively in agile development processes, including sprint planning, daily stand-ups, and retrospectives, to deliver high-quality software in a timely manner.
- Collaboration: Work closely with team members, including developers, testers, and product managers, to ensure the successful delivery of software projects. Your ability to communicate effectively and work as part of a team is crucial.
- Continuous Learning: Stay up to date with the latest technologies and industry trends. Apply new knowledge to improve our products and processes continuously
Nice to have:
- Experience with other SQL databases and understanding of object-relational mapping frameworks
- Experience programming in Go and/or Python
- Experience developing with NoSQL database technologies (e.g., Mongo) and Message Queues (e.g.: Kafka and RabbitMQ)