Are you Down To Learn Python?

During a Python developer interview, what are some red flags that you cannot ignore?


Ben Podgursky
, Co-Founder at CloudWright. Senior data engineer.
Updated September 23, 2019 · Upvoted by Alan Mellor, Started programming 8 bit computers in 1981

Me; “I have a file, where each row is an ID. I want you to describe a Python script to read the file and give me the count of unique IDs”
Interviewee: “Ok. I would import Pandas, load the file into a DataFrame, and ask for the unique count.”
“How would you do this without using Pandas?”
“…”
“I just mean, using raw Python”
“I don’t know.”
“Don’t worry about file opening syntax. Just walk me through the data structures and program flow”
“Ok. I would put the records in…. a list”

You can guess how it goes from there. There are fancy ways to solve this, and straightforward ways to solve this… but dumping everything in a list is definitely not going to cut it.

It’s really astounding how many people you’ll find who have absolutely no knowledge of Python fundamentals — and by fundamentals, I mean “able to use a set/dictionary”. They’re able to do write just enough Python to load Pandas, and then they know the right Pandas incantations to answer their queries.

As far as they are concerned, there’s a wizard behind the curtain, gutting pigeons and reading the entrails every time you query Pandas. Ask them to do anything Pandas can’t handle, and it’s a total trainwreck.

It’s actually a bit difficult to filter this out on resume screens, because you can get pretty far knowing only Data Science tool munging, so you can get programmy-sounding projects on your resume without actually knowing…. any programming.

But if you want to move from “data munger” to “software engineer”, you’re going to have to dig a bit deeper and actually learn Python.
There’s a lot of dissent in the comments here, so I do want to clarify a few things:

Not knowing a hash table / set doesn’t mean you’re not worth hiring and training. There are a lot of roles where there can be support infrastructure to get someone trained on CS basics, coming in self-trained or from a bootcamp.

What you run into though, is applicants who are applying to mid-to-senior tier jobs based on their experience with Pandas / similar libraries. These candidates are not qualified to hit the ground running in non-junior roles. This is specifically what I saw — we wanted a candidate with 2+ years experience, because the team was losing senior engineers. The resumes of these candidates did not match their actual ability to implement on day 1.

I will also note, that if someone is applying to mid-senior tier jobs, it surprises me when they have come in not having done even basic interview prep. Look guys — constant vs linear time set membership is like, literally the most basic complexity analysis you will do. This displays a lack of awareness of your own capabilities, and a lack of research into the job you’re applying for.

tl,dr: I have a lot of respect for self-taught and bootcamp graduates. The flag here is about a skill mismatch when applying for not-completely green roles. Not about inability to learn CS fundamentals on the fly. But also, you will do yourself a favor by learning cursory complexity analysis before going through interviews.
 
During a Python developer interview, what are some red flags that you cannot ignore?

Ben Podgursky, Co-Founder at CloudWright. Senior data engineer.
Updated September 23, 2019 · Upvoted by Alan Mellor, Started programming 8 bit computers in 1981

Me; “I have a file, where each row is an ID. I want you to describe a Python script to read the file and give me the count of unique IDs”
Interviewee: “Ok. I would import Pandas, load the file into a DataFrame, and ask for the unique count.”
“How would you do this without using Pandas?”
“…”
“I just mean, using raw Python”
“I don’t know.”
“Don’t worry about file opening syntax. Just walk me through the data structures and program flow”
“Ok. I would put the records in…. a list”

You can guess how it goes from there. There are fancy ways to solve this, and straightforward ways to solve this… but dumping everything in a list is definitely not going to cut it.

It’s really astounding how many people you’ll find who have absolutely no knowledge of Python fundamentals — and by fundamentals, I mean “able to use a set/dictionary”. They’re able to do write just enough Python to load Pandas, and then they know the right Pandas incantations to answer their queries.

As far as they are concerned, there’s a wizard behind the curtain, gutting pigeons and reading the entrails every time you query Pandas. Ask them to do anything Pandas can’t handle, and it’s a total trainwreck.

It’s actually a bit difficult to filter this out on resume screens, because you can get pretty far knowing only Data Science tool munging, so you can get programmy-sounding projects on your resume without actually knowing…. any programming.

