Aaltodoc - homepage
Communities & Collections
Browse Aaltodoc publication archive
EN | FI |
Log In
  1. Home
  2. Browse by Author

Browsing by Author "Rapeli, Sampo"

Filter results by typing the first few letters
Now showing 1 - 2 of 2
  • Results Per Page
  • Sort Options
  • Loading...
    Thumbnail Image
    Understanding the role of Unix shell in software development and developer experience
    (2024-08-20) Rapeli, Sampo
    Perustieteiden korkeakoulu | Master's thesis
    While regular computer users do not have to use the command-line interface (CLI), it remains a vital tool for software developers. Many tools, including newly developed ones, are primarily available for the CLI. Equivalent graphical user interface (GUI) based tools are not always sufficient or preferred by developers. Some operating systems like Linux and MacOS use the Unix shell as their CLI. The basics of the Unix shell as an environment and a programming language are covered in the study. Furthermore, the study contains literature background on developer experience (DE^x) and general factors related to CLI tools and code comprehension. To find out how professional software developers utilize the Unix shell in their day-to-day work tasks, a contextual inquiry based qualitative study was performed. Seven software developers from a small Finnish company were interviewed and asked to provide examples of their shell usage. In addition to actual use cases, DE^x and emotions related to shell usage were examined. Although GUI based tools are used by many developers, the CLI is still preferred by some. The developers reported that they use the tool that is best fit for a certain purpose, which in various situations turns out to be a CLI tool. Common shell use cases include version control system (VCS) usage with Git, and managing development and production setups. Emotions towards shell usage varied greatly. As with CLI and GUI tool selection, most participants took a pragmatic approach to shell usage, and it did not feel especially good or bad--the shell is a tool among others. Some disliked shell usage, while many reported a sense of ease and comfort regarding the Unix shell. A participant's feelings changed towards more positive after initial negative or confusing experiences. Another participant reported that he does almost everything in the shell. The Unix shell provides easy automation possibilities beyond what GUIs have to offer. Such automation plays an important role in development environment management and continuous integration and continuous delivery (CI/CD) pipelines. Using and understanding the Unix shell remains a crucial aspect of software development.
  • No Thumbnail Available
    Visualisointivalinnat verkkomuotoisten tietorakenteiden havaitsemisessa
    (2020-12-08) Rapeli, Sampo
    Perustieteiden korkeakoulu | Bachelor's thesis
Help | Open Access publishing | Instructions to convert a file to PDF/A | Errata instructions | Send Feedback
Aalto UniversityPrivacy notice | Cookie settings | Accessibility Statement | Aalto University Learning Centre