forked from TeamDevDev/www.developerdevelopment.com
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.qmd
141 lines (115 loc) · 6.33 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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
---
pagetitle: "Developer Development"
page-layout: article
title-block-style: default
title-block-banner: false
listing:
- id: featured-posts
contents:
- "blog/**/*.qmd"
- "!blog/index.qmd"
sort:
- "date desc"
- "title"
- "author categories"
type: default
date-format: "YYYY"
sort-ui: false
filter-ui: false
fields: [author, title, date, description, reading-time]
max-items: 5
page-size: 5
---
![**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.
## Course Schedule
With the goal of enabling effective developer development, this web site
features a [sixteen-week schedule](schedule/index.qmd) 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.cis.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
collaboratively write and publish 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 abilities as a software engineering while collaboratively
building and releasing two open-source tools.
## Awesome 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](./blog/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!
## Recent Posts
To best ensure that the on-campus learners develop individually in their
capacity as team members, everyone partners with the course instructor to draft,
write, review, and publish [blog posts](blog/index.qmd) that support class
discussions. These articles represent the current state of a person's knowledge
and skills in both the technical and professional aspects of software
engineering. Here are the most recent posts that we have written!
:::{#featured-posts}
:::
## Cool Software
Since a key component of developing as a developer is the specification,
design, implementation, testing, and deployment of production quality software,
this site equips learners with the skills and tools to create and maintain
open-source software projects, including (but not limited to) the software
projects in the following list:
- [Cellveyor](https://github.com/GatorEducator/cellveyor): Easily convey
reports from Google Sheets to GitHub
- [Chasten](https://github.com/AstuteSource/chasten): Check a program's AST for
specific code patterns
- [ExecExam](https://github.com/GatorEducator/execexam): Run executable
examinations to assess programming skills
- [GatorGrade](https://github.com/GatorEducator/gatorgrade): Python front-end
for the GatorGrader assessment tool
- [GatorGrader](https://github.com/GatorEducator/gatorgrader): Automated
assessment for source code and writing
::: {.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/).
:::