But if you want to move from “data munger” to “software engineer”, you’re going to have to dig a bit deeper and actually learn Python.
There’s a lot of dissent in the comments here, so I do want to clarify a few things:

Not knowing a hash table / set doesn’t mean you’re not worth hiring and training. There are a lot of roles where there can be support infrastructure to get someone trained on CS basics, coming in self-trained or from a bootcamp.

What you run into though, is applicants who are applying to mid-to-senior tier jobs based on their experience with Pandas / similar libraries. These candidates are not qualified to hit the ground running in non-junior roles. This is specifically what I saw — we wanted a candidate with 2+ years experience, because the team was losing senior engineers. The resumes of these candidates did not match their actual ability to implement on day 1.

I will also note, that if someone is applying to mid-senior tier jobs, it surprises me when they have come in not having done even basic interview prep. Look guys — constant vs linear time set membership is like, literally the most basic complexity analysis you will do. This displays a lack of awareness of your own capabilities, and a lack of research into the job you’re applying for.

tl,dr: I have a lot of respect for self-taught and bootcamp graduates. The flag here is about a skill mismatch when applying for not-completely green roles. Not about inability to learn CS fundamentals on the fly. But also, you will do yourself a favor by learning cursory complexity analysis before going through interviews.
Thanks
 
Im currently learning Python on Datacamp.com
I just completed the Introduction to Python and received my completion cert for that one.
I am now on Intermediate Python. Then on to Python for Data Science 1 and 2.

Then on to the R Programming then SQL Programming courses.

https://www.datacamp.com/ :cheers:

Thanks Master fard Muhammad who is almighty God Allah in Person

hey you summabytch..

good lookin on the link.....

I owe you a drink

ol fireball drinkin lookin ass
 
What are the major differences between Python and R for data science?



Both Python and R have vast software ecosystems and communities, so either language is suitable for almost any data science task. That said, there are some areas in which one is stronger than the other.
Where Python Excels
Where R Excels
  • A lot of statistical modeling research is conducted in R, so there's a wider variety of model types to choose from. If you regularly have questions about the best way to model data, R is the better option. DataCamp has a large selection of courses on statistics with R.
  • The other big trick up R's sleeve is easy dashboard creation using Shiny. This enables people without much technical experience to create and publish dashboards to share with their colleagues. Python does have Dash as an alternative, but it’s not as mature. You can learn about Shiny in our course on Building Web Applications with Shiny in R.
  • R's functionality was developed with statisticians in mind, thereby giving it field-specific advantages such as great features for data visualization.
This list is far from exhaustive and experts endlessly debate which tasks can be done better in one language or another. Further, Python programmers and R programmers tend to borrow good ideas from each other. For example, Python's plotnine data visualization package was inspired by R's ggplot2 package, and R's rvest web scraping package was inspired by Python's BeautifulSoup package. So eventually, the best ideas from either language find their way into the other making both languages similarly useful & valuable.
If you’re too impatient to wait for a particular feature in your language of choice, it's also worth noting that there is excellent language interoperability between Python and R. That is, you can run R code from Python using the rpy2 package, and you can run Python code from R using reticulate. That means that all the features present in one language can be accessed from the other language. For example, the R version of deep learning package Keras actually calls Python. Likewise, rTorch calls PyTorch.
Beyond features, the languages are sometimes used by different teams or individuals based on their backgrounds.
Who Uses Python
  • Python was originally developed as a programming language for software development (the data science tools were added later), so people with a computer science or software development background might feel more comfortable using it.
  • Accordingly, transition from other popular programming languages like Java or C++ to Python is easier than the transition from those languages to R.
Who Uses R
  • R has a set of packages known as the Tidyverse, which provide powerful yet easy-to-learn tools for importing, manipulating, visualizing, and reporting on data. Using these tools, people without any programming or data science experience (at least anecdotally) can become productive more quickly than in Python.
  • If you want to test this for yourself, try taking Introduction to the Tidyverse, which introduces R's dplyr and ggplot2 packages. It will likely be easier to pick up on than Introduction to Data Science in Python, but why not see for yourself what you prefer?
  • Overall, if you or your employees don't have a data science or programming background, R might make more sense.
Wrapping up, though it may be hard to know whether to use Python or R for data analysis, both are great options. One language isn’t better than the other—it all depends on your use case and the questions you’re trying to answer. Finally, I’ll share the first bit of this a handy infographic comparing the two languages. I don’t want to include it all as it’s very long and would require too much scrolling, but you can download the full image here.




