Skip to content

Commit

Permalink
post: journal week starting 17 February 2025
Browse files Browse the repository at this point in the history
  • Loading branch information
practicalli-johnny committed Feb 19, 2025
1 parent df0d83d commit 1a0e83b
Showing 1 changed file with 324 additions and 0 deletions.
324 changes: 324 additions & 0 deletions docs/posts/2025/february/17.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,324 @@
---
title: Learning to live again
date:
created: 2025-02-17
updated: 2025-02-17
authors:
- practicalli
categories:
- practicalli
tags:
- practicalli
draft: true
---

Hopefully a very productive week

TODO:

- Practicalli Clojure CLI Config update (oudated)
- Practicalli Project Templates update (oudated)
- Practicalli Rust - more content
- prep for job interview
- job interview (EM)
- digital archive clean up continues
- unclogged central heating (3 way port motor blockage)
- at least 1 bicycle ride
- Heart points and steps for each day

Very productive start tot the week and I am feeling much more like myself again. I thrive when I am getting things done whether that be a large or small task.

This weekly journal is updated most days and gives an easy way to capture and more importantly review what I've been up to. Especially when doing many small and disparate things, it is easy to forget what was done. The journal keeps my brain active and allows me a central place to review my activities (and feel good about them).


<!-- more -->


## Engineering

Joining a new team

- what deadlines and expectations does the team have? (sets the pace of the EM on-boarding with the team)
- review the foundations (communication, trust)
- review working practices (are they helpful or getting in the way)
- avoid introducing new actions before reviewing what works well (and not so well)


## Debian

Updated Gkar computer running Debian testing.

Interesting aspects to review in the changelog shown when running the `apt upgrade` command.

??? INFO "Changelog from update on 2025-02-18"

