Logo
GCI

Software Engineer - UX (TS/SCI with Poly required)

GCI, Mc Lean, Virginia, us, 22107


GCI, embodies excellence, integrity and professionalism. The employees supporting our customers deliver unique, high-value mission solutions while effectively leverage the technological expertise of our valued workforce to meet critical mission requirements in the areas of Data Analytics and Software Development, Engineering, Targeting and Analysis, Operations, Training, and Cyber Operations. We maximize opportunities for success by building and maintaining trusted and reliable partnerships with our customers and industry.

At GCI, we solve the hard problems. As a Software Engineer - UX, a typical day will include the following duties:

JOB DESCRIPTON

The Software Engineer- UX will manage the design and development of complex new software products. In addition to being a hands-on developer with experience in business intelligence, analytics, data science, and data products, the ideal candidate will have strong command of the principles of large-scale database development, data modeling, data mapping, data testing, data quality, and documentation preparation. The Software Engineer- UX will participate in design, development, testing, and release of key functionality for large scale custom software projects to meet customer requirements.

QUALIFICATIONS

Bachelor’s degree in Computer Science, Information Technology (IT), Computer Engineering, or related technical discipline, or the equivalent combination of education, technical training, or work/military experienceMinimum of five (5) years current experience leading the development of complex software products applying different methodologiesREQUIRED KNOWLEDGE/SKILLS

Experience managing teams to prioritize and meet tactical and/or strategic requirements. These requirements should relate to the frameworks and systems that deliver end-user tools and capabilities.Experience with the following technologies:Frontend Web Development: REACT, Angular, Node.js, Vue.js, or similar JavaScript frameworks

Backend Development: Java including Java Spring BootCloud Development: AWS, Azure, or similar cloud platformsRelational Database: PostgreSQL with the ability to write SQL.Version Control System: Git, Gitlab

DESIRED KNOWLEDGE/SKILLS

Experience working with UI/UX designer, methodology, tools; collaborative refinement and implementing to defined specifications; and previous cross browser development experienceExperience with Microservices, RESTful APIs, GraphQL, and JSONExperience with message-based systems and event-driven architectureResponsible for researching technical issues and provide a clear path to resolution with strong problem-solving and analytical skillsDeep understanding of modern software design patterns and coding standardsExperience architecting, developing, and delivering complex software systems into productionWorking knowledge of Agile development and continuous integration/continuous delivery methodologies and tools, Jenkins, GitLab, and DockerStrong, self-motivated desire to learn new programming languages, tools, frameworks, and techniquesDemonstrated experience engineering scalable multi-threaded web-based data applications to meet high-availability requirementSubject matter expert in software engineering using current web, application, and database technologiesExperience delivering technical solutions using COTS and GOTS relational and non-relational database technologies, as well as big-data solutionsDemonstrated expertise in building solutions using web service, APIs, x.509 and LDAP controls to meet mission requirements with unique datasets an user requirements while simultaneously adhering to complex security and compliance requirementsEstablished experience building and managing the code and processes to establish common code repositories, standard for re-use, and efficiencies across teams and projectsExtensive familiarity with developing unit test/validation frameworks and processes especially tools like Vitest and JestExperience managing software bug mitigation and evolving software to address end-user requirementsDemonstrated experience transitioning legacy software solutions to modern COTS, GOTS, and open-source solutionsExpertise in delivering and/or integrating software solutions using Cloud technologies in the customer or IC environmentKEY RESPONSIBILITIES

The Software Engineer- UX will:

Work to develop core functionality for existing systems, create and execute unit tests, and assist with deployment of new software to the user communityAnalyze, diagnose, and resolve software bugs utilizing approved procedures following software best practicesWork prioritized tasks from implementation through test and deployment during each Agile Sprint periodCollaborate with other software developers, QA analysts, operations staff, supervisors, and clientsProvide technical leadership for the UI/UX team while developing features; identify technical requirements, estimate level of effort, collaborate cross-team with other technical leaders; mentor junior team membersResearch, design, develop and/or modify enterprise-wide systems and/or application softwareResolve complex hardware/software compatibility and interface design considerationsConduct investigations and tests of considerable complexityResearch emerging technologies to determine impact on application executionResolve various tasks as prioritized by the team product ownerEngage in the complete software development lifecycle, operating within well-defined parametersTake ownership of delivering enhancements within a system or applicationBreak down sizable tasks into manageable units for execution and provide LOE estimationsCollaborate with fellow software engineers to create and document optimal technical designsResolve obstacles for the development team, working collaboratively with the Product Owner, technical leadership, and other engineersAdvise hardware engineers on machine characteristics that affect software systems, such as storage capacity, processing speed, and input/output requirementsPrepare reports on analyses, findings, and project progressProvide guidance and work leadership to less-experienced software engineers