Job Description: Java Developer for Hypertest SDK Development
[See assignment at the end as well]
Company Overview
At Hypertest (https://hypertest.co), we're not just writing code; we're rewriting the rules of software development.
Our autonomous testing tool has already transformed the NodeJs ecosystem for developers at more than 50 teams, and now we're bringing this revolution to Java with your help.
Our Mission: Save developers from the mundane. We automate test case generation, letting you bid farewell to countless hours spent on JUnit, Mockito, RestAssured, Postman, etc.
Imagine a development cycle where your focus is purely on creating, not correcting.
Role: Java Developer
HyperTest seeks a Senior Java Developer with profound expertise in Java's core mechanics and a passion for solving complex problems. This role is central to the development of our Java SDK, crucial for expanding HyperTest's functionalities. Ideal candidates will have a strong background in Java, including experience with library patching, bytecode manipulation, and observability frameworks like OpenTelemetry, New-Relic, Datadog etc.
Location
This is a hybrid position based in Gurugram.
Key Responsibilities
- Develop the HyperTest Java SDK, employing advanced Java techniques for runtime library manipulation and data mocking.
- Extend OpenTelemetry for observability and monitoring in distributed systems, ensuring our SDK integrates seamlessly with modern development ecosystems.
- Create solutions for simulated testing environments that operate in various modes without modifying the original application code.
- Serve as a Java subject matter expert, guiding the team in best practices and innovative software development approaches.
Qualifications
- Java Expertise: Extensive experience in Java, including familiarity with its internals, memory model, concurrency, and performance optimization. Not just experience with high-level frameworks, but a solid understanding of underlying principles and the ability to manipulate Java's core functionalities.
- Software Architecture: Strong grasp of software design patterns, architectural principles, and the ability to solve complex problems with efficient, scalable solutions.
- Analytical Skills: Exceptional problem-solving abilities, capable of addressing complex challenges and driving innovative solutions.
- Communication: Excellent verbal and written communication skills, essential for teamwork and collaboration.
- Specialized Knowledge: Experience with bytecode manipulation, library patching (e.g., Byte Buddy), and a clear understanding of Java's compilation and execution process.
Ideal Candidate Profile
- Not Just Another Java Developer: We're looking for someone who has moved beyond just building applications with Spring Boot or similar frameworks. You should have an experience that demonstrates a deep understanding of Java, including direct manipulation of bytecode, custom library creation, and performance optimization.
- A True Java Enthusiast: You find excitement in exploring Java beyond the surface level, delving into its internals, and leveraging this knowledge to build innovative solutions.
Technical Assessment Overview
Shortlisted candidates will complete a short technical assessment focused on:
- Library Patching and Dynamic Data Mocking: Demonstrating advanced Java skills in runtime library functionality manipulation.
- OpenTelemetry Integration: Applying observability frameworks to trace and monitor distributed systems, a key component of our SDK development.
- Simulated Testing Environments: Creating flexible testing scenarios that replicate real-world conditions without altering the original code.
- Innovative Problem-Solving: Tackling complex Java-related challenges that reflect the technical depth required for this role.
This assessment will help us identify candidates who not only have the technical expertise but also the creativity and problem-solving skills essential for success at HyperTest.
Why Join HyperTest?
Joining HyperTest means being at the forefront of the automated testing revolution. We offer a dynamic work environment, opportunities for professional growth, and the chance to make a significant impact on our product and the wider development community.
Assignment Link
https://t.ly/sp5Xa
Self-Assessment/Screening Questions
- Do you have experience with Java bytecode manipulation?
- Are you familiar with library patching techniques in Java, such as using Byte Buddy?
- Have you used OpenTelemetry or similar frameworks for observability in distributed systems?
- Do you understand how opentelemetry java sdk works?
- have you developed SDKs or libraries in Java?
- How many years of Java development experience do you have?
- How many projects have you worked on that required deep knowledge of Java's internals (e.g., memory management, concurrency)?
- After reviewing the detailed assignment at https://t.ly/sp5Xa , how confident are you in your ability to meet the technical challenges outlined, on a scale from 1 to 10?
About HyperTest
HyperTest is the fastest growing SaaS company in the field of Quality assurance and Testing growing 25% MoM and flagging 1M+ errors for its clients every month. We are in a $50bn market helping millenial software teams ship software that never breaks and in half the time.
Similar jobs
About - The company is an online discovery platform that offers direct-to-home product trials for D2C brands.
Location- Bangalore
Series- B
Responsibilities
- Lead simultaneous development for multiple business verticals.Design & develop highly scalable, reliable, secure, and fault-tolerant systems.Ensure that exceptional standards are maintained in all aspects of engineering.Collaborate with other engineering teams to learn and share best practices.Take ownership of technical performance metrics and strive actively to improve them.Mentors junior members of the team and contributes to code reviews.
Requirements
- A passion to solve tough engineering/data challenges.Be well versed with cloud computing platforms AWS/GCPExperience with SQL technologies (MySQL,PostgreSQL)Experience working with NoSQL technologies (MongoDB,ElasticSearch)Excellent Programming skills in Python/Java/GoLangBig Data streaming services (Kinesis ,Kafka ,RabbitMQ)Distributed cache systems (Redis ,Memcache)Advanced data solutions (BigQuery, RedShift, DynamoDB, Cassandra)Automated testing frameworks and CI/CD pipelinesInfrastructure orchestration(Docker/Kubernetes/Nginx)Cloud-native tech like Lambda,ASG,CDN,ELB,SNS/SQS,S3 Route53 SES
- 3+ years of experience in the Development in JAVA technology.
- AWS or cloud Experience
- Strong Java Basics
- SpringBoot or Spring MVC
- Hands on experience on Relationl Databases (SQL query or Hibernate) + Mongo (JSON parsing)
- Proficient in REST API development
- Messaging Queue (RabitMQ or Kafka)
- Microservices
- Any Caching Mechanism
- Good at problem-solving
Good to Have Skills:
- 3+ years of experience in using Java/J2EE tech stacks
- Good understanding of data structures and algorithms.
- Excellent analytical and problem solving skills.
- Ability to work in a fast paced internet start-up environment.
- Experience in technical mentorship/coaching is highly desirable.
- Understanding of AI/ML algorithms is a plus.
- To perform requirement analysis and oversee the implementation of architectures of project scope
- To provide customized reusable solutions of project, program or operational scope
- To develop high-quality and detailed designs
- To conduct unit testing using automated unit test frameworks and identify and address possible risk by conducting mitigation action planning
- Conducting configuration of your own work or from the team and assess the technical impact of multiple technologies/strategies
- Reviewing the work of other developers with feedback for improvement (if applicable)
- Using coding standards and best practices to ensure quality deliverables
- Contribute as a team member to an operational, integration or application architecture requirements, design, implementation, or on-going operations deliverables
Role / Purpose - Lead Developer - API and Microservices
Must have a strong hands-on development track record building integration utilizing a variety of integration products, tools, protocols, technologies, and patterns.
- Must have an in-depth understanding of SOA/EAI/ESB concepts, SOA Governance, Event-Driven Architecture, message-based architectures, file sharing, and exchange platforms, data virtualization and caching strategies, J2EE design patterns, frameworks
- Should possess experience with at least one of middleware technologies (Application Servers, BPMS, BRMS, ESB & Message Brokers), Programming languages (e.g. Java/J2EE, JavaScript, COBOL, C), Operating Systems (e.g. Windows, Linux, MVS), and Databases (DB2, MySQL, No SQL Databases like MongoDB, Cassandra, Hadoop, etc.)
- Must have experience implementing API Service architectures (SOAP, REST) using any of the market-leading API Management tools such as Apigee and frameworks such as Spring Boot for Microservices
- Should have Advanced skills in implementing API Service architectures (SOAP, REST) using any of the market-leading API Management tools such as Apigee or similar frameworks such as Spring Boot for Microservices
- Appetite to manage large-scale projects and multiple tracks
- Experience and knowhow of the e-commerce domain and retail experience are preferred
Areas of responsibilities:
Involvement in the full software development life cycle within broadly defined parameters and providing
software solutions keeping into consideration the software quality needs
Design and defining the interaction between the different component pieces
Write efficient code based on brief given by team lead.
Fast prototyping of proof-of concept features / application based on brief.
Develop and maintain new features on Java stack
Own the delivery of an entire piece of a system or application
Management and execution against project plans and delivery commitments
Work closely with the peers and Leads to develop the best technical design and approach for new product
development
Build software solutions for complex problems.
Compliance with build/release and configuration management process
Responsibility to develop unit test cases for his/her project module.
Execution of appropriate quality plans ,project plans ,test strategies and processes for development
activities in concern with business and project management effort
Desired Profile:
GoodunderstandingofObjectOrientedProgrammingConcepts,hands-onknowledgeonJavastack
(Spring/Hibernate)
Development across multiple browsers/platforms on Website
Good Understanding of SQL/NoSQL data stores
Fair Understanding of Responsive High Level Designs
Work experience in product/start-up company is a plus
Familiarity to MVC, SOA, RESTFull web services
Work with other teams and manage time across multiple projects and tasks in a deadline driven, team
environment
Good to have knowledge of Javascript (AngularJS/ReactJS)/HTML/CSS/JQuery front-end code across a
broad array of Interactive web
Understand agile methodology and instill best practices into the process.
Deliver on the end to end application, functionality and features as per the project requirements and
priorities
• Understand the design and project architecture and perform coding and unit testing in accordance with the design and architecture.
• Contribute in all phases of the software development life-cycle
• Resolve technical issues through debugging, research, and investigation
• Understand the requirement and implement it piece by piece and adhere to the defined standards of coding and testing.
• Understand and Utilize required tools for performance of essential functions of programming
• Diagnose and troubleshoot applications and design solutions to address problems
• Work with testing team to review test cases, to ensure robust quality of developed applications
• Document code consistently throughout the development process as per defined standards
• Core Expertise – Java (Javascript OR React.js is highly desired)
• Good to have - Test Driven Development, Rest API, Micro Services
- Proficiency in Java, with a good understanding of its ecosystems
- Sound knowledge of https://www.simplilearn.com/tutorials/java-tutorial/oops-interview-questions" target="_blank">Object-Oriented Programming (OOP) Patterns and Concepts
- Familiarity with different design and architectural patterns
- Skill for writing reusable Java libraries
- Knowhow of Java concurrency patterns
- Basic Understanding of the concepts of MVC (Model-View-Controller) Pattern, JDBC (Java Database Connectivity), and RESTful web services
Job Description
Required Skills:
- Demonstrated and strong experience with Java Development (1.8 and above), Spring Boot, ability to design API and RESTful services, and an understanding of transactions
- Strong experience writing Microservices using Java 1.8 and above.
- Good Experience in Behavior Driven Design ( Cucumber , Gherkin ).
- Data design experience in application, noSQL, familiarity with modern technology and architecture (cloud, virtualization, object stores, etc.), and experience with SDLC tools and agile development methodology
- Experience with Angular JS preferred.
- Experience with spring cloud , swagger and devOps tools preferred
- Experience in Domain Driven Design preferred.
- Experience with Mulesoft preferred.
- Experience in SAFe Agile methodology preferred.
- Experience in building presentation layers using Front-end technologies
- Good problem solving skills and strong analytical skills.
- Ability to lead technology initiatives, develop reports, dashboards, and processes to continuously monitor data quality and integrity, an ability to interpret system / business requirements and prepare specification and design document.
Desired Skills:
- Java, J2EE, JDBC , EJB, Servlets,, Messaging Platform, Agile waterfall
- A hands-on application developer who is passionate about Java development, building highly scalable and resilient applications, and focused on solving complex business problems
- He/She will have responsibility for unit-level design, coding, unit testing, integration testing, and participating in the full SDLC
- He/She will be expected to produce high-quality code that can pass critical peer review, and to work under a high-pressure and timeline-driven environment.
- Actively participate in development along with team members in creating modules & systems that can be treated as a working reflection of the best practices
Qualifications
- Bachelor’s degree or higher in Computer Science or Engineering equivalent
- Minimum of 3 years’ experience in Java development
- Responsible, organized and possess critical thinking with good interpersonal and communication skills
- Able to demonstrate good analytical problem-solving abilities and strong leadership aptitude
- Able to work at both abstract and detailed level
- Must be fluent in English, and strong communication skills.
- Motivated self-starter that likes to work as part of a team
Technical Requirements
- Strong experience in Core Java 8 and above, Collections and Data structures.
- Develop solutions using core java, Spring / Spring Boot, JSON, Rest API and other web technologies
- Hands on with UI development with strong experience in HTML5, JavaScript, CSS3, Responsive UIs. Added advantage for exposure to Angular. Knowledge on Liferay will be added advantage. Ability to design and develop UIs and end to end integration.
- Object oriented analysis and design using common design patterns
- Excellent knowledge of Relational Databases, SQL and ORM technologies (Hibernate and Mybatis)
- Strong knowledge of test-driven development and continuous integration
- Preference towards candidates having excellent Java multi-threading skills
- Passion for collaboration and working on agile teams
- Develop and Consume Web Services using REST.
- Enforcing and Writing code following good standards (well documented with good code coverage and properly tested code)