Python+vs+R+(1).png
 
@darth frosty Are currently coding professionally? Did it take you a minute to get Python? Trying to get back into it man. Job market still pretty lucrative?

YES! The job market for data science is incredibly lucrative. Lots of positions hiring if you have the background to handle it.

Python will take time. You have to commit to it. There is no other way.

I'm learning it now and I work on it every day for several hours out the day.

I'm getting the hang of it now, but it's taking some grueling moments to get past language and syntax.

I am planning a career switch from teaching to more advanced data science. Companies are hiring EVERYWHERE, bruh. Even looking for people to work 100% remotely.
 
What are the major differences between Python and R for data science?
Both Python and R have vast software ecosystems and communities, so either language is suitable for almost any data science task. That said, there are some areas in which one is stronger than the other.
Where Python Excels
Where R Excels
  • A lot of statistical modeling research is conducted in R, so there's a wider variety of model types to choose from. If you regularly have questions about the best way to model data, R is the better option. DataCamp has a large selection of courses on statistics with R.
  • The other big trick up R's sleeve is easy dashboard creation using Shiny. This enables people without much technical experience to create and publish dashboards to share with their colleagues. Python does have Dash as an alternative, but it’s not as mature. You can learn about Shiny in our course on Building Web Applications with Shiny in R.
  • R's functionality was developed with statisticians in mind, thereby giving it field-specific advantages such as great features for data visualization.
This list is far from exhaustive and experts endlessly debate which tasks can be done better in one language or another. Further, Python programmers and R programmers tend to borrow good ideas from each other. For example, Python's plotnine data visualization package was inspired by R's ggplot2 package, and R's rvest web scraping package was inspired by Python's BeautifulSoup package. So eventually, the best ideas from either language find their way into the other making both languages similarly useful & valuable.
If you’re too impatient to wait for a particular feature in your language of choice, it's also worth noting that there is excellent language interoperability between Python and R. That is, you can run R code from Python using the rpy2 package, and you can run Python code from R using reticulate. That means that all the features present in one language can be accessed from the other language. For example, the R version of deep learning package Keras actually calls Python. Likewise, rTorch calls PyTorch.
Beyond features, the languages are sometimes used by different teams or individuals based on their backgrounds.
Who Uses Python
  • Python was originally developed as a programming language for software development (the data science tools were added later), so people with a computer science or software development background might feel more comfortable using it.
  • Accordingly, transition from other popular programming languages like Java or C++ to Python is easier than the transition from those languages to R.
Who Uses R
  • R has a set of packages known as the Tidyverse, which provide powerful yet easy-to-learn tools for importing, manipulating, visualizing, and reporting on data. Using these tools, people without any programming or data science experience (at least anecdotally) can become productive more quickly than in Python.
  • If you want to test this for yourself, try taking Introduction to the Tidyverse, which introduces R's dplyr and ggplot2 packages. It will likely be easier to pick up on than Introduction to Data Science in Python, but why not see for yourself what you prefer?
  • Overall, if you or your employees don't have a data science or programming background, R might make more sense.
Wrapping up, though it may be hard to know whether to use Python or R for data analysis, both are great options. One language isn’t better than the other—it all depends on your use case and the questions you’re trying to answer. Finally, I’ll share the first bit of this a handy infographic comparing the two languages. I don’t want to include it all as it’s very long and would require too much scrolling, but you can download the full image here.




Python+vs+R+(1).png

If you know Python, then there is very little reason to switch to R.

Python can essentially do everything R can do plus more. Python can integrate R! Lol
 
YES! The job market for data science is incredibly lucrative. Lots of positions hiring if you have the background to handle it.

Python will take time. You have to commit to it. There is no other way.

I'm learning it now and I work on it every day for several hours out the day.

I'm getting the hang of it now, but it's taking some grueling moments to get past language and syntax.

I am planning a career switch from teaching to more advanced data science. Companies are hiring EVERYWHERE, bruh. Even looking for people to work 100% remotely.
Thanks @4 Dimensional I will stick to the coding. I have to get back on it asap. You are using Data Camp?
 
