forked from TeamDevDev/www.developerdevelopment.com
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.qmd
88 lines (73 loc) · 4.55 KB
/
index.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
---
title: ""
page-layout: article
title-block-style: default
title-block-banner: false
---
![**Developing developers so that they can develop better software!**](images/Developer-Development-Horizontal-Logo.svg){fig-align="center"}
## Introduction
Regardless of the role or the company or the project in which they find
themselves, a software engineer is always a *developing developer*. Like the
word "developer" in the above logo, developers always have a "missing piece" of
the "D" in their developer skills. Put in another way, all developers have a
professional skill that they have not yet honed, new technologies that they have
yet to explore, program features that they have not yet implemented, or
nefarious bugs that they have not yet found and fixed! Always working to
establish a confidence in their program's correctness, a developing developer
aims to engineer and ship high-quality software that is designed, documented,
tested, and maintained according to industry best practices.
## Schedule
With the goal of enabling effective developer development, this web site
features a sixteen-week schedule filled with activities that support
the development of your professional and technical capacities and walk you
through the implementation and release of two major software projects.
Although this site is best used by an on-campus learner in the [Department of
Computer and information Science](https://www.cs.allegheny.edu/) at [Allegheny
College](https://www.allegheny.edu/), the resources and projects are all publicly
available. For instance, the following provides a list of the three textbooks
that developing developers use to hone their professional and technical skills
during sixteen weeks of personal growth:
- [Software Engineering at Google](https://abseil.io/resources/swe-book)
(abbreviated on this site as **SE**): a compelling introduction to the processes
and tools used by software engineers at Google.
- [Fuzzing Book](https://www.fuzzingbook.org/) (abbreviated on this site as
**FB**): a savvy, code-focused introduction to the automated tools and
techniques for generating software tests.
- [Debugging Book](https://www.debuggingbook.org/) (abbreviated on this site as
**DB**): an interactive introduction to automated methods for finding programmer
errors and their causes.
As the developing developers in the on-campus course read twelve articles in
**SE**, nine articles in **FB**, and four articles in **DB**, they will write a
professional précis that summarizes and contextualizes the material and points
towards a way in the lessons from these books can be applied to two long-term
software development projects. Is this challenging? *Yep*! Will learners make
mistakes along the way to developing as a software developer? *Of course*! Are
there many benefits to being a developing developer? *Yes*! For instance, the
participants of this sixteen-week course will gain valuable perspectives and
practical skills to enhance their software engineering skills while
collaboratively building and releasing two open-source tools.
## Adventure
Interested in getting started on a developer development adventure? Begin here:
- The [sixteen-week course schedule](./schedule/index.qmd) offers detailed
insights into each step that learners should take to help them to develop as
developers, including a list of reading assignment and descriptions of various
projects.
- The [course syllabus](./syllabus/index.qmd) introduces the course and its
learning objectives and explains how on-campus learners will be assessed by the
course instructor.
- The [developer development blog](./syllabus/index.qmd) includes executive
summaries of all of the key professional and technical insights that students
learned when actively engaging with the content in **SE**, **FB**, and **DB**.
The blog also contains reports from the design, implementation, testing,
documentation, and deployment of two software projects. Read more to watch us
develop as developers!
::: {.callout-note appearance="minimal" title="Developer Development Community"}
Interested in connecting with other like-minded developing developers? Please
join the [Developer Development Discord Server](https://discord.gg/aNfn8DNEMx)
and join the conversation! If you are an on-campus learning at Allegheny
College, you may also join the [Allegheny College Computer Science Discord
Server](https://discord.gg/CS2h9kXzX6). Finally, if you are an on-campus
learner, then you may schedule a meeting with the course instructor during
office hours by visiting the [Course Instructor's Appointment
Scheduler](https://www.gregorykapfhammer.com/schedule/).
:::