```shell
apt-listchanges: News
---------------------

curl (8.8.0-2) unstable; urgency=medium

The curl CLI is now using GnuTLS instead of OpenSSL:
This change was required in order to enable support for HTTP3. We are still
providing an OpenSSL backed libcurl so dependencies are not affected.

In the unlikely case that you notice a regression in the curl CLI due to
this change, please open a bugreport.

The curl CLI now supports HTTP3:
You can now call curl with "--http3-only" or "--http3".

wcurl - a simple wrapper around curl to easily download files:
We started shipping an utility for users who just need to download a file
without having to remember parameters. This utility will pick sane defaults
and is supposed to be a replacement for the simpler uses of wget.

By default, wcurl will:
- Percent-encode whitespaces in URLs;
- Download multiple URLs in parallel if the installed curl's version is >= 7.66.0;
- Follow redirects;
- Automatically choose a filename as output;
- Avoid overwriting files if the installed curl's version is >= 7.83.0 (--no-clobber);
- Perform retries;
- Set the downloaded file timestamp to the value provided by the server, if available;
- Disable **curl**'s URL globbing parser so {} and [] characters in URLs are not treated specially;
- Percent-decode the resulting filename;
- Use "index.html" as default filename if there's none in the URL.

A manpage is provided as well, check wcurl(1).

Example to download a single file:
$ wcurl example.com/filename.txt

-- Samuel Henrique <[email protected]> Sun, 30 Jun 2024 13:53:05 +0100

ipxe (1.21.1+git20220113.fbbdc3926+dfsg-3) unstable; urgency=medium

ipxe now splits bootable images and grub scripts into a new binary
package: grub-ipxe. This includes ipxe.lkrn for BIOS on i386 / amd64,
ipxe.efi for UEFI on all supported architectures, and some relative
maintainer scripts to add / remove ipxe to / from the grub menu.

If you are booting ipxe physically on your machine, please make sure
grub-ipxe is also installed. Should you are using handcrafted grub
configs / scripts for ipxe, we suggest removing them and re-generate
the grub config to avoid possible duplication / conflicts.

-- Shengqi Chen <[email protected]> Mon, 03 Feb 2025 04:23:45 +0800

apt (2.9.24) unstable; urgency=medium

/etc/apt/trusted.gpg is no longer trusted. Setting the Dir::Etc::trusted
option manually continues to work for some more time.

sources.list(5) entries without the Signed-By field are deprecated;
migrate any legacy entries to the deb822 .sources format. See the
apt-secure(8) manual page for best practices for signer configuration.
This deprecates the /etc/apt/trusted.gpg.d directory.

-- Julian Andres Klode <[email protected]> Tue, 21 Jan 2025 12:17:36 +0100

openldap (2.6.9+dfsg-1~exp2) experimental; urgency=medium

The TLS library used for the OpenLDAP packages has changed from GnuTLS to
OpenSSL. This affects the set of configuration options available, as well as
the behaviour of some options.

If no TLS CA certificates are specified, the system default trust store will
now be loaded automatically. If you do not want the default CAs to be used,
you must configure the trusted CAs explicitly.

Previously, the TLS_CIPHER_SUITE option accepted a GnuTLS priority string.
Now, the option accepts an OpenSSL cipher list. For information about the
cipher list format, see the openssl-ciphers(1) man page.

The TLS_CRLFILE option is no longer supported; it is accepted, but silently
ignored. Use the TLS_CRLCHECK option instead. The TLS_CACERTDIR option must
also be set.

For more information about the libldap configuration, see the ldap.conf(5)
man page.

For more information about the slapd(8) configuration, see
/usr/share/doc/slapd/README.Debian.gz.

-- Ryan Tandy <[email protected]> Fri, 10 Jan 2025 18:17:14 -0800

pam (1.7.0-1) unstable; urgency=medium

Starting with pam 1.7.0, pam_limits does not automatically reset the
limits of logged in users. This means that systemd, rather than pam will
set the defaults for things like number of open files and other resource
limits. If limits are configured in /etc/security/limits.conf or
/etc/security/limits.d/*.conf, these values will be respected. To
restore the previous behavior, add the set_all option to pam_limits.
For example in /etc/pam.d/ssh, replace:

session required pam_limits.so

with:

session required pam_limits.so set_all

-- Sam Hartman <[email protected]> Tue, 14 Jan 2025 15:47:56 -0700

pam (1.5.3-7) unstable; urgency=medium

Starting with PAM version 1.5.3, Debian supports usergroups for default
umask of users logging in. If the primary group name of a user
matches their primary user name (user pat's default group is also
called pat), then files will be group writable by default. To disable
this use a group name that differs from the user name or add
nousergroups to the pam_umask line in
/etc/pam.d/common-session and
/etc/pam.d/common-session-noninteractive:

session optional pam_umask.so nousergroups

-- Sam Hartman <[email protected]> Mon, 08 Apr 2024 16:15:58 -0600

tzdata (2024b-6) unstable; urgency=medium

Previously, the tzdata package in Debian used the /etc/timezone file to
configure the system's timezone. This method is not supported by systemd
and certain desktop environments, which instead only change the
/etc/localtime symlink to point to a file in /usr/share/zoneinfo.

For this reason, starting with version 2024b-5, the tzdata package no
longer automatically creates the /etc/timezone file, but still updates it
if it exists. In a future release, support for the /etc/timezone file will
be completely removed. The debian-installer from Trixie also no longer
creates this file.

The system's timezone configuration can still be done interactively using
Debconf by reconfiguring the tzdata package, using 'dpkg-reconfigure
tzdata'. The way to programmatically read or configure the system's
timezone is described in /usr/share/doc/tzdata/README.Debian.

-- Aurelien Jarno <[email protected]> Mon, 13 Jan 2025 23:25:11 +0100

git (1:2.47.1-1) unstable; urgency=low

The git-daemon-sysvinit and git-daemon-run service configuration
packages have been removed, as they were security-sensitive, had
low usage, and were not actively maintained. Moreover, they are
difficult to run safely because git:// protocol does not include
built-in privacy or integrity guarantees on the channel it sets
up. See git-daemon(1) for information on how to configure
git-daemon to be run and serve using inetd and similar service
runners, or see the gitolite package for an example of how to set
up a safer git server configuration.

-- Jonathan Nieder <[email protected]> Thu, 02 Jan 2025 13:29:44 +0100

```



## Interview questions

I had an interview for an Engineering Manager this week and the company provided questions in their candidate pack. However the actual questions asked in the interview were quite different, so I probably waffled on too much as I felt unprepared.

Preparing answers for the supplied questions did take about an hour and a half. I found it a useful exercise even though I didnt get asked the same questions.

It was quite rewarding reviewing my experiences and the lessons I learned along the way.

Regardless of if I progress to the next stage, it was valuable time spent.

The following are questions and answers prepared, removing specific companies and persons to protect the innocent :)


### What achievement are you most proud of within your team(s)?

