Software Engineer - Java Developer (PGH)
Location- Pittsburg, PA
Job Description
Job Summary
The ideal candidate will have at least 5 years of experience developing and maintaining high-quality efficient Java applications. You will be responsible for full-stack development, from development, testing, and deployment. A strong understanding of modern development methodologies, tools, and frameworks is crucial for this role.
Key Responsibilities
• Development: Implement, and maintain Java-based applications, ensuring they meet business and technical requirements.
• Code Quality: Write clean, reusable, and efficient Java code following established coding standards and design patterns.
• Collaboration: Work closely with project engineers, project managers, designers, architects, verification and validation engineers, and other developers to create software solutions.
• Testing and Debugging: Perform software analysis, debugging, and unit/integration testing to ensure high-quality deliverables.
• Performance Optimization: Identify and resolve performance and scalability issues.
• Documentation: Create and maintain technical documentation for the software and its components.
• Code Review: Participate in code reviews to ensure code quality and consistency.
• CI/CD: Contribute to and manage CI/CD pipelines to automate build, test, and deployment processes.
Required Skills & Technologies
Core Skills
• Core Java: Strong proficiency in Java 8+ with a deep understanding of object-oriented programming (OOP) principles, data structures, and algorithms. Knowledge of Java concurrency patterns, generics, and the Java Virtual Machine (JVM) is essential.
• Java Frameworks: Extensive experience with Spring.
• Web Services: Experience developing and consuming RESTful APIs and microservices.
• Databases: Proficiency in working with relational databases like MySQL or PostgreSQL and writing efficient SQL queries.
• Version Control: Expert-level knowledge of Git for collaborative development, including branching strategies, merging, and conflict resolution.
• Build Tools: Experience with build automation tools: Maven and Ant.
• IDEs: Proficiency with Integrated Development Environments (IDEs): Apache NetBeans
CI/CD & DevOps
• CI/CD Workflows: A solid understanding of Continuous Integration and Continuous Deployment (CI/CD) principles and experience building and maintaining automated pipelines. This includes automating code compilation, running tests, and deploying artifacts.
• CI Tools: Practical experience with CI/CD: GitLab CI/CD
• Containerization: Familiarity with container technologies like Docker.
Other Skills
• Problem-Solving: Excellent analytical and problem-solving skills with a strong attention to detail.
• Testing: Experience with testing frameworks.
• Communication: Strong verbal and written communication skills to effectively collaborate with team members and stakeholders.
• Methodologies: Experience working in an Agile/Scrum environment.