Practical Knowledge Barriers in Professional Programming
Thayer, Kyle Matthew
MetadataShow full item record
More and more jobs are being created that involve programming. Parts of the practical knowledge needed to get these jobs and succeed in these jobs is not taught in traditional university computer science departments. A lack of this knowledge can be a barrier to successfully programming professionally. In order to learn more about these knowledge barriers, I (along with my co-authors) have taken on three projects to understand these barriers and how people can get around them: 1) we studied the barriers faced by coding bootcamp students, finding non-knowledge based barriers such as credentials, personal costs, as well as knowledge barriers such as how to pass a technical interview, and using available resources to learn how to use application programming interfaces (APIs); 2) Inspired by the barriers to learning APIs in the first study, we developed a theory of what knowledge is actually needed to work with APIs, including API usage patterns; 3) Inspired by the need to understand API usage patterns in the second study, we developed a data structure to represent API usage patterns and an algorithm to extract part of the structure. For people who want to address these barriers at a systemic level, this work can guide them in designing bootcamps or other programs to address these needs, or in designing to help people learn and use APIs. For people who want to become programmers, this work can guide them in deciding whether a bootcamp will meet their needs and knowing what other needs they may have, and future systems based on our API work may help them learn and use APIs.