Software Engineer Java UI and Middleware
Are you an experienced Java front end developer looking for an exciting career? You may be interested in working on the development of applications for our Big Data products.
Skills you will need:--
Proficiency in Java 7 (or higher) in an enterprise setting
Experience with Java frameworks like Spring 4.x (MVC),
Hibernate, JSF or Struts
Proficiency in web development (jQuery strongly preferred)
Proficiency in writing SQL queries and stored procedures (Oracle or MySQL preferred)
Experience with Jasper Reports and Python scripting (preferred)
Experience with Subversion (SVN)
Experience with C++ would be a plus
Experience with any Big Data technologies is a plus
What you will do:--
1. Design, modify, develop, write and implement applications.
2. Support and/or install software applications/operating systems.
3. Participate in the testing process through test review and analysis, test witnessing and certification of software.
4. Maintain and enhance existing Java/SQL code
5. Learn and inculcate a deep understanding of Big Data architecture/implementation and gain proficiency in HPCC set of technologies
Rely on your experience and judgment to plan and accomplish goals.
Perform a variety of complicated tasks.
May report directly to a project lead or manager.
An ample degree of creativity and latitude is expected.
Familiar with a variety of the field's concepts, practices, and procedures
Ability to dissect, reverse engineer and understand the inner workings of existing code with minimum guidance
Basic Job Function:--
This position exists to perform research, design and software development assignments within a software functional area. Acts as a knowledge resource to entry level and mid-level staff and provides technical leadership to small and mid-size development teams.
Provides meaningful input to project plans, schedules and approach in the development of cross-functional software products.
Owns and maintain applications that interface with legacy systems and databases.
1. Interfaces with internal customers; interprets requirements and provides recommendations on how to implement.
2. Independently performs analysis to develop and implement high level designs for assigned projects.
3. Full lifecycle development process including design, development, testing and implementation of moderate to advanced complexity systems. Develops moderate-to advanced modules and system components and develops simple to moderately complex re-usable code.
4. Acts as point of escalation to resolve new/complex issues and provides input about team members' performance and technical abilities. Mentors and coaches team members.
5. Remains current on industry standards and advances within area of knowledge.
6. Conducts diagnosis of complex system problems using dumps, traces or other diagnostic tools.
7. Leads in design, code and test reviews where needed.
8. Leads a mid-size or larger teams of technical staff to complete assigned projects balancing quality and schedule.
9. Identifies and recommends opportunities for continuous improvement and efficiencies.
10. Interfaces with team members in India, United States, United Kingdom and other geographies
1. Bachelor's degree in computer science, computer engineering, math or equivalent technical discipline or equivalent technical experience.
2. 5+ years of experience in full lifecycle development process including design, development, testing and implementation of moderate to advanced complexity systems.
3. Ability to work independently and collaborate with cross functional groups as required.
4. Strong verbal and written communication and presentation skills with both technical and non-technical audiences including management and cross functional groups.
5. Ability to lead small to mid-size technical teams including strong organizational skills, attention to detail, management of multiple assignments at the same time. Must be self-directed and provides up to date information on progress and issues.
6. Ability to conduct in-depth research and work through complex problems successfully and reach workable solutions.
7. Knowledge of large complex systems within the functional area.
8. Ability to work in ambiguous situations; take a high level assignment and work the detail to produce a successful solution.
9. Ability to effectively mentor and train less experienced personnel.
10. Ability to deliver quality software deliverables.