이처럼 배경이 중요하지 않다면 야심 있는 데이터 엔지니어가 성공하는 데 필요한 기술은 무엇일까요? 다음 3가지 기술에 탁월하다면 매우 유리합니다.
첫 번째로는 소프트웨어 개발 수명 주기 전반에 걸친 견고한 경험입니다. 제가 소프트웨어 엔지니어 배경을 가졌기 때문에 가진 편향일지도 모르지만, 전반적인 소프트웨어 수명 주기에 따라 일하는 것은 데이터 엔지니어링 세계에서 매우 중요합니다.
두 번째는 SQL을 적절하게 사용할 줄 아는 것과 적어도 하나의 정적 프로그래밍 언어와 동적 프로그래밍 언어를 아는 것입니다. SQL 지식은 기본적인 것으로 여겨지지만, 수많은 조직에서 데이터를 조작하는 데 SQL에 얼마나 많이 의존하는지는 아무리 강조해도 지나치지 않습니다. SQL 지식을 프로그래밍 언어, 이를테면 파이썬Python과 러스트Rust로 작업하는 방법에 대한 지식과 결합하면 훌륭한 소프트웨어가 어떻게 구축되는지, 궁극적으로 그 지식을 데이터 세상에 어떻게 적용할 수 있는지 이해할 수 있습니다.
세 번째는 데이터 엔지니어링 중 어떤 하위 분야에서 전문성을 쌓으려는지에 따라 달라집니다. 데이터 처리를 전문적으로 하려고 한다면 데이터 저장 기술을 배우면서 SQL 기술을 지속적으로 연마해야 합니다. 좀 더 전통적인 소프트웨어 엔지니어링의 길을 따르려 한다면 분석 기술을 갈고 닦아야 합니다. 프로젝트가 주로 빅데이터 중심이기 때문입니다. 핵심은 집중하려는 영역을 일찍 정하고 그 직무에 보탬이 되는 기술을 개발해야 한다는 것입니다.