YES! The job market for data science is incredibly lucrative. Lots of positions hiring if you have the background to handle it.

Python will take time. You have to commit to it. There is no other way.

I'm learning it now and I work on it every day for several hours out the day.

I'm getting the hang of it now, but it's taking some grueling moments to get past language and syntax.

I am planning a career switch from teaching to more advanced data science. Companies are hiring EVERYWHERE, bruh. Even looking for people to work 100% remotely.
Same here. Computer science major teaching music production. I’ve been locked in on Dart/Flutter. Looking to design music apps and teach advanced app UI/UX design to low income kids
 
Thanks @4 Dimensional I will stick to the coding. I have to get back on it asap. You are using Data Camp?

Naw. I'm self-teaching.

I'm using the COVID19 raw data for my training in Python. Since I already have a mathematical, statistical, data analysis, and programming background, I don't have a huge learning curve in trying to figure out how to do things.

I just had to put my loyalty aside for specific languages to want to learn Python. Analyzing COVID19 data and doing automation for my analysis has given me many reasons to learn Python.
 
Same here. Computer science major teaching music production. I’ve been locked in on Dart/Flutter. Looking to design music apps and teach advanced app UI/UX design to low income kids

That's what's up. App designing is one thing I haven't been able to get interested in.

I attempted a few times, but haven't found a reason to keep going yet.
 
I’m focused in on Python right now.

Shit is very challenging to learn. Don’t think you’re going to get the hang of it in a few weeks. It’s a life long learning ordeal fucking with Python.
this because I stopped for a month and now I have to start all over again. I'm following a course on Udemy
 
this because I stopped for a month and now I have to start all over again. I'm following a course on Udemy

Man, it’s crazy how fast you can forget something when you stop messing with it.

I’m setting up scripts and making comments so I can remember what each function is for, so if I have to take a break then I can come back to something done.
 
Man, it’s crazy how fast you can forget something when you stop messing with it.

I’m setting up scripts and making comments so I can remember what each function is for, so if I have to take a break then I can come back to something done.
It becomes a foreign language if you stop using it for a month. :fuckyousay:
This dude is pretty legit too.
 
Last edited:
Use Udacity for MACHINE LEARNING ENGINEER certification.

If you are learning python to get into data science, download Anaconda and install through there, it's a package manager.
https://www.anaconda.com/products/individual

Super easy to create a new python notebook.

Use some free open datasets to get going:


Hope you all are on a Mac.


There are also a lot of ML APIs already available so dig into those as there is a not a lot of need to build most models by hand, most are out the box and something called AutoML is on the rise.
eg
https://aws.amazon.com/blogs/aws/am...aged-automatic-machine-learning/?tag=vp314-20
and:
https://aws.amazon.com/blogs/openso...n-an-open-source-automl-library/?tag=vp314-20

https://aws.amazon.com/sagemaker/autopilot/?tag=vp314-20

Google:

and AutoML:

and
ML Crash course:

These are just additional stuff for the more technical folks:
BigML

H20

Databricks:





Blessing on your journeys...........
 
Man, it’s crazy how fast you can forget something when you stop messing with it.

I’m setting up scripts and making comments so I can remember what each function is for, so if I have to take a break then I can come back to something done.


check out some of the links i posted about.

ML flow create the ML catalog you need and is included in Databricks.

Alternatively you can just use an existing ML API


The key is to understand the ML concepts like classification, regression, feature engineering, clustering and when to use ML

Bless
 
check out some of the links i posted about.

ML flow create the ML catalog you need and is included in Databricks.

Alternatively you can just use an existing ML API


The key is to understand the ML concepts like classification, regression, feature engineering, clustering and when to use ML

Bless
About to go through every link. Thanks
 
Signed up for it and started using the features last week. Very streamlined and simple platform. Definitely beneficial to use all of the guidance programs they offer with it too.


ok nice.

There are free tier credits for a lot of stuff so don't be scared to try things.

There a a number of youtube videos that will help you.

Start with something you always wanted to solve, a personal painpoint
 
ok nice.

There are free tier credits for a lot of stuff so don't be scared to try things.

There a a number of youtube videos that will help you.

Start with something you always wanted to solve, a personal painpoint
Many thanks dude. Can you point me out to some of your preferred youtubers relating to it? Trying to take it all in mane.
 
Back
Top