Previous Job
Previous
Web Designer / Developer - IV
Ref No.: 18-15492
Location: Ashburn, Virginia
Job Description:

We are looking for a Mid/Senior Software Engineer responsible for building Java & Java Scriot based applications. This includes anything between complex groups of back-end services and their client-end counterparts. Your primary responsibility will be to design and develop these applications, and to coordinate with the rest of the team working on different layers of the infrastructure. Thus, a commitment to collaborative problem solving, sophisticated design, and product quality is essential.

Responsibilities:
· Translate application storyboards and use cases into functional applications
· Design, build, and maintain efficient, reusable, and reliable Java code
· Ensure the best possible performance, quality, and responsiveness of the applications
· Identify bottlenecks and bugs, and solutions to these problems
· Help maintain code quality, organization, and automatization

Skills:
· Proficient in Java, JS with a good knowledge of its ecosystems
· Node JS with server side implementation is preferable
· Solid understanding of object-oriented programming
· Good knowledge of Java, Java Script & Spring Framework (JDBC, MVC)
· Good knowledge of UI/HTML5/CSS3/JavaScript/Ext JS/AngularJS
· Solid understanding of MVC, JDBC, and RESTful
· Experience taking a new UI product from the requirement stage through to product delivery
· Familiar with various design and architectural patterns
· Skill for writing reusable Java libraries
· Knowledge of concurrency patterns in Java
· Experience with web application frameworks, like Spring, ConceptWave & ExtJS is preferred
· Knack for writing clean, readable Java code
· Experience with relational databases
· Understanding of Apache Solr, Kafka or Elasticsearch is preferred
· Understanding fundamental design principles behind a scalable application
· Creating database schemas that represent and support business processes
· Basic understanding of JVM, its limitations, weaknesses, and workarounds
· Implementing automated testing platforms and unit tests
· Proficient understanding of code versioning tools, such as Git
· Familiarity with build tools such as Ant, Maven, and Gradle
· Familiarity with continuous integration & delivery(CI/CD)
· Excellent communication and interpersonal skills
· Ability to work independently and collaboratively
· Ability to multitask in a dynamic environment