Grand Rising
Hanover, MD 21076, USA
El Ingeniero de Software desarrolla, mantiene y mejora sistemas de software complejos y diversos (por ejemplo, análisis intensivos de procesamiento, desarrollo de algoritmos novedosos, manipulación de conjuntos de datos extremadamente grandes, sistemas en tiempo real y sistemas de información para la 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 soluciones comerciales disponibles en el mercado (COTS) o gubernamentales disponibles en el mercado (GOTS) en lugar de desarrollo nuevo, y análisis y síntesis de requisitos desde el nivel del sistema hasta componentes individuales de software. Requisitos Autorización de seguridad Top Secret con polígrafo de alcance completo Habilidades requeridas: JavaScript (AngularJS 1.4, React JS) y Java Experiencia en la nube: Debe tener un (1) año de experiencia laboral demostrada con almacenes distribuidos y escalables de Big Data (NoSQL), como HBase, CloudBase/Acumulo, BigTable, etc.; debe tener experiencia laboral demostrada con el modelo de programación MapReduce 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 agregar nuevas funciones Depurar software existente y corregir defectos Integrar software existente en sistemas nuevos o modificados o en entornos operativos Desarrollar consultas simples de datos para bases de datos existentes o propuestas o repositorios de datos 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 que se utilice en un proyecto determinado 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 una licenciatura en Ciencias de la Computación o disciplina relacionada de una universidad o colegio acreditado. Cuatro (4) años adicionales de experiencia como ingeniero de software en proyectos con procesos de software similares pueden sustituir la licenciatura. 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 por desastre) Discapacidad a corto y largo plazo Capacitación y desarrollo Comida y bocadillos gratuitos