Software Development: Design, code, test, debug, and maintain software applications using Java and related technologies. Translate software requirements into well-structured, efficient, and maintainable code.
Application Architecture: Participate in the design and architecture of software solutions. Collaborate with architects and technical leads to ensure that the software is built in accordance with best practices and design principles.
Frameworks and Libraries: Utilize Java frameworks and libraries (such as Spring, Hibernate, or Apache Struts) to streamline application development and enhance functionality.
Database Interaction: Develop database schemas, queries, and data access layers using technologies like JDBC or Object-Relational Mapping (ORM) frameworks to ensure efficient data storage and retrieval.
Testing and Quality Assurance: Conduct unit testing, integration testing, and participate in the software quality assurance process. Identify and address software defects and performance bottlenecks.
Troubleshooting and Debugging: Diagnose and resolve software defects and issues by analyzing logs, debugging code, and utilizing development tools and techniques.
Collaboration and Communication: Work closely with cross-functional teams, including business analysts, designers, and other developers, to gather requirements, clarify specifications, and ensure smooth integration of software components.
Documentation and Reporting: Create and maintain technical documentation, including software designs, code comments, and user manuals. Prepare regular progress reports and communicate project status to stakeholders.
Education: A bachelor's degree in computer science, software engineering, or a related field is often preferred. However, practical experience and relevant certifications can also be valuable.
Java Development Experience: Strong proficiency in Java programming language and its ecosystem. Demonstrated experience in developing and maintaining Java-based applications and systems.
Database and SQL: Experience in working with relational databases (such as Oracle, MySQL, or PostgreSQL) and proficiency in writing SQL queries. Knowledge of Object-Relational Mapping (ORM) frameworks like Hibernate or JPA is beneficial.
Software Development Lifecycle: Understanding of software development methodologies, such as Agile or Scrum, and experience working in a collaborative team environment using version control systems (e.g., Git) and issue tracking tools (e.g., JIRA).
Problem-Solving and Analytical Skills: Strong problem-solving abilities and analytical thinking to understand complex requirements, identify solutions, and troubleshoot software issues.
Communication and Collaboration: Excellent communication skills to effectively collaborate with team members, stakeholders, and clients. Ability to translate technical concepts into non-technical terms.
Extensive Knowledge on AWS, Google Cloud Platform or Azure cloud services will be plus