Perform new application development, including initial design and workload evaluation, to estimate work duration.
Provide maintenance support and enhance the performance of existing application code.
Review, document, and refactor existing application code to optimize efficiency.
Analyze and design databases within the application area, working individually or coordinating as part of a team.
Monitor and troubleshoot production software issues, providing timely solutions.
Analyze user needs and software requirements to assess the feasibility of design within time and cost constraints.
Collaborate with systems analysts, engineers, programmers, and product managers to design systems, gather project limitations, and understand system requirements.
Store, retrieve, and manipulate data for system analysis and capability evaluation.
Design, develop, and modify software systems using scientific analysis and mathematical models to predict outcomes and consequences of design decisions.
Develop and coordinate unit testing, system testing, and validation procedures, ensuring proper documentation.
Ensure all software development adheres to system performance standards set by the organization.
Coordinate software deployments and monitor applications to ensure they meet the required specifications.
Mentor junior developers and provide guidance on technical issues and best practices.
Perform other duties as assigned by management, ensuring compliance with legal policies and procedures.
Bachelor’s degree in Computer Science, Information Technology, or a related field.
8+ years of recent software development experience, with strong proficiency in Java/Spring.
Proficient in Object-Oriented Design and Programming (OOD/OOP).
Experience with build management tools, preferably Maven.
Hands-on experience with version control systems, particularly Git.
Proficiency in IDE-based development using Eclipse or IntelliJ.
Skilled in building unit tests and integration tests using JUnit or similar testing frameworks.
Strong SQL/NoSQL development experience.
Proven experience building web services, preferably in RESTful architecture.
Solid understanding of data structures and algorithms.
Experience working with asynchronous messaging technologies such as JMS, Apache Kafka, Apache Pulsar, or RabbitMQ.
Expertise in production troubleshooting and analysis using log/debugging tools like Splunk or AppDynamics.
Collaborative team player with excellent communication skills.
Experience with container technologies such as Docker, Kubernetes, Tomcat, or Jetty.
Proficient in handling transactions across databases and services.
Strong understanding of process improvement and product management principles.
Experience working with ORM frameworks such as Hibernate.
Skilled in multi-threading and concurrent programming.
Knowledge of security frameworks, caching technologies, and microservice architecture.
Familiarity with enterprise architecture and scaling applications for performance and availability.
Expertise in data interchange technologies such as JSON and XML.
Must-Have Skills:
Java/Spring, Object-Oriented Programming, SQL/NoSQL, RESTful Web Services, Multi-threading, Production Troubleshooting, Messaging Technologies (e.g., Kafka, RabbitMQ), Unit Testing, Docker/Kubernetes, Git.
Please mention you found this job on AI Jobs. It helps us get more startups to hire on our site. Thanks and good luck!
Get hired quicker
Be the first to apply. Receive an email whenever similar jobs are posted.
Ace your job interview
Understand the required skills and qualifications, anticipate the questions you may be asked, and study well-prepared answers using our sample responses.