Software Development Engineer
Foxit · Noida, Uttar Pradesh, India
Apply & track with Apply EdgeFoxit is remaking the way the world interacts with documents through advanced PDF technology and tools. We are a leading global software provider of fast, affordable, and secure PDF solutions that are used by millions of people worldwide. Winner of numerous awards, Foxit has customers in more than 200 countries and global operations. We have a complete product line and an exciting and aggressive development schedule. Our proven PDF technology is disrupting the status quo establishment and has accelerated our company growth. We are proud to list as customers Google, Amazon, and NASDAQ, and with your skills and help, we plan to add many more. Foxit has offices all over the world, including locations in the US, Asia, Europe, and Australia. For more information, please visit https://www.foxit.com.Role Summary Foxit are looking for a Software Development Engineer with 3–5 years of experience in developing, maintaining, and troubleshooting scalable enterprise applications. The ideal candidate will have strong Java fundamentals and hands-on experience with both traditional Java web technologies and modern Spring-based application development. The role involves building robust backend services and RESTful APIs, working with databases and caching technologies, troubleshooting production issues, and collaborating closely with QA, DevOps, Product, and other engineering teams.
Key Responsibilities
Develop and maintain enterprise applications using Java/J2EE, Spring, Spring Boot, Struts, JSP, and ServletsDesign, develop, and maintain RESTful APIs and backend servicesWork with MySQL, including query optimization and performance tuningImplement and manage caching and session management using Redis/ValkeyDeploy, monitor, and troubleshoot applications running on Apache Tomcat.
- Debug, investigate, and resolve application and production issues effectivelyWrite and maintain unit tests to ensure application quality and reliabilitiesParticipate in code reviews and follow established software development best practicesCollaborate with QA, DevOps, Product, and other engineering teams throughout the development lifecycleContribute to the development and maintenance of scalable, reliable, and high performing enterprise applications. Qualifications & Requirements:3–5 years of professional experience in Java/J2EE application developmentStrong knowledge of Core Java, including: Object-Oriented Programming (OOP), Collections, Multithreading, Java 8+ conceptsHands-on experience with Spring Framework and Spring BootExperience with Struts, JSP, Servlets, and Apache TomcatStrong understanding and practical experience with REST APIs and MicroservicesExperience with MySQL and SQL, including database performance considerationsKnowledge of JPA/Hibernate.
- Experience with Redis/Valkey for caching and session managementFamiliarity with Maven/Gradle, Git, and JUnitStrong debugging, analytical, and problem-solving skillsAbility to work effectively in a collaborative, cross-functional engineering environment. Experience with AWSHands-on experience with Docker and Kubernetes/EKSKnowledge of CI/CD pipelines and modern software delivery practicesExperience with messaging technologies such as Kafka or RabbitMQExperience developing or supporting SaaS and/or high-availability applications The role description doesn't fit 100%? But you have the feeling that Foxit could give your career a boost? Let's talk anyway and tell us your story! We are still growing, and some job profiles are not written yet!Foxit is a progressive, open-minded meritocracy. What you’re capable of matters, the rest doesn’t. (We’re an equal opportunity employer. All applicants will be considered for employment without attention to race, color, religion, sex, sexual orientation, gender identity, national origin, veteran, or disability status.)We may use artificial intelligence (AI) tools to support parts of the hiring process, such as reviewing applications, analyzing resumes, or assessing responses and identifying potential inconsistencies or verification signals in application materials based on available information. These tools assist our recruitment team but do not replace human judgment. Final hiring decisions are ultimately made by humans. If you would like more information about how your data is processed, please contact us.