Group03 proposal

From Visual Analytics for Business Intelligence
Jump to navigation Jump to search


Devbuzz.jpg



 

Proposal

 

Poster

 

Application

 

Research Paper

Version 1


<--- Go Back to Project Groups

PROBLEM & MOTIVATION


In recent years, there is massive growth in the software industry. In order to help prospective coders, such as ourselves, to better manage their expectations and make more informed decisions, it is crucial for them to understand what is in demand and also what to expect from this booming industry.

OBJECTIVE


For our project, we will be focusing on 3 main objectives. It is as follows:

  • Gain overall insights on developers demographics (the Stack Overflow community)
  • Gain insights on job prospects for developers and their work culture. This would provide a glimpse into the software industry and allow users to understand the relations among salary, work hours and challenges faced by developers
  • Understand the most popular/relevant programming languages, databases, frameworks and platforms. This will allow prospective coders to know which skills and knowledge that give them the best advantage in the industry.


SELECTED DATASET

We chose the StackOverflow Developer Survey 2019 dataset (at https://www.kaggle.com/mchirico/stack-overflow-developer-survey-results-2019), as StackOverflow is currently the largest online developer community. The dataset provided is freely accessible, and analysis of this dataset would provide a glimpse about the overall developer community.

The dataset contains 88,883 survey responses, with each row corresponding to one respondent, and each of the 85 different columns corresponding to the survey questions. Below is a quick summary about the data provided and their attributes, categorized by each of our 3 main objectives as mentioned above.

Data Attributes Data Provided
Background Likert
  • Extent of considering oneself as a stack overflow member
Numerical, Discrete
  • Age
Categorical
  • Gender
  • Ethnicity
  • Profession
  • Education
  • Frequency and Purpose of using StackOverflow
Binary
  • Coding for hobby
  • Have dependents
Job prospects Likert
  • Job satisfaction
  • Job competence
Numerical, Continuous
  • Salary
Numerical, Discrete
  • Hours worked a week
  • Hours spent on code review
Categorical
  • Work structure, work challenges, working remotely
  • Code review
Skills Categorical
  • Programming languages, databases, platforms, and web frameworks
  • Developer tools used
  • Operating system used

BACKGROUND SURVEY


Reference of Other Visualization Learning Points
RelatedWork1.png https://www.daxx.com/blog/development-trends/number-software-developers-world

This Choropleth map shows the distribution of the number of professional software developers in Europe by country

  • Pros:
    • It is very effective in showing the distribution of professional software developers in a glance. Darker shades represent a higher concentration of developers and vice versa.
  • Cons:
    • There is a lack of labeling on the map. For countries that have similar shading, it can become difficult for readers to differentiate the rankings for those countries.
RelatedWork2.png https://www.wearedevelopers.com/business/developer-survey/#summary-download

This dashboard shows the demand for the top programming languages, frameworks and level experience.

  • Pros:
    • This dashboard is pretty comprehensive. Labels are also clear and concise. It is easy for readers to get the overview
  • Cons:
    • The bar colors used for the top 10 programming languages are not consistent. For the bottom 5 languages, it used a gradient of grey, while the top 5 used different colors. Gradient of the same color should be used for conveying quantity/intensity and not for differentiating between different categories.
RelatedWork3.png https://insights.stackoverflow.com/survey/2019

This visualization shows the relation between Men/Women developers to Developer Role. The X-axis shows the ratio of men’s to women’s developers.

  • Pros:
    • The visualization shows a good correlation between Gender against Developer Role
  • Cons:
    • The X-axis can be confusing for the readers on what the 10x represents, clearer labels or axis title could have been used.
RelatedWork4.png https://hired.com/blog/candidates/data-reveals-hottest-coding-languages/

This Proportional Symbol Map shows the hottest programing languages across different countries

  • Pros:
    • This is a good visualization for coders to view which languages are more relevant in the different countries.
  • Cons:
    • For readers with less geographical knowledge, it can be difficult to identify the exact countries




PROPOSED STORYBOARD


Storyboard Insights / Comments

Title: STORY 1 - OVERVIEW OF DEVELOPER DEMOGRAPHICS

Storyboard1.jpg
  • The first story aims to provide viewers with the overall demographic information about developers
  • Top left is an age pyramid chart of the selected group of developers
  • Top right is a bar chart showing what are the different profiles of developers (students, professionals, etc.), and whether they code as a hobby or not
  • Bottom shows a proportional symbol map with dot sizes representing the number of developers in that country/region
    • Clicking on a dot or country on the map applies a filter that will update the other 2 charts based on the selected country
    • Hovering over a dot or country on the map shows a tooltip that describes the number of developers and the median salary of the selected country

Title: STORY 2 - ANALYSIS OF DEVELOPER'S SALARIES

Storyboard2.jpg
  • The second story aims to tell viewers which types of developers have the highest median salaries. All charts shown are box plots that are sorted in descending order of salary
  • Top left is a box plot comparing median salaries between different types of developers (full stack, database administrators, data scientist, etc.)
  • Top right is a box plot comparing median salaries between developers of different educational background
  • Bottom is a box plot comparing median salaries between developers who worked with which programming languages
    • Clicking on a box plot bar applies a filter that will update the other 2 charts based on the selection. It is possible to apply multiple filters
    • The sort order can be changed from top to bottom, and the number of box plots to show can be set by the user

Title: STORY 3 - ANALYSIS OF DEVELOPER'S SKILLS

Storyboard3.jpg
  • The third story aims to give aspiring developers more insights based on the selected programming language, which can help them to decide what to use and learn.
  • By selecting a particular language as a filter, they are able to see how many developers are using which database, platform, developer tools, and so on, each represented by a bar chart.
  • The charts are sorted in descending order of count, so that users are able to see the most popular ones first
    • The sort order can be changed from top to bottom, and the number of box plots to show can be set by the user

Title: STORY 4 - ANALYSIS OF DEVELOPER'S JOB SATISFACTION

Storyboard4.jpg
  • The last story aims to show viewers which developers have higher job satisfaction based on the selected category
  • This is done using a divergent stacked bar chart, which is good for comparing between different categories for Likert data. The count of records in each category is displayed on the right of the chart
  • There are many options for the categories, such as those mentioned in previous stories, as well as interesting ones such as whether the developer can work from home
    • Users can select the sort order and the category from the menu on the left
    • Users can also set the reference line for the divergent stacked bar chart to control how the chart is visualized.


TECHNICAL CHALLENGES


Challenges Mitigation Plan
  • Unfamiliarity with R, R Shiny and Tableau
  • Ask any seniors or friends who have taken any R-related courses to share their slides with us for references
  • Watch video tutorials from YouTube
  • Peer Learning
  • Unfamiliarity of data cleaning and transformation using R
  • Read online articles and forums for guidance
  • Watch video tutorials on how to fully utilise packages such as tidyr and dplyr
  • Trial and error

PROJECT TIMELINE

Photo 2020-03-01 18-02-12.jpg

COMMENTS


Feel free to leave us some comments on where we can improve!

No. Name Date Comments
1. Insert your name here Insert date here Insert comment here
2. Insert your name here Insert date here Insert comment here
3. Insert your name here Insert date here Insert comment here