<jupyter_start><jupyter_text>Designing the Perfect IT Company
 An exploration analysis on Stack Overflow’s 2020 survey

Part 1 - Understanding and Preparing the Data  Business Understanding

We are going to use Stack Overflow's 2020 survey dataset which is available [here](https://insights.stackoverflow.com/survey/). This dataset contains questions on developer experience from career satisfaction and job search to education and opinions on open source software. We are interested on the job satisfaction and all things related to it.

With this we'd like to answer the following questions.
* What do the developers look for a company?
* Is salary or languages/technologies/frameworks effective enough to solve job satisfaction issues?
* What other hidden factors affects job satisfaction?  Data Understanding **Access and Explore Data and Schema**<jupyter_code>df_schema = pd.read_csv("../data/raw/survey_results_schema.csv")
df_schema.head()
df_schema.info()
df = pd.read_csv("../data/raw/survey_results_public.csv")
df.head()
df.info()<jupyter_output><class 'pandas.core.frame.DataFrame'>
RangeIndex: 64461 entries, 0 to 64460
Data columns (total 61 columns):
 #   Column                        Non-Null Count  Dtype  
---  ------                        --------------  -----  
 0   Respondent                    64461 non-null  int64  
 1   MainBranch                    64162 non-null  object 
 2   Hobbyist                      64416 non-null  object 
 3   Age                           45446 non-null  float64
 4   Age1stCode                    57900 non-null  object 
 5   CompFreq                      40069 non-null  object 
 6   CompTotal                     34826 non-null  float64
 7   ConvertedComp                 34756 non-null  float64
 8   Country                       64072 non-null  object 
 9   CurrencyDesc                  45472 non-null  object 
 10  CurrencySymbol                45472 non-null  object 
 11  DatabaseDesireNextYear        44070 non-null  object 
 12  DatabaseWorkedWith            49537 non-null  object 
 13  D[...]<jupyter_text>Prepare Data **Wrangle and Clean**

The survey is already pre-cleaned by StackOverflow. Few more enhancements is to rename a few column and convert them into snake case **Schema**<jupyter_code>df_schema.columns = [to_snake_case(col) for col in df_schema.columns]
df_schema.head()
df_schema["field"] = df_schema.column.apply(lambda col: to_snake_case(col))
df_schema.head()
df_schema = df_schema[["field", "question_text"]]
df_schema.head()
df_schema.to_csv("../data/processed/so_schema.csv", index=False)<jupyter_output><empty_output><jupyter_text>**Data**<jupyter_code>df.columns = [to_snake_case(col) for col in df.columns]
df.head()
df.to_csv("../data/processed/so_data.csv", index=False)<jupyter_output><empty_output>
StarcoderdataJupyterStructuredCleanDedup