Python Web Development to Python Data Science

Python Web Development to Python Data Science

There are many people that are currently active in web development that want to expand their skill set with data science. As a general-purpose language that stands out for its readability and relatively low and very gradual learning curve, Python’s popularity among aspiring data scientists has been soaring in recent years. But this is not the only reason why the programming language is gaining popularity in the data science industry: the solid foundations of Python, built by scientists and sysadmins, were extended with an impressive number of packages that allows data scientists and entire data science teams to tackle complex data problems. The development of these packages of pre-compiled code is what brought the ones who use Python for scientific purposes and those who use it for more conventional purposes together. The culture gap turned out to be something enriching, as Pythonistas collaborate on data science. As a result, seasoned programmers are also getting curious about the sexiest discipline of the 21st Century, whereas newbies wonder what else they can tackle with Python.

That’s why DataCamp took a look at what it takes to make the switch from using Python for web development to using it for data science. But, even if you’re not looking to make a big switch, but you’re looking to add data science to your skill set, our Intro to Python for Data Science and this infographic is a great start!  Make sure to check out the corresponding infographic “Switching from Web Development to Data Science” if you prefer to see the visual presentation!

Switching from Python Web Development to Data Science

The core difference between the web development and data science lies in how the roles of web devs and data scientists are defined: while the former usually requires somebody to design, code and modify websites, the latter refers to cleaning, massaging and organizing (big) data that can be structured or unstructured. As the two differ in the definition of their role, it won’t surprise you that the programming languages that one typically uses in conjunction with Python to tackle web development are HTML/CSS, Javascript, Ruby, PHP, and ASP.NET. When you use Python for data science, you’ll often also use R, SAS or Julia. These lists are, of course, not exhaustive. But, what might surprise some is that there are actually some languages that web development and data science have or could have in common; It’s almost certain that the both will use SQL, but the other programming languages, such as Java, JavaScript, C++, C and Scala, are only potentially shared between the two disciplines, as it largely varies from job to job. (Don’t hesitate to read more about the data science industry roles!).

But, in essence, it boils down to this quote by Gaël Varoquaux: even though there might be differences in the way that people use Python, the strength of it is exactly the fact that they can both work together. This quote illustrates how enriching it can be when web developers get working with Python for science and add data science to their skill set. But the reverse is also true!

Next, there are certain skills that web development, as well as data science, require: version control and the knowledge of databases. When it comes to version control, Git is probably the most popular one, but also knowing how to work with mercurial and svn can come in handy. Even though these skills are shared, there are also some that are not: data scientists often have to possess knowledge of predictive modeling, distributed computing, math/stats/machine learning, and storytelling and visualization. And, even though distributed computing is also very important to web development, you often also see other skills mentioned as core skills for aspiring web developers, such as graphic design intuition and skills, web application security, Internet services (such as the FTP and HTTP protocols), communication and Search Engine Optimization (SEO). So, you see that to make the switch to data science, you might need to freshen up and learn a few extra skills.

Python Web Development vs Python Data Science
Python for Web Development versus Python for Data Science

Web Frameworks and Libraries

These core differences translate in a different usage of the libraries: web developers use web frameworks, which are collections of packages or modules which allow developers to write Web applications or services without having to handle low-level details. Data scientists, on the other hand, use libraries or packages: collections of Python modules under a common namespace. The frameworks that developers often use for web development are Flask, Django, Pyramid, TurboGears and CherryPy. On the other hand, in data science, packages such as SciPy, NumPy, Pandas, Matplotlib and Scikit-Learn often come back. Note again how this list of frameworks and libraries is not exhaustive: in any search for web frameworks or data science libraries, you will always find some that aren’t mentioned here, but these are the most important ones to get started.

Python web frameworks vs Python libraries for data science
Python Web Frameworks versus Python Libraries for Data Science

IDEs

When you take a look at what are considered the best IDEs for web development, you’ll often see that blogs and articles mention Komodo, Pydev for Eclipse and Wingware. For data science, most (aspiring) data scientists recommend using Spyder or Rodeo.  Something else that often passes by when you’re looking for IDEs to use Python for data science is Jupyter Notebook. If you’re looking to get started with this, don’t miss DataCamp’s Definitive Guide to Jupyter Notebook. Of course, one of the IDEs that always and always comes back in every search that you make for “best Python IDE” is PyCharm; It’s safe to say that this IDE is great for both Python web development and data science.

Python IDEs for Web Development vs Data Science
Python IDEs for Web Development versus Data Science

Learning Web Development and Data Science

You’ll find a considerable amount of resources that you can use to learn either web development or data science, but as you are well aware, web development, as well as data science, are disciplines that require a hands-on approach.  And, since there will always be a need to differentiate learning among students, the e-learning courses from Udacity, Treehouse, and Springboard for web development and DataCamp, EdX and Coursera and for data science stand out.

Learning Python web development vs data science
Learning Python for Web Development or for Data Science?

Practicing Web Development and Data Science with Python

As you know by now, both disciplines are very hands-on and practical. Luckily, there aren’t only courses that are interactive and engaging, but also means to practice: for web development, you’ll often resort to CodeCombat, HackerRank, HackerEarth or Codewars to practice your programming skills. However, for data science, you don’t necessarily need to get your hacker game on, rather your analysis game needs to be strong. That means that, when you’re getting into data science, you’ll want to check out sites such as Kaggle, DrivenData or DataKind. These sites offer you the opportunity to get started and tackle complex data science problems in a learning environment that encourages discussion with other aspiring data scientists because you can easily share your code on their site and ask questions to other people who have done the same. It’s highly motivating and a must-know for users who are just starting out with data science.

