Data Engineer - Python
Role details
Job location
Tech stack
Requirements
Benefits Summary Flexible and hybrid work arrangements Paid time off/Paid company holidays Medical plan options/prescription drug plan Dental plan/vision plan options Flexible spending and health savings accounts 401(k) retirement savings plan with a Roth savings option and company matching contributions Educational assistance program Overview The Data Engineer is responsible for designing, building, and optimizing scalable data solutions to support a wide range of business needs. This role requires a strong ability to work both independently and collaboratively in a fast-paced, agile environment. The ideal candidate will engage with cross-functional teams to gather data requirements, propose enhancements to existing data pipelines and structures, and ensure the reliability and efficiency of data processes. 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 Qualifications * Associate's Degree preferred with 5 to 7 years demonstrated server-side development proficiency * Bachelor's Degree preferred with 3 to 5 years demonstrated server-side development proficiency Skills * 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 * Comfortable working iteratively in a dynamic, flexible environment * Strong self-management skills and with a focus on timely completion of tasks * Ability to converse with technical and non-technical groups