Software Engineering Project Team Leader

  • G3 Technologies, Inc
  • Gaithersburg, MD, USA
  • Feb 02, 2023
Full time Architectural Engineer Computer Engineer Engineer Management Executive Engineer Software Engineer

Job Description

Job Description

This position is a unique opportunity for an experienced software engineer to leverage their knowledge and skills in a mix of system architecture, software development, software team leadership and systems integration activities.  The successful candidate will participate in all aspects of the product lifecycle, including: concept, system requirements & design, software implementation, unit/subsystem/integration testing, documentation, customer transition, and follow-on operations support and feature enhancements.

As a team member you will be expected to:

  • Architect, design, implement, integrate, test, document, and support software applications.
  • Design and coordinate complex software projects with many integrated parts (i.e., tailored hardware, custom software, third-party hardware & software).
  • Develop and document system software designs and test plans.
  • Perform integration and participate in system level testing of all parts of a system until it is working smoothly.
  • Lead fellow team members throughout the software product lifecycle.
  • Mentor fellow team members in software development best practices.

Job Qualifications:

  • BS or higher degree in Computer Science, Computer Engineering or Electrical Engineering.
  • 5-10+ years of related industry experience.
  • Excellent verbal, listening and written communication skills.
  • Capable of working as a team member or team leader (and independently as needed).
  • Conscientious, detail-oriented character.
  • “Roll up your sleeves” and let’s get it done attitude.

Candidates should also possess strong familiarity with several of the following:

  • Experience documenting software application requirements from a customer top-level problem statement.
  • Experience taking system level problems and designing an architecture to satisfy customer requirements.
  • Software development process experience including software lifecycle management tools (e.g., Subversion, Git, Perforce, Bugzilla).
  • Programming experience with C, Modern C++, C# (and .NET Framework), Python, BASH/Shell, Build Systems and Continuous Integration (CMake, Jenkins, etc.)
  • Object-oriented programming concepts and languages.
  • Documentation of software designs and solutions.
  • Providing feedback to team members through design, code and document reviews.
  • Familiarity with Linux (both development of software in a Linux Environment and applications for a Linux Operating System).
  • Experience with common networking and troubleshooting tools within the Linux Environment.
  • Reverse engineering of existing systems and software designs.
  • SQL, database architecture and data mining.

Experience that is desired but not required:

  • Programming experience with Java, JavaScript, Angular, TypeScript, Node.js, Flask.
  • Familiarity with unit test frameworks.
  • Familiarity with wireless protocols and technologies (GSM, CDMA, UMTS, LTE).
  • Familiarity with computer networks protocols (FTP, SSH, TCP, IP, UDP, HTTPS).

 

Work Location: Gaithersburg, Maryland; Hybrid In-Office/Remote Work Options