Java Software Developer
|Location:||Rensselaer, New York|
|Position Type:||Direct Placement|
Tailwind Associates, an EOE, has a full-time/direct-hire opportunity with our client in Rensselaer, NY for a Java Software Developer
Position is responsible for the design, development and maintenance of software products. A Senior Software Developer will participate in all phases of the Software Development Lifecycle, research new technologies, mentor other developers, collaborate with Project Managers and act as a Subject Matter Expert for their assigned application(s). A Senior Software Developer will participate in a 24x7 on-call support rotation for production applications.
ESSENTIAL DUTIES and RESPONSIBILITIES
- Apply technical knowledge and experience in order to solve architecture and design problems.
- Create software design specifications for functionality as defined in approved requirement specifications. Ensure that designs are consistent with applicable client software development standards, product's architectural blueprints and industry guidelines
- Assist with evaluation of new technology and tools. Incorporate approved technology and tools to enhance the product development process
- Present technology design and related issues to technical and non-technical audiences
- Document product architecture plans
- Design and develop technical testing methods to meet target scalability and performance objectives. Perform any needed tuning of applications that do not meet those requirements
- Lead projects with assistance from Supervisor and have high visibility with other staff
- Mentor and coach Associate Developers and Developers
- Serve as subject matter expert across the organization for the application(s) supported
- Provide software subject matter expertise and support for all phases of the client software development lifecycle; including requirements, design, development, testing, deployment and post-production support
- Interact with project managers in all phases of project lifecycle. Provide task estimates and work breakdown structures. Provide advice on feasibility and project status
- Manage resource allocations for the developers on the project team and track their progress
- Perform software development activities in support of the client mission and business objectives. Create and/or refactor software programs as defined in approved specifications and designs
- Create automated unit and functional tests to ensure software changes are reasonably free from defects
- Provide post-production application support as required. Support responsibilities may include consultation, problem identification, data analysis and/or emergency repairs. Resolve customer complaints with products and respond to suggestions for improvement and enhancements. Requirements for support of mission-critical systems could entail 24x7x365 coverage
- Develop user interfaces for web-based applications, incorporating best practices and client standards for usability and design
- Incorporate industry and client best practices for web application security into all software design and development work
- Responsible to ensure that project team follows guidelines for source code management, collaborate with Release and Control team during code deployments
- Take ownership of application code, assist with code reviews and suggest changes that will increase performance, security, maintainability or standards compliance
- Design, create and/or update database tables needed by applications
- Design, create and/or update SQL and/or PL/SQL statements used by applications
- Assist with instrumentation and tuning of existing database tables and queries
- Collaborate with Supervisor, Quality Assurance teams, other IT teams as needed and Project Managers to manage changes to supported applications
- Assist with data profiling to ensure that application performance targets and database capacity needs will be able to be met in the future
Bachelor's Degree (BS), Computer Science or Information Systems required.
- Seven years performing software development in a multi-dimensional team setting
- Energy/Utility industry experience desired
- Auxiliary Market Technologies
- Energy Market Technologies
- Grid Operations Technologies
- Oracle experience desired
- Java experience desired
- Fortran/C++ experience required
- Business Intelligence Technologies
- Business Objects XI R3, Business Objects XI R3 Administration, Oracle warehouse Builder 11.x, Oracle Data Integrator, SAS 9.3, SAS Enterprise Guide 9.x, Dimensional Modeling, Cognos Informatica or similar BI product, Netezza, Oracle 11.x PL/SQL experience desired/required depending on applications supported
- Enterprise Business Technologies
- SharePoint and/or Java experience required
- Financial Systems Technologies
CERTIFICATES, LICENSES, REGISTRATIONS
Auxiliary Market Technologies, Energy Market Technologies, Financial System Technologies, Enterprise Business Technologies:
- SANS Security Awareness training or equivalent desired
- GIAC Secure Software Programmer - Java certification desired
- Ability to read, analyze and interpret common scientific and technical journals, financial reports and legal documents. Ability to respond to common inquiries or complaints from market participants, regulatory agencies or members of the business community. Ability to write clear technical documentation that conforms to prescribed style and format. Ability to effectively present information to top management, public groups and/or boards of directors.
- Ability to comprehend and apply principles of advanced calculus, modern algebra and advanced statistical theory. Ability to work with concepts such as limits, rings, quadratic and differential equations and proofs of theorems.
- Ability to apply principles of logical or scientific thinking to a wide range of intellectual and practical problems. Ability to deal with nonverbal symbolism (formulas, scientific equations, graphs, etc.) in its most difficult phases. Ability to deal with a variety of abstract and concrete variables.
- Intermediate competency in Windows operating environment using MS Office applications, e-mail and Internet programs.