What are the responsibilities and job description for the Data Engineer - Python Programmer position at AM Best?
- 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
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 integration frameworks 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
- 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
- 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 is 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