Practice Python for Web Development versus Data Science
Practicing Python for Web Development versus Data Science

Of course, nothing stands in your way of practicing your hacking skills with the resources that are mentioned in the web development section! :)

Python Web Development & Data Science Communities

Even though you still would be using the same programming language when you make the switch, you’re still switching between disciplines: that’s why you shouldn’t forget to also connect with the data science community. As seasoned web developers, you will probably already know that. But, you’ll see that, just like being a part of the web development community, joining the data science community is important: you can get feedback on your code, ask questions, look for jobs, get up to date with the latest news, etc.

But one of the best things about getting in touch with the data science community is that you can relate to the other (aspiring) data scientists out there. The infographic considers three parts of the community which could make an impact in your switch: newsletters, podcasts and people to follow.

Python Community for Web Development vs Data Science
Python Web Development and Data Science Communities

For those who are already familiar either with the web development or the data science community, you’ll see that there are only 5 resources mentioned per category. Of course, this is just to give other developers an idea what lives in both communities, but it’s not exhaustive at all. It’s to get you to start discovering which resources that work for you.

Web developers that already follow newsletters such as Pycoders Weekly, Responsive Design Weekly, Webdesigner Depot Newsletter and SitePoint Newsletter, could consider following also Python Weekly, Data Science Weekly, Data Elixir and KD Nuggets.

Similarly, if you’re used to listening to podcasts in the free hours of your day where you’re driving to or from work, you could consider Data Stories for data visualization, Not So Standard Deviations for the latest news in the data science industry, Becoming a Data Scientist for a focus on the path to becoming a data scientist and the learning through interviews with experts, and Data Skeptic for explanations of data science concepts longer interviews featuring practitioners and experts on interesting topics related to data. Lastly, there is also Partially Derivative for interviews and stories about the data science in the world around us.

Something similar goes for the people that you can follow on Twitter: these are of course just five people that are important to both communities, but there are many more out there. For web development, we selected developers that have contributed or are closely linked to the web frameworks about which you read in the previous sections. For data science, we chose developers that are mostly occupied with machine learning in Python. In the middle are Guido Van Rossum (how else?) and Raymond Hettinger, Python core developer. Additionally, you could also follow Python Software on Twitter. And, without a doubt, there are many more people and organizations that both parties could follow!

In short, discover the data science community bit by bit because there is much to discover!

Companies that Use Python for Web Development and Data Science

Now that we highlighted the differences between using Python for web development or data science, you’d almost think that everything is different about the two disciplines. But there is still the programming language that the two have in common and that means that there are more things in common than you might have thought at first: the people who are using Python for web development as well as data science. And, as you read in the beginning of this post, those actually exist! But what you might not expect is that there are also companies using this language for both disciplines: think about companies like Pinterest, Reddit, Dropbox, and Mozilla.  Take a look at this Quora question and answers to get to know more!

Companies that use Python for Web Development and Data Science
Companies that use Python for Web Development and Data Science

Salary

Another thing that might be different between using Python for web development and using it for data science is the salary. According to the 2016 Dice Tech Salary Survey, the average wage developers who know Python is $109,017. This average is certainly not too bad, but Python as a skill is quite broad if you consider that Python is an all-purpose programming language. That’s why it’s not too bad to take a look at the skills that come with the roles of web developers or data scientists: you see that web developers who know Django are paid on average $109,017, while knowing R gets you, on average, $126,249.

Salary for Python Web Development and Data Science
Salary for Python for Web Development versus Data Science

The differences seem very huge, but considering that R as well as Django are pretty popular in the data science and web development industries. Maybe the comparison between knowing a language and a web framework doesn’t entirely work, but there’s a difference to consider. However, when you look at how much knowing Ruby or SAS gets you, the difference leans more in favor for web development: the former gets you $115,484 on average, while SAS gives you $104,912.

But maybe skills are not the only thing we need to consider. Maybe it’s just enough to look at the roles that one can fulfill: and there is a clear difference: data scientists gain on average a salary of $122,383, while web developers only get $82,653. Since the definitions of both roles are not clearly described and can cover large grounds, and the paycheck will differ from company to company, the truth will undoubtedly be somewhere in the middle. But, in any case, it’s always interesting to consider salaries when you’re considering making the switch.

Finding Data Science Jobs?

To find jobs, you usually look on LinkedIn, but when you entered web development, you might have also checked out Hired and Guru. Now, when you enter the data science field, you might also want to check out the KD Nuggets and Data Elixir job sections. You’ll remember these two from above, so you also see that joining newsletters has some covert benefits! Of course, joining your local data science community to meet up with them in person and being actively involved in it by helping to organize and maybe giving a speech, will also do you a lot of good. If you want to get into the data science industry, it’s important to build out your network and let them know what you’re doing. (But as a web developer, you probably already know that J)

Looking for Jobs for Python Web Development versus Data Science
Finding Jobs for Python Web Development versus Data Science

Note that, when you start looking for a data science job, you should take into account that the data science industry roles can differ from one another. You can find more information in DataCamp’s Data Science Industry infographic.

Closing Remarks

While the above is just an interpretation of what we observed while researching what it takes to make the switch from web development to data science with Python, we do shed some light on what you need to consider if you’re looking to add data science to your skill set.

Learn Python for data science

DataCamp is an online interactive education platform that focuses on building the best learning experience specifically for Data Science. Our courses on RPython and Data Science are built around a certain topic and combine video instruction with in-browser coding challenges so that you can learn by doing. You can start every data science course for free, whenever you want, wherever you want.

This post is part of our contributor series. It is written and published independently of TNW.

Read next: Why Social Media Pales In Comparison to the Power of Email