Skip to main content

Software Engineering

  • Chapter
  • First Online:
Practical Data Science with Python 3
  • 8629 Accesses

Abstract

An integral part of data science is executing efficient computations on large datasets. Such computations are driven by computer programs, and as problems increase in size and complexity, the accompanying software solutions tend to become larger and more intricate, too. Such software is built by organizations structured around teams. Data science is also a team effort, so effective communication and collaboration is extremely important in both software engineering and data science. Software developed by one team must be comprehensible to other teams to foster use, reuse, and evolution. This is where software maintainability, as a pertinent quality attribute, kicks in. This chapter presents important lessons from the realm of software engineering in the context of data science. The aim is to educate data science practitioners how to craft evolvable programs and increase productivity.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 59.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    You may also want to read the blog at https://people.neilon.software . This article depicts in a funny way various stereotypes in relation to roles. Managing people is tedious, and social life in an organization is as important as technical expertise.

  2. 2.

    We still don’t understand the underlying algorithm. That is another level of reverse engineering. Apparently, we may control the depth of our quest.

  3. 3.

    For example, the Lucas sequence starts differently, although it has the same recurrent formula as the Fibonacci sequence: L(n) = L(n - 1) + L(n - 2), L(0) = 2, L(1) = 1.

  4. 4.

    Walt Scacchi, “Winning and Losing in Large-Scale Software Development: A Multi-Decade Perspective,” Computer 51, no. 10 (October 2018): 58–65.

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Ervin Varga

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Varga, E. (2019). Software Engineering. In: Practical Data Science with Python 3. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-4859-1_3

Download citation

Publish with us

Policies and ethics