+91 9606441449 contact@smartborn.io

Principal Software Engineer (Java Platform)

Desired Skills and Experience Essential Skills:

10+ years of experience working on distributed multi threaded Java applications

  • Experience with developing Enterprise Java applications
  • Deep knowledge of Java Core / Java 8
  • Solid experience with Spring and Hibernate frameworks
  • Excellent debugging and problem solving skills along with a desire to dive into existing Java stack and fix such system
  • Familiarity with HTTP, REST, HTML, JSON, and similar web-based development technologies, and with building complex multi-tier parallel distributed systems that communicate via them (such as the backend of complex websites)
  • Experience with analyzing thread safety and race conditions, parallelism, synchronization, and locking, including between threads, between machines in a cluster, and in the database, including optimistic and pessimistic locking.
  • SQL, object-relational mapping (e.g. using Hibernate), and basic DBA skills in Oracle and writing transactional code
  • Test-driven development, including writing reflection-based/class-hierarchy-searching/abstract tests to enforce best practices on other engineers by proactively anticipating places people might fail to observe them and writing tests to catch that
  • Excellent oral and written communication skills. Ability to effectively collaborate with team members is required.
  • Good judgment, logical thinker and detail oriented
  • Bachelor’s or Master’s degree in computer science is highly preferred Nice to have
  • Design and architectural skills both as lead and cooperating with others
  • Handling situations involving high levels of abstraction, multiple threads, and message passing via queues and/or the database, and into security code
  • Performance testing, including best practices, hands-on experience both directly and supervising Quality Engineers doing this
  • Familiar with scripting languages such as Perl, Groovy and Javascript Responsibilities

 

  • Work as an independent contributor collaborating with a team of developers and test engineers
  • Collaborate with product management, support and engineering teams in order to establish priorities
  • Mentoring & code reviewing for a remote team setting best practices and policies, writing specs, wiki pages, Knowledge Base articles and other internal documentation
  • Work closely with the Support team, and communicate with customer sysadmins, DBAs and developers for troubleshooting
  • Provide technology recommendations and strategy to support CloudBees product requirement
 Experience: 10+ years