Tasks & Responsibilities:
Software Design and Architecting
Recommendation of technologies
Contribute creatively with innovative ideas for products and features
Academic Degree Preferred: B.E/B.Tech in Computer Science or Engineering-related field
Professional Experience:Across Level.
Special Knowledge Strongly Preferred:
Strong expertise with concurrency and/or transactions
Experience with the challenges of distributed computing systems
Familiarity with communication protocols, networking
Experience with software design and communication with team members via documenting and diagramming
Experience leading a small team of software developers working on a common task
IT Skills Required:
Strong expertise with concurrency and/or transactions. Understanding of Internals of Java Threading Model, locking etc
Strong knowledge of different data structures- including concurrent structures and algorithms.
Knowledge of NIO, wire protocols, serialization and other network concepts. Experience with the challenges of distributed computing systems would be bonus.
Strong experience developing with Java, Java ecosystem related tools- in product which use some of the above concepts.
Good in Software Design and Architecting ( for senior folks)
Additional Requirements / Soft Skills Preferred:
Experience developing large-scale enterprise-class Java applications
Experience with Hibernate, Spring, JTA, Lucene.
Experience with JAAS and/or role-based security
Experience with BigMemory, Terracotta Server Array, Ehcache, other Terracotta Products
Ability to work and communicate well with a geographically distributed team
Good verbal and written communication skills