Python Engineer / Programmer
Responsibilities:
· Focus on continued build out/improvement of the current data stores (Oracle, CEPH, and possibly MongoDB) including data access and persistence.
· Requirement of prior knowledge/experience with database concepts such as SQL tuning, indexes, views, stored procedures, etc.
· Proficient in fundamental algorithms and data structures. Server-side Python processes utilizing concurrency patterns with asyncio, mutli-processing, and threading. Also, comfortable working with Numpy, Pandas, Python collections, etc.
· Must handle API development using REST. Strong working knowledge of FastAPI, with a primary focus on mastering the REST protocol. Experience with gRPC and socket-based communication is a valuable plus.
· Mastery of typical software development life cycle and deployment processes. Experience with GIT, MS Azure DevOps, Artifactory, etc. Must be comfortable building CI/CD pipelines.
· Experienced in developing applications and managing systems on Red Hat Enterprise Linux (RHEL) environments.
Requirements:
· Associate’s Degree preferred with 5 to 7 years demonstrated server-side development proficiency, OR Bachelor’s Degree preferred with 3 to 5 years demonstrated server-side development proficiency.
· Programming Languages: Python (NumPy, Pandas, Oracle PL/SQL). Other non-interpreted languages like Java, C++, Rust, etc. are a plus. Must be proficient in the intermediate-advanced level of the language (concurrency, memory management, etc.).
· Design patterns: Typical GOF patterns (Factory, Facade, Singleton, etc.)
· Data structures: Maps, lists, arrays, etc.
· SCM: Solid Git proficiency, MS Azure DevOps (CI/CD)
· SQL: Proficiency with Oracle indexes, SQL tuning, views, stored procedures, and functions.
· OS: Majority of the development is on Redhat Linux but should be comfortable with Windows. Some Unix shell scripting may be needed from time to time.
· API development: Must have proficiency with HTTP REST with gRPC / sockets as a plus.