Posted in

Software Application Engineer – Multiple Positions

Software Application Engineer – Multiple Positions

CompanyICF
LocationReston, VA, USA
Salary$97157 – $124730
TypeFull-Time
DegreesBachelor’s
Experience LevelEntry Level/New Grad, Junior

Requirements

  • Bachelor’s degree or foreign equivalent degree in Computer Science or related technical field
  • Software development using Java, J2EE, C#, .NET, and Python
  • Data management and analysis using SQL, MySQL, and MongoDB, with experience in Python (Pandas, NumPy) and R
  • CMSs including Drupal, with a focus on headless CMS using Gatsby.js as the frontend
  • Object-oriented design and design patterns applied to software development, including experience with UML diagramming and multithreading
  • Front-end development using HTML, CSS, and JavaScript
  • AI and machine learning algorithms and frameworks, such as Scikit-learn and PyTorch, using Python and Jupyter Notebooks
  • Database design and management, including schema design, ORM libraries, and database administration
  • Source control tools like Git and SVN
  • Agile and Waterfall software development life cycles
  • Shell scripting using Bash, PowerShell, or equivalent
  • Technical documentation and client interaction, with the ability to translate technical specifications for non-technical clients
  • Testing and debugging experience, including writing tests in Java-based test suites
  • CI/CD including GitHub, GitLab and Jenkins

Responsibilities

  • Design, develop, and maintain complex software applications using Java, JavaScript, J2EE, C#, .NET, and Python to ensure high performance, security, and scalability.
  • Architect and manage event-driven systems on AWS, utilizing infrastructure-as-code tools such as Terraform and CloudFormation to ensure reliability and fault tolerance.
  • Perform data analysis and management tasks using Python (Pandas, NumPy) and R, including the development of ETL processes to support data-driven decision-making.
  • Build and enhance web applications using HTML, CSS, React.js, Next.js, and Drupal, ensuring cross-platform compatibility and adherence to industry standards.
  • Design and deploy machine learning models and AI algorithms using Python, Scikit-learn, and Jupyter Notebooks, integrating predictive analytics and automated decision-making into applications.
  • Develop user interfaces that are accessible, intuitive, and aligned with user experience best practices, enhancing user interaction and satisfaction.
  • Design, implement, and manage databases using MySQL, MongoDB, and DynamoDB, optimizing query performance and supporting complex transactional operations.
  • Produce detailed technical documentation, including system architecture diagrams and code annotations, to support the software development lifecycle and deployment processes.
  • Collaborate with clients to gather technical requirements, provide expertise, and ensure that solutions align with business objectives, working within an Agile team environment.
  • Conduct comprehensive testing and debugging throughout the software development lifecycle, supporting the Continuous Integration/Continuous Delivery (CI/CD) pipeline for production systems.

Preferred Qualifications

    No preferred qualifications provided.