Situation: Support team members to be promoted
Actions:
- regular 1-2-1 sessions with a mentor focus, identify gaps in skills & experiences, discussed ways to make engineers more visible to managers (and Organisation)
- additional mentor session for an engineer wanting to become an engineering manager
- "bragging doc" created as a way for engineers to appreciate the work they had done, building confidence
Result: 3 engineers promoted over a 6 month period (would have been quicker if budget allowed)

Situation: Poor relationship between Application support & Stakeholders
As Engineering Support Manager, encouraged the team to talk to end users directly by doing so myself. Most end users were in a building around the corner, so it was a good opportunity to get face-2-face time and really understand support issues and their impact.
Result: re-prioritised many issues and built a closer relationship with stakeholders, increased business efficiency.

Situation: Managing teams across multiple geographical areas (and languages Shanghi, China) with limited tools (phone)
Actions:
- knowledge share wiki
- educate teams on all things related to Citi procedures (change advisory board, CI, Library repositories, etc)
- organised video calls for interactive knowledge sharing for teams that built on each others work
Results: motivated engineers, more comfortable seeking help from each other, better docs and quicker integration

Situation: Helping SaaS customers do more
Action: Created practical learning guides for SaaS Admins
Result: Created content for a learning platform build on the SaaS product directly, allowing anyone to build Apps & Integration and have their work verified.

Situation: On-boarding myself and a new team member
Actions:
- refactor outdated docs & simplify content
- adding important improvements (Git commit signing with SSH keys)
- Worked with IT and Ops teams to remove duplication
- linked to new content from the old to help with discovery (if people were relying on older browser bookmarks)
Results:
- on-boarding development environment down to a day rather than weeks
- website with step-by-step guides to quickly get engineers up to speed


### How do you measure success, quality and accountability?

- did we meet our goals (within expected time frame / deadlines)
- how well did we understand our goals (did DONE change)
- how well did we understand the value of the work


Situation: Project over-runs
Action:
- Pushed back several projects that were not well defined or sufficiently valuable at the current time.
- Worked with Product team to identify clear priorities
- Worked with management & CTO to identify clear ownership and responsibilities

- Billing system: a rushed project initially due to very short deadlines, worked with the team to create clearer weekly & monthly goals and discover what DONE really looked like. Refined goals together and weekly planning meeting so there was a shared understanding. Reached out to the Accountancy team which was in its infancy so initially hard to get stakeholder feedback, organised regular demos to ensure DONE was a shared understanding. Took pressure of tight deadlines by working with Accountancy team to understand when specific features would be valuable, allowed for a more realistic deliverable plan.

- API Security enhancements: already had API token, HTTP Message Signature became draft standard so was viable to be adopted

- Transactional Fairness: long term benefit, exploratory project with low priority but highly valuable long term benefits (business growth was slower)

- API versioning: not well defined, approach required huge amount of refactor, project terminated as only limited value to the business and customers compared to other work

Result:
- Each project had a clear value, priority and value to the business (this removed a lot of confusion and repeated conversations)
- Each project had weekly & monthly goals
- Regular stakeholder demos for feedback and increase project confidence


### Ways of working - motivation, collaboration, risk etc

Situation: inconsistent experiences across the team, no space for discussion on ways of working
Actions:
- Specific ways of working retrospectives
- Identify constraints / blockers to getting things DONE
- Encouraged issues to be captured as they were experienced.
- Discussed small changes in Chat
- Larger changes in retrospective actions or in Tech tidbits (regular meeting to share experiences and get help on larger challenges).

Results:
- effective knowledge sharing, especially for newer members of the team
- capturing tacit knowledge (experiences) and sharing across team and Organisation
- identified tech debt that impacted project delivery


Situation: Engineers unclear of value of a project,
Action: worked with product to clearly define value, priority and time constraints




---
Thank you.

[:globe_with_meridians: Practical.li Website](https://practical.li){target=_blank .md-button}

[:fontawesome-brands-github: Practical.li GitHub Org](https://github.com/practicalli){target=_blank .md-button}
[:fontawesome-brands-github: practicalli-johnny profile](https://github.com/practicalli-johnny){target=_blank .md-button}

[:fontawesome-brands-mastodon: @practicalli@clj.social](https://clj.social/@practicalli){target=_blank .md-button}
[:fontawesome-brands-twitter: @practical_li](https://twitter.com/practcial_li){target=_blank .md-button}

0 comments on commit 1a0e83b

Please sign in to comment.