[Linux-aus] Become C programmer

dvalin at internode.on.net dvalin at internode.on.net
Thu Jun 1 16:35:16 AEST 2023


 On 31.05.23 18:22, James Cameron via linux-aus wrote:
> You can deepen this, using tools such as the source code, gdb,
strace,
> valgrind, and tcpdump.  Use them on top of how you use the
programs.

In a career in embedded systems, I only used gdb out of that lot. (But
perhaps should have used valgrind.) I did find Exuberant Ctags great
for
navigating code. (Though it's no longer distributed with Vim)
Familiarity with a VCS is an asset. (It's all GIT now, so my CVS
skills
are very Last Century.)

When running teams, my first three rules were: Confirm that the code
repository backups work. Confirm that the code repository backups
work.
Confirm that the code repository backups work.

While working in the solution domain, problem domain awareness that
comes from understanding the hierarchical refinement of "What -> How",
descending from a Customer Specification, through a System
Architecture
and Implementation Specification, down to module implementations,
makes
a developer more able to work with minimal supervision. (Works best
when
the project schedule includes module and subsystem tests prior to
system
testing.) But that comes with experience.

Incidentally, it appears that the Japanese Moon Lander crashed from 5
km
up, because management changed the landing zone, without rerunning the
simulation testing of the software. The new path sent it over a high
crater lip, the software then flagged (good) radar altimetry as bogus,
losing vital navigational feedback. The lower crater floor apparently
contributed to running out of fuel before touchdown.
The point?: Regression testing must include not only code changes.
(I never allowed any requirements change without an incremental
requirements analysis, a project delay and resource cost estimate, and
a
meeting at which the proposed change could be withdrawn.)
The point?: Except for the first one, and one where requirements were
regularly changed due to the need for compatibility with an external
system, over 30 years the projects finished on time and on budget.

While managing teams, I had time to do some Solaris & Linux sysadmin,
so
can understand the motivation to move from visible problems and
invisible successes to creative endeavour with demonstrable
successes.Good Luck!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linux.org.au/pipermail/linux-aus/attachments/20230601/5625a20d/attachment-0001.html>


More information about the linux-aus mailing list