Why (and How) I Learned Web Development as a Data Scientist

Author:Murphy  |  View: 24684  |  Time: 2025-03-22 23:06:58

A few months ago, I met a guy who worked in Marketing at Apple. When I told him I was a Data Scientist, his response surprised me.

"Oh, so you do the backend side of things?"

This response caught me off-guard because I'd never really thought about my job as "just backend stuff". Within the Data Science/AI hype bubble, we're used to thinking about AI as the defining technology of our times; sort of like the thing around which the rest of the tech Solar System orbits.

My friend – let's call him Copernicus – reminded me that, to those outside of the hype bubble, AI is just one piece of the puzzle, not the centre of the universe. This sparked a curiosity in me to try and learn more about other "planets" in the tech "Solar System", and I eventually decided to learn web development, for four reasons:

  • Entrepreneurship potential – I wanted the ability to build entire products and apps "end to end" so that, when I have a product/SaaS idea, I can just build it myself for free
  • ML Engineering – An ML model which remains in a Jupyter Notebook adds no value to anybody. For this reason, ML Engineering is one of the hottest areas of Data Science right now, and I wanted to learn skills that will help me move into this area. Web development helps a lot with this because it teaches you to create APIs and productionise models so that people can actually interact with them
  • Impress stakeholders – Even for hardcore data fanatics (let alone disinterested business stakeholders!), it's hard to get excited by BigQuery tables and .py files. I wanted to show people how my models worked by building visual user interfaces so people could actually interact with them, and web dev helps you do this
  • Skill stacking – There are lots of fantastic Data Scientists out there, and equally lots of fantastic Web Developers. There aren't loads of people who can do both, making this a rare and valuable niche. For someone like me who wants to be a jack of all trades, master of one, that's enormously appealing

If any of those desires resonate with you, I can highly, highly recommend learning web development.

If you need a little encouragement: I started learning web dev about 4 months ago on a couple of evenings a week, and after 2 months I released my first production website, theSQLgym.com. My point is: you can really get quite far, even in a short period of time!

How to learn web development as a Data Scientist

Image by Nick Seagrave on Unsplash

Tip #1: Go to Harvard

The absolute first thing I'd recommend is to watch Harvard CS50's Web Programming with Python and JavaScript, which is available for free on freeCodeCamp's YouTube channel. It's a full, 14-hour-long university-level course on web development which will introduce you to all the key things required for web development. (Note: the course assumes a base level of Python knowledge. If you've not coded before, you might first want to check out CS50x – Harvard's beginner-friendly "intro to coding" course).

Why do I recommend this particular course? First, because it's free. Second, because it's Harvard! Third, because it teaches you how to do web development with Python, which is a skill that many Data Scientists already have. Many other web development courses start with JavaScript or PHP; languages that aren't common amongst Data Scientists. If you want to get up and running quickly, it's way better to learn web development with languages you already know. And don't think that this is a "lesser" way to do web dev – many of the world's largest websites (Instagram, Spotify, YouTube) are built on Python.

The third reason I recommend this course is because it gives you a good overview of web development as a whole. Before I found this particular course, I tried a few others, but they were all too niche. They'd teach me about one specific framework or technology but wouldn't give me the big-picture-overview of web development as a whole, which is essential for beginners.

One final tip – the course moves quite quickly, especially through the HTML and CSS sections at the start. When you get to the end of this section of the course, I'd recommend pausing and working through some of the HTML exercises on freeCodeCamp's "Responsive Web Design" course to solidify your understanding.

Tip #2: Learn HTML, CSS and Django. That's it

You can code a website with just three languages*: HTML, CSS and Django. HTML is the easiest (you can learn it in its entirety in about 1 day) and there are lots of great resources including the freeCodeCamp courses I mentioned and the good ol' fashioned W3Schools tutorials.

*The purists will excommunicate me for calling HTML and CSS "languages". The things I do for you guys!

CSS is a bit more fiddly, but you'll get the hang of it if you spend time going through the freeCodeCamp resources and asking ChatGPT whenever you get stuck (and I promise that you will get stuck – try "centering a div" and you'll find out what I mean).

And Django – well, Django is wonderful. It's a Python framework for web development, and I was sold on it from the moment that I read its byline:

Django – The web framework for perfectionists with deadlines.

"That's me!" I felt @ed.

If you're trying to learn Web Development alongside your full-time job (as I was), you don't have endless time to faff around with learning complex new frameworks. Django keeps things simple and has a "batteries included" philosophy which means it's got pretty much everything you need to build a full website. I really liked Real Python's tutorial on How to Build a Blog From Scratch with Django.

Tip #3: Build something you actually want to build

If you try to learn web development "just for fun," you'll soon give up. As a beginner, it might take 20–50 hours to go from zero to a fully-functioning website, so you'll need something better than "fun" to motivate you.

Instead, try to think of a website that you'd like to build. It could be a personal blog, a Gluten Free recipes website, or an LLM-chatbot style website like PDF.ai. For me, it was "a simple website for people to practice SQL questions". If you can't think of any ideas, scroll through products on Product Hunt or 1000Tools and find a website that doesn't look too complicated, and try and build a better one. There's nothing like the satisfaction of building something real and useful!

Tip #4: Productionise as soon as possible. I like Heroku, GoDaddy and CloudFlare

A website is no good until it's available to people. To get it online, you'll need 4 things:

  • a server (a remote computer that can "serve" your website over the internet)
  • a database (to store your website's pages and data, including user logins, blog posts, etc.)
  • a domain (the www.yourwebsite.com thing)
  • a website management tool (to configure the DNS of your website and make sure that www.yourwebsite.com points to your server/database)

I'm not going to lie – setting these things up is not fun. You want this to take as little time as possible.

Personally, I like Heroku for the server and database, because it's pretty user-friendly and well-suited for beginners. I recommend RealPython's Hosting a Django Project on Heroku guide.

For domains, I'd go with an established domain seller like GoDaddy or CloudFlare. I made the mistake of buying my first domain via FastHosts.com; their customer service is unreachable and the website is very buggy. CloudFlare is nice because it has a generous free tier and a user-friendly interface.

That's it!

Thanks for reading. I hope you found this helpful, and free to connect with me on Twitter or LinkedIn!

Tags: Data Science Django Python Tips And Tricks Web Development

Comment