Femtosoft Technologies is hiring for the role of Java Developer Intern!
Responsibilities of the Intern:
- Work alongside senior developers to conceptualize, create, and evaluate Java-based applications.
- Produce clear, efficient, and thoroughly documented code following recognized coding standards and best practices.
- Participate in the entire software development lifecycle, encompassing requirements analysis, design, implementation, testing, and deployment.
- Assist in the identification and resolution of bugs, performance-related issues, and various technical challenges.
- Perform root cause analysis of problems and apply suitable solutions with supervision.
- Perform comprehensive testing and quality assurance to ensure a seamless user experience.
- Remain informed about the most recent advancements in Java technologies, frameworks, and tools by engaging in self-directed learning and research.
- Explore new methodologies and technologies to improve your skills and offer creative solutions to the team.
- Engage in code reviews to offer insights regarding the quality, clarity, and sustainability of the code.
- Work together with colleagues to generate ideas, exchange knowledge, and address technical challenges.
- Record modifications to the code, design choices, and technical specifications for future use.
- Assist in the creation and upkeep of project documentation, which encompasses user manuals and technical guides.
- Aid in the planning, estimation, and prioritization of project tasks
- Assist project managers and senior developers in the organization of project activities and the achievement of deadlines.
Requirements:
- Basic understanding of object-oriented programming (OOP) concepts.
- Excellent problem-solving skills and attention to detail.
- A solid command of core Java accompanied by a fundamental comprehension of Java ecosystems.
- An understanding of Object-Oriented Programming (OOP) concepts.
- Acquaintance with web technologies including HTML, JavaScript, and CSS.
- A foundational knowledge of databases and SQL.
- Experience with Java frameworks such as Spring or Hibernate would be advantageous.
- Demonstrated problem-solving abilities and meticulous attention to detail.
- A readiness to learn and adapt within a dynamic environment.
- Object-Oriented Programming (OOP): Understanding concepts like inheritance, polymorphism, encapsulation, and abstraction.
- Java Basics: Data types, control statements (if, for, while, etc.), arrays, and strings.
- Collections Framework: Lists, Sets, Maps, and their implementations.
- Exception Handling: Try-catch blocks, custom exceptions.
- Java I/O: File handling, streams, serialization.
- Multithreading: Threads, synchronization, concurrency utilities.
- Java Database Connectivity (JDBC): Interfacing with databases.
- Java 8 Features: Lambda expressions, streams, functional interfaces.
- Spring/Spring Boot: Basic understanding of dependency injection, annotations, and creating REST APIs.
- Hibernate/JPA: ORM (Object Relational Mapping) for database interactions.
- HTML, CSS, JavaScript: Basics for creating front-end interfaces.
- Servlets & JSP: For building dynamic web applications.
- REST APIs: Consuming or creating APIs using Java.
- IDE: Proficiency in Eclipse, IntelliJ IDEA, or NetBeans.
- Version Control: Basic knowledge of Git and GitHub.
- Build Tools: Maven or Gradle for dependency management.
- Basics of SQL: CRUD operations, joins, and indexing.
- Experience with relational databases (e.g., MySQL, PostgreSQL).