Integrity / Insight / Innovation Guided by integrity and insight gained over 40 years, Universal is consistently delivering exceptional results to our customers. We take great pride in our commitment to safety, efficiency, and innovation leading to continued improvements in well performance.
The Data Systems Developer will be responsible for the design, development, and testing of back-end systems that support the company's need for collection, analysis, and dissemination of data related to equipment and business processes. The company maintains a large fleet of equipment and a large labor force with strong needs surrounding operation and maintenance which can be optimized with continued development of new and existing systems. This role requires a deep understanding of data and information systems particularly concerning how data is collected, stored, retrieved, analyzed, and disseminated. Some supporting software development in Python is expected. This position works under the direction of the Technology Manager.
Detailed Description
Work with stakeholders and others to develop project requirements
Interpret system requirements and design documents to develop and test software systems for
Collection of process and equipment data
Data storage and retrieval including databases and file/object management
Interfacing with other internal and external systems to facilitate sharing/transmission of data
Facilitating access to data systems in various forms
Sustain systems with continued support, fixes, and development
Work effectively with others to document, deploy, train, and support various systems
Facilitate secure access to databases for developers and analysts via SQL/NoSQL
Develop software systems in Python and possibly other languages (as appropriate)
Develop and/or incorporate ETL technologies for the collection of data from a multitude of systems including equipment and third-party systems
Maintain familiarity with field and office data systems for the purposes of data collection
Utilize APIs (REST, SOAP, etc.) for interfacing with other information systems
Employ best practices throughout all design and implementation
Utilize revision control systems (such as Git) for storage and maintenance of code
Utilize continuous integration systems and methodologies including automated unit testing
Develop test plans and perform testing throughout the life cycle of the product
Facilitate various deployments such as Test, QA, and Production using Unix/Linux system administration
Scale system performance using periodic assessments and appropriate tuning
Work effectively with developers, engineers, data analysts, customers, stakeholders, and others inside and outside of the team
Utilize development methodologies as appropriate including Agile, Waterfall, and others
Work within large, complex projects focused on end-to-end business flows through multiple systems
Ensure company security requirements are met with regard to systems, data, and personnel
Represent the Company and our values with integrity while maintaining the highest ethical and legal standards with all interactions
Adhere to the Company's Code of Business Conduct and Ethics
Perform other related duties as assigned
Job Requirements
Demonstrate competency in specific technologies mentioned above
Possess proven, successful record in designing and developing web applications
Strong written and oral communication skills with demonstrated ability to conduct effective presentations and written report preparation
Effective in teamwork, customer service, and communication skills and ability to collaborate with other employees, customers and third parties
Ability to organize, multi-task, prioritize and work under time-sensitive deadlines while maintaining a calm and professional demeanor when adversity and multiple initiatives/priorities are encountered
Exhibit strong problem-solving and analytical skills, strong attention to detail
Must be available and willing to travel on a regular basis to field locations, district offices, customers, and various locations around the US
Minimum Qualifications
Bachelor's Degree (in Computer Science, Data Analytics, Engineering, Information Technology, or a related field of study); Certificate of Completion from an accredited technical school; OR 10+ years of experience in an applicable software development role
7+ years' experience with PostgreSQL, MySQL/MariaDB, Oracle, or MS SQL
3+ years' experience with the Python programming language
Preferred Qualifications
Experience with "Big Data" systems such as Hadoop, Redshift, BigQuery and related technologies
Experience with Jupyter, Pandas, Numpy, Matplotlib, Matlab, R, Tableau
Experience in cloud service data technologies such as AWS, Azure, or Google Cloud
Experience with MQTT, OPC UA, or other real-time data distribution technologies
Experience with Modbus, J1939, RS-232 or other data communication buses