Senior Software Developer
Pune, IN
Job summary
- Looking for Java Senior Developer (6+ Years) with experience in building and maintaining high performance scalable applications.
- Responsible for understanding design and coding for a complex multi-language hybrid framework composed of J2SE and J2EE components with evolving architecture.
- Should be able to do both front end and Backend system design and coding.
- Implement appropriate Unit Test as well as System Level test to ensure high quality code prior to hand-off to Test Engineering.
- Contribute to all phases of development life cycle.
- Takes full ownership for E2E delivery.
- Develop new features and enhance the architecture/design of the EXFO product.
What we’re looking for
Primary Mandatory skills 6+ Years
- Strong knowledge of OOP software design concepts and design patterns.
- Strong front end skills in Angular, HTML5 and CSS
- Extensive experience in Core Java 6 or higher for both J2SE and J2EE (Swing, Collections, File handling, XML, TCP/IP Socket Programming, JSP, Servlet)
- Good expertise in one of the RDBMS (Oracle, Sybase, My SQL)
- Hands on experience on Kafka
- Experience on Cloud / Docker and hands on Micro-services architecture.
- Hands on experience on Hadoop/big data and Elastic search, Spark
- Good expertise with REST or Node JS framework.
- Strong programming skills on Multi-threading/concurrency and JDBC.
- Strong experience designing / developing with n-tier architectures (UI, Business Logic Layer, Data Access Layer)
- Strong competency in Data structures and algorithms.
- Should be well versed with synchronous and asynchronous messaging/notification technologies.
- Sound knowledge on Unit Test Frameworks (JUnit/JBehave)
- Should have extensive knowledge of Linux and Linux shell scripting.
- Knowledge on Web/Application Servers like Apache Tomcat, JBoss
Good to have Skills
- Aware of “Agile Scrum” framework model.
- Work experience on Openstack/Google Cloud
- Good experience on Micro-services
Required aptitudes
- Should possess Strong problem-solving and analytical skills
- Self-motivated, responsible, independent, detail oriented, and working collaboratively with team members.
- Ability to adapt quickly to an existing, complex environment and learn new concepts / software technologies as needs arise
Education: B.E., B. Tech., MCA