|
Software Engineer (Enterprise Reporter) |
|
|
|
Responsible for designing, coding, testing and documenting products prior to commercial release. Duties will include: analyzing end user needs; designing efficient features specifications; developing features/functions per approved specs; prototyping on target software and hardware platforms as part of proof-of-concept; performance tuning to ensure efficient process integration and database access; and development of appropriate error checking, annunciation and handling routines. May serve as second/third-level tech support resource working in conjunction with Solutions Engineering and/or Tech Support. - Analyze, design, document and prototype enhancements to an existing data reporting product. The development environment is Java, C/C++ and a MySQL database on the Linux server. Enhancements and design work will require experience in SQL and networking (NetBIOS, TCP/IP). Tasks will also include sustaining engineering updates and handling support requests.
- Code to Software Design Specifications - Follow R&D software specifications regarding overall product design, including module definition, data structures and format, functional requirements, data flow, data capacities, user interface requirements, and error checking/handling.
- Unit Testing and Integration Testing - Perform unit testing of individual modules to verify features and functions per design specifications. Perform integration and interoperability testing with other system/product modules to ensure proper communication flows, shared data integrity, overall product performance factors and features/functions as called out by the specifications.
- Source Code Control and Configuration Management - Ensure consistency in software build process and software design through use of source code control and configuration management tools throughout the development process.
- Communication, planning and organizational skills - Demonstrated capability to succinctly document code, test cases, test results, and functional deficiencies; proven ability to manage time allocation and resources to meet critical deadlines. Teamwork and communication with existing team members is required, however the individual must also be self-motivated and able to work independently when required.
Qualifications: - Bachelor's degree in Computer Science, Computer Engineering, Information Systems or equivalent.
- 5 - 10 years of experience
- Strong software development and network communication skills with emphasis on problem solving, systems analysis, software design and customer service.
- Strong verbal and written communication skills.
- Proven commitment to quality product development, coding standards, and customer service.
- Proficient in multi-OS environments - primarily Linux, followed by Unix and Windows. Proficiency in and in-depth knowledge of Java, JavaScript, Java Servlet, JSP, JDBC, XML-RPC, Tomcat and Apache Server is required.
- Proven experience in client/server architecture, database design/development, database access/reporting, SQL queries, MySQL is also required.
- Experience with Windows networking (NetBIOS, Active Directory), is desired.
- Knowledge and use of the Rational Unified Process, or similar source control and QC problem tracking systems/methodologies and configuration management toolsets, is a plus.
- Experience with Flex, C/C++ is also a plus
|