Software Engineer / Principal Software Engineer
Company | Northrop Grumman |
---|---|
Location | San Diego, CA, USA |
Salary | $89400 – $165500 |
Type | Full-Time |
Degrees | Bachelor’s, Master’s |
Experience Level | Junior, Mid Level, Senior |
Requirements
- Bachelor’s degree in Computer Science, Software Engineering, or related field, with 2 years of related engineering experience, OR Master’s degree in Computer Science, Software Engineering, or related field, with 0 years of related engineering experience
- Proficiency in Python frameworks, (PyQt, PySide, Tkinter, Flask, Django, or similar)
- Proficiency in SQL for relational databases (MSSQL, PostgreSQL, MySQL, or similar)
- Proficiency in Git and version control workflows
- Your ability to transfer and maintain the final adjudicated DoD Secret clearance or higher, and any program access(es) required for the position within a reasonable period of time, as determined by the company.
- Bachelor’s degree in Computer Science, Software Engineering, or related field, with 5 years of related engineering experience, OR Master’s degree in Computer Science, Software Engineering, or related field, with 3 years of related engineering experience
- Proficiency in Python frameworks, (PyQt, PySide, Tkinter, Flask, Django, or similar)
- Proficiency in SQL for relational databases (MSSQL, PostgreSQL, MySQL, or similar)
- Proficiency in Git and version control workflows
- Your ability to transfer and maintain the final adjudicated DoD Secret clearance or higher, and any program access(es) required for the position within a reasonable period of time, as determined by the company.
Responsibilities
- Develop desktop applications from scratch using Python and frameworks like PyQt, PySide, Tkinter, or Kivy.
- Design responsive and user-friendly UI’s with a focus on usability and performance.
- Optimize application performance and ensure smooth operation on Windows and Linux.
- Work with databases (SQLite, PostgreSQL, MySQL) and query data efficiently.
- Integrate with RESTful APIs, WebSockets, or third-party services.
- Write clean, maintainable, and modular code following best practices.
- Debug, test, and maintain applications to ensure reliability and stability.
- Collaborate with designers, backend engineers, and product teams.
- Stay up to date with emerging technologies in Python desktop development.
Preferred Qualifications
- Master’s degree in Computer Science or Software Engineering
- Significant recent experience in desktop or web development
- Strong understanding of event-driven programming and multithreading.
- Experience with .Net/C# and Java Script (D3 or ChartJS) for web development.
- Knowledge of Cython, Numba, or Pybind11 for performance optimization.
- Familiarity with scientific computing (NumPy, Pandas, OpenCV).
- Knowledge of packaging and deployment tools (PyInstaller, Nuitka, cx_Freeze, or Briefcase).
- Familiarity with cross-platform development considerations.
- Understanding of security best practices in desktop application development.
- Strong problem-solving skills and ability to work independently.