SENIOR SQL/CLOUD DATA ENGINEER
Our client, a future thinking tech incubator are developing the next-generation technologies that are being used to solve the climate change issues we are facing globally. We are looking for engineers who bring fresh ideas from all areas, information retrieval, distributed computing, large-scale system design, networking and data storage, security, artificial intelligence, natural language processing, UI design and mobile; the list is endless and is growing every day.
· Data Engineers develop and maintain data infrastructure and write, deploy and maintain software to build, integrate, manage, maintain, and quality-assure data.
· Data Engineers collaborate with their business stakeholders, Data Managers, Data Scientists, Software Engineers and Architects.
· Data Engineers are responsible for distributed systems architecture design, data warehousing, executing on privacy requirements from digital security and need to have business context and knowledge about the data domains they are working with.
· We expect Data Engineers to own the end-to-end technical data lifecycle and corresponding data technology stack for their data domain and to have a deep understanding of the technology stack.
Senior Data Engineer Required Skills:
· Data Manipulation: you develop / actively contribute to, debug and maintain software across the entire data lifecycle (from ingestion to deprecation), augment the data tech stack in your immediate scope and integrate these with existing data systems; you understand the end-to-end lifecycle of the data and the data tech stack deployed across your business entity / enabler area; you take the time to enhance your understanding of your business entity's / enabler area's key data technologies / research alternatives to client's platform offerings; you influence your team's technical decisions.
· Software Engineering: you are proficient in at least one object-oriented programming language; you have advanced SQL skills; you understand how to use the standard Cloud tools to efficiently produce software at scale; you write clean, re-usable code and commit code in manageable chunks; you write efficient and optimized algorithms; your code has extensive test, automated monitoring and alerting coverage; you proactively find and address bugs, technical debt and inefficient practices / tools; you have demonstrated that you are able to debug and solve complex issues by translating business problems into technical solutions; you understand the immediate codebase, as well as its surrounding systems; the software solutions you deliver perform as described in your plans, minimizing the number of unexpected failures or changes required; you have in-depth knowledge of and apply software engineering best practices and processes, e.g. Continuous Integration and Continuous Deployment practices, Kubernetes, Azure DevOps or similar.
· Scalability, Reliability, Maintenance: in addition to being hands on yourself, you ensure your team re-uses existing tools / code bases; you advocate for tech debt removal in addition to building new features; you improve the engineering excellence of your immediate team by identifying areas of improvement and lead through execution (e.g. writing small scripts and sharing them with your team, adding documentation to existing services, improving service health); you approach problems with a mindset that prioritize automation and long-term productivity over short-term speed, and execute on those