Salario negociable
Grand Rising
Hanover, MD 21076, USA
El ingeniero de software desarrolla, mantiene y mejora sistemas de software complejos y diversos (por ejemplo, análisis intensivo de procesamiento, desarrollo de algoritmos novedosos, manipulación de conjuntos de datos extremadamente grandes, sistemas en tiempo real y sistemas de información de gestión empresarial) basándose en requisitos documentados. Trabaja individualmente o como parte de un equipo. Revisa y prueba componentes de software para verificar su cumplimiento con los requisitos de diseño y documenta los resultados de las pruebas. Resuelve informes de problemas de software. Utiliza metodologías de diseño y desarrollo de software apropiadas para el entorno de desarrollo. Proporciona aportes específicos a los componentes de software del diseño del sistema, incluyendo análisis de compromisos entre hardware y software, reutilización de software, uso de productos comerciales disponibles en el mercado (COTS) o gubernamentales disponibles en el mercado (GOTS) en lugar de nuevos desarrollos, y análisis y síntesis de requisitos desde el nivel del sistema hasta componentes individuales de software. Requisitos Autorización de Seguridad de Secreto Máximo con Polígrafo de Ámbito Completo Habilidades requeridas: JavaScript (AngularJS 1.4, React JS) y Java Experiencia en la nube: Debe tener un (1) año de experiencia demostrada en almacenes distribuidos y escalables de grandes volúmenes de datos (NoSQL), como Hbase, CloudBase/Acumulo, Big Table, etc.; debe tener experiencia laboral demostrada con el modelo de programación Map Reduce y tecnologías como Hadoop, Hive, Pig, etc.; debe tener experiencia laboral demostrada con el sistema de archivos distribuido de Hadoop (HDFS); debe tener experiencia laboral demostrada con serialización como JSON y/o BSON. Analizar los requisitos del usuario para derivar el diseño del software y los requisitos de rendimiento Diseñar y codificar nuevo software o modificar software existente para añadir nuevas funciones Depurar software existente y corregir defectos Integrar software existente en nuevos sistemas o entornos operativos modificados Desarrollar consultas de datos simples para bases de datos o repositorios de datos existentes o propuestos Proporcionar recomendaciones para mejorar la documentación y los estándares de procesos de desarrollo de software Desarrollar o implementar algoritmos para cumplir o superar los estándares de rendimiento y funcionalidad del sistema Ayudar en el desarrollo y ejecución de procedimientos de prueba para componentes de software Escribir o revisar documentación de software y del sistema Desarrollar soluciones de software mediante el análisis de estándares de rendimiento del sistema, consultando con usuarios o ingenieros del sistema; analizando el flujo del sistema, el uso de datos y los procesos de trabajo; e investigando áreas problemáticas Actuar como líder del equipo en el nivel adecuado al proceso de desarrollo de software utilizado en cada proyecto particular Modificar software existente para corregir errores, adaptarlo a nuevo hardware o mejorar su rendimiento Diseñar, desarrollar y modificar sistemas de software utilizando análisis científico y modelos matemáticos para predecir y medir resultados y consecuencias del diseño Diseñar o implementar interfaces/consultas complejas para bases de datos o repositorios de datos Calificaciones: Se requieren siete (7) años de experiencia como ingeniero de software en programas y contratos de alcance, tipo y complejidad similares. Se requiere título universitario en Ciencias de la Computación o disciplina relacionada de una universidad o colegio acreditado. Se pueden sustituir cuatro (4) años adicionales de experiencia como ingeniero de software en proyectos con procesos de software similares por un título universitario. Beneficios Plan de atención médica (médico, dental y visual) Plan de jubilación (401k, IRA) Seguro de vida (básico, voluntario y AD&D) Discapacidad a corto y largo plazo Capacitación y desarrollo Comida y bocadillos gratuitos