{"id":10493,"date":"2021-12-21T15:35:02","date_gmt":"2021-12-21T15:35:02","guid":{"rendered":"https:\/\/ee.yelkdev.site\/?p=10493"},"modified":"2023-09-21T23:56:10","modified_gmt":"2023-09-21T22:56:10","slug":"from-software-engineering-to-data-engineering-with-lewis-crawford","status":"publish","type":"post","link":"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/","title":{"rendered":"From software engineering to data engineering with&#8230; Lewis Crawford"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">After a few conversations about what a data engineer is these days, I&#8217;ve found that there isn&#8217;t a shared understanding of the role. I also noticed the majority of the data engineers I spoke to were experienced software engineers. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Based on this experience, I decided to create a new blog post series that consists of interviews with our data engineers. I believe this will help to demystify data engineering and it might encourage more software engineers to become data engineers.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This week the interview is with <a href=\"https:\/\/www.equalexperts.com\/blog\/author\/lewis-crawford\/\">Lewis Crawford<\/a>.<\/span><span style=\"font-weight: 400;\">\u200b <\/span><\/p>\n<p><b>What is data engineering for you and how does it overlap with software engineering?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">I think the evocative term here is engineering &#8211; precision, reliable, secure and planned as opposed to &#8216;hacking&#8217; which also has a lot of commonalities between data and software. Most data engineering has an aspect of software engineering for transforming the data into some more useful state, and most software has the ability to store, retrieve and modify data. The key difference is the scale of the data involved.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For me, the analogy to engineering in data engineering is best exemplified by a bridge. It is easy to visualise the roles of architects, structural engineers and builders that allow traffic to safely and securely move from one domain to another. Data engineers provide this bridge for data flows.<\/span><\/p>\n<p><b>How did you get involved in data engineering?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">I started with distributed computing for my MSc, processing satellite images to create drainage networks. There was always more data that would fit on a single &#8216;computer&#8217;. Using PVM condor for scheduling parallel processing jobs usually stuck in long queues behind physics and engineering simulations, the benefits of unit testing and code review are never more apparent than waiting two days to run your job only to find a simple spelling mistake, and being put at the back of the queue again. I ended up in roles in various companies that all had a distributed compute element so it was natural that I gravitated to &#8216;big data&#8217; processing around about 2009. Along the way, I picked up a lot of experience around patterns and architectures, lineage and governance, data types and storage formats, in addition to the old problem of orchestrating multiple computers to perform a single task.<\/span><\/p>\n<p><b>What are the skills a data engineer must have that a software engineer usually doesn&#8217;t have?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">I would say concepts rather than skills and an appreciation of scale. Understanding why choosing the right storage format or why partitioning strategy can significantly improve the ability to perform analytics at scale. Understanding that processing data comes with a responsibility not just in ensuring quality and consistency but custodianship, data security, retention and governance. You don&#8217;t have to be a GDPR expert, but you do need to know that someone on the team has to ask the questions &#8211; what data are we using, for what purpose, for how long, where did it come from, and who is the end-user?<\/span><\/p>\n<p><span style=\"font-weight: 400;\">At some point, scale catches everyone out. Realising that your program that takes 1 second to process 1,000 records is going to take 11 days to process 1bn records &#8211; and that is if you don&#8217;t hit all kinds of limits you didn&#8217;t know where there (temp space, logging directories, etc.).<\/span><\/p>\n<p><b>What data trends are you keeping an eye on?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">I am fascinated by machine learning and the incredible advances in AI generally. So I tend to focus on the distributed architectures that support this in the data preparation stage such as Ray and Dask, as well as obvious platforms such as Spark. I am also interested in accelerated compute using GPU&#8217;s for both deep learning and transfer learning, but also frameworks like <\/span><a href=\"http:\/\/rapids.ai\/\"><span style=\"font-weight: 400;\">rapids.ai<\/span><\/a><span style=\"font-weight: 400;\">, that enable existing workloads to transfer to gpu with minimal code change.<\/span><\/p>\n<p><b>Do you have any recommendations for software engineers who want to be data engineers?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Go for it! But it may be worth reading\/chatting about\/trying out some of these concepts &#8211; metadata, governance, lineage, OLTP \/ OLAP architecture, partitioning, columnar, eventual consistency, quality, and most of all SCALE!<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In his latest series on how to move from software engineering into data engineering, Claudio Diniz interviews Lewis Crawford who aptly explains, among other things, how at some point scale catches everyone out, and therefore how important it is to consider on large projects:<\/p>\n","protected":false},"author":164,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"categories":[3],"tags":[188],"location":[397],"class_list":["post-10493","post","type-post","status-publish","format-standard","hentry","category-tech-focus","tag-data-engineering"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>From software engineering to data engineering with... Lewis Crawford | Equal Experts<\/title>\n<meta name=\"description\" content=\"What is the difference between a data and non-data engineer? Demystifying data engineering to encourage more software engineers to become one.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"From software engineering to data engineering with... Lewis Crawford\" \/>\n<meta property=\"og:description\" content=\"In his latest series on how to move from software engineering into data engineering, Claudio Diniz interviews Lewis Crawford who aptly explains, among other things, how at some point scale catches everyone out, and therefore how important it is to consider on large projects:\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/\" \/>\n<meta property=\"og:site_name\" content=\"Equal Experts\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-21T15:35:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-21T22:56:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.equalexperts.com\/wp-content\/uploads\/2022\/02\/tech4_blog_Facebook_1200x630.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Cl\u00e1udio Diniz\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"From software engineering to data engineering with... Lewis Crawford\" \/>\n<meta name=\"twitter:description\" content=\"In his latest series on how to move from software engineering into data engineering, Claudio Diniz interviews Lewis Crawford who aptly explains, among other things, how at some point scale catches everyone out, and therefore how important it is to consider on large projects:\" \/>\n<meta name=\"twitter:creator\" content=\"@EqualExperts\" \/>\n<meta name=\"twitter:site\" content=\"@EqualExperts\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Cl\u00e1udio Diniz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/\"},\"author\":{\"name\":\"Cl\u00e1udio Diniz\",\"@id\":\"https:\/\/www.equalexperts.com\/#\/schema\/person\/28ff89d676b184c93ab62bc91b0af11e\"},\"headline\":\"From software engineering to data engineering with&#8230; Lewis Crawford\",\"datePublished\":\"2021-12-21T15:35:02+00:00\",\"dateModified\":\"2023-09-21T22:56:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/\"},\"wordCount\":690,\"publisher\":{\"@id\":\"https:\/\/www.equalexperts.com\/#organization\"},\"keywords\":[\"data engineering\"],\"articleSection\":[\"Tech Focus\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/\",\"url\":\"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/\",\"name\":\"From software engineering to data engineering with... Lewis Crawford | Equal Experts\",\"isPartOf\":{\"@id\":\"https:\/\/www.equalexperts.com\/#website\"},\"datePublished\":\"2021-12-21T15:35:02+00:00\",\"dateModified\":\"2023-09-21T22:56:10+00:00\",\"description\":\"What is the difference between a data and non-data engineer? Demystifying data engineering to encourage more software engineers to become one.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.equalexperts.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"From software engineering to data engineering with&#8230; Lewis Crawford\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.equalexperts.com\/#website\",\"url\":\"https:\/\/www.equalexperts.com\/\",\"name\":\"Equal Experts\",\"description\":\"Making Software. Better.\",\"publisher\":{\"@id\":\"https:\/\/www.equalexperts.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.equalexperts.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.equalexperts.com\/#organization\",\"name\":\"Equal Experts\",\"url\":\"https:\/\/www.equalexperts.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.equalexperts.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.equalexperts.com\/wp-content\/uploads\/2018\/08\/Equal_Experts_Logo_CMYK_Colour.jpg\",\"contentUrl\":\"https:\/\/www.equalexperts.com\/wp-content\/uploads\/2018\/08\/Equal_Experts_Logo_CMYK_Colour.jpg\",\"width\":719,\"height\":340,\"caption\":\"Equal Experts\"},\"image\":{\"@id\":\"https:\/\/www.equalexperts.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/EqualExperts\",\"https:\/\/www.linkedin.com\/company\/equal-experts\/?viewAsMember=true\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.equalexperts.com\/#\/schema\/person\/28ff89d676b184c93ab62bc91b0af11e\",\"name\":\"Cl\u00e1udio Diniz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.equalexperts.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d70fbe38b0540d312610b719e2e75bc9f302aafe3264bf1eb8174eb191c4879d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d70fbe38b0540d312610b719e2e75bc9f302aafe3264bf1eb8174eb191c4879d?s=96&d=mm&r=g\",\"caption\":\"Cl\u00e1udio Diniz\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"From software engineering to data engineering with... Lewis Crawford | Equal Experts","description":"What is the difference between a data and non-data engineer? Demystifying data engineering to encourage more software engineers to become one.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/","og_locale":"en_GB","og_type":"article","og_title":"From software engineering to data engineering with... Lewis Crawford","og_description":"In his latest series on how to move from software engineering into data engineering, Claudio Diniz interviews Lewis Crawford who aptly explains, among other things, how at some point scale catches everyone out, and therefore how important it is to consider on large projects:","og_url":"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/","og_site_name":"Equal Experts","article_published_time":"2021-12-21T15:35:02+00:00","article_modified_time":"2023-09-21T22:56:10+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.equalexperts.com\/wp-content\/uploads\/2022\/02\/tech4_blog_Facebook_1200x630.png","type":"image\/png"}],"author":"Cl\u00e1udio Diniz","twitter_card":"summary_large_image","twitter_title":"From software engineering to data engineering with... Lewis Crawford","twitter_description":"In his latest series on how to move from software engineering into data engineering, Claudio Diniz interviews Lewis Crawford who aptly explains, among other things, how at some point scale catches everyone out, and therefore how important it is to consider on large projects:","twitter_creator":"@EqualExperts","twitter_site":"@EqualExperts","twitter_misc":{"Written by":"Cl\u00e1udio Diniz","Estimated reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/#article","isPartOf":{"@id":"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/"},"author":{"name":"Cl\u00e1udio Diniz","@id":"https:\/\/www.equalexperts.com\/#\/schema\/person\/28ff89d676b184c93ab62bc91b0af11e"},"headline":"From software engineering to data engineering with&#8230; Lewis Crawford","datePublished":"2021-12-21T15:35:02+00:00","dateModified":"2023-09-21T22:56:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/"},"wordCount":690,"publisher":{"@id":"https:\/\/www.equalexperts.com\/#organization"},"keywords":["data engineering"],"articleSection":["Tech Focus"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/","url":"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/","name":"From software engineering to data engineering with... Lewis Crawford | Equal Experts","isPartOf":{"@id":"https:\/\/www.equalexperts.com\/#website"},"datePublished":"2021-12-21T15:35:02+00:00","dateModified":"2023-09-21T22:56:10+00:00","description":"What is the difference between a data and non-data engineer? Demystifying data engineering to encourage more software engineers to become one.","breadcrumb":{"@id":"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.equalexperts.com\/blog\/tech-focus\/from-software-engineering-to-data-engineering-with-lewis-crawford\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.equalexperts.com\/"},{"@type":"ListItem","position":2,"name":"From software engineering to data engineering with&#8230; Lewis Crawford"}]},{"@type":"WebSite","@id":"https:\/\/www.equalexperts.com\/#website","url":"https:\/\/www.equalexperts.com\/","name":"Equal Experts","description":"Making Software. Better.","publisher":{"@id":"https:\/\/www.equalexperts.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.equalexperts.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/www.equalexperts.com\/#organization","name":"Equal Experts","url":"https:\/\/www.equalexperts.com\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.equalexperts.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.equalexperts.com\/wp-content\/uploads\/2018\/08\/Equal_Experts_Logo_CMYK_Colour.jpg","contentUrl":"https:\/\/www.equalexperts.com\/wp-content\/uploads\/2018\/08\/Equal_Experts_Logo_CMYK_Colour.jpg","width":719,"height":340,"caption":"Equal Experts"},"image":{"@id":"https:\/\/www.equalexperts.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/EqualExperts","https:\/\/www.linkedin.com\/company\/equal-experts\/?viewAsMember=true"]},{"@type":"Person","@id":"https:\/\/www.equalexperts.com\/#\/schema\/person\/28ff89d676b184c93ab62bc91b0af11e","name":"Cl\u00e1udio Diniz","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.equalexperts.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d70fbe38b0540d312610b719e2e75bc9f302aafe3264bf1eb8174eb191c4879d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d70fbe38b0540d312610b719e2e75bc9f302aafe3264bf1eb8174eb191c4879d?s=96&d=mm&r=g","caption":"Cl\u00e1udio Diniz"}}]}},"_links":{"self":[{"href":"https:\/\/www.equalexperts.com\/wp-json\/wp\/v2\/posts\/10493","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.equalexperts.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.equalexperts.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.equalexperts.com\/wp-json\/wp\/v2\/users\/164"}],"replies":[{"embeddable":true,"href":"https:\/\/www.equalexperts.com\/wp-json\/wp\/v2\/comments?post=10493"}],"version-history":[{"count":0,"href":"https:\/\/www.equalexperts.com\/wp-json\/wp\/v2\/posts\/10493\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.equalexperts.com\/wp-json\/wp\/v2\/media?parent=10493"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.equalexperts.com\/wp-json\/wp\/v2\/categories?post=10493"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.equalexperts.com\/wp-json\/wp\/v2\/tags?post=10493"},{"taxonomy":"location","embeddable":true,"href":"https:\/\/www.equalexperts.com\/wp-json\/wp\/v2\/location?post=10493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}