JOB DUTIES INCLUDE:
- Interacts with customers, PMs and other development teams to gather, analyze and define requirements to determine the most effective software and web technologies to satisfy the client needs
- Develops, maintains, supports and enhances complex and diverse software systems (e.g., processing-intensive analytics, novel algorithm development, manipulation of extremely large data sets, real-time systems, and business management information systems) based upon documented requirements
- Provides specific input to the software components of system design to include hardware/software trade-offs, software reuse, and requirements analysis from system level to individual software components
- Utilizes software engineering and design methodologies appropriate to the development, integration, and enterprise level production environment
- Reviews and tests software components for adherence to the design requirements and documents test results
- Designs, creates, tests, and maintains software and web based applications and content solutions to satisfy customer requirements
- Follows a formal design process using formal specifications, data flow diagrams, and adheres to laws, standards, and established guidelines for development and delivery of software and web applications
- Designs and develops visually-pleasing, content rich, user-friendly interfaces with intuitive navigation
- Develops and maintains software and web development technical documentation to assist with software and web application maintenance and upgrades
- Provides software process management and configuration management throughout the software / web development lifecycle.
- Serves as the technical lead of multiple software development teams.
- Selects the software development processes in coordination with the customer and system engineering.
- Recommends new technologies and processes for complex software projects.
- Ensures quality control of all developed and modified software.
- Delegates programming and testing responsibilities to one or more teams and monitor their performance.
- Analyzes and troubleshoots extremely complex software problems and provides solutions using the latest technologies.
- Integrates new software and web products with existing software and web applications in order to improve the functionality or design of the system.
- Experience in troubleshooting complex data analytic systems.
- Bachelor’s Degree with 8 years’ experience with enterprise level SDLC.
- Experience in Unix/Linux, Ruby/JRuby, Ruby on Rails, Python, C/C++, Shell Scripting, and ETL processes in a clustered environment.
- Strong technical understanding of the big data concepts, cloud technologies such as AWS, Hadoop, and strong trouble shooting skills.
- Applicant MUST have the ability to obtain Top Secret Clearance.
DESIRED SKILLS (although not required):
Familiarity with Java and Java Script is desired.