Ryan Rampersad

2023 - History


December

  • Performed the first inactive user removals in Unleash
    • Calculated additional leeway by using a 60-day baseline as 4-sprints
  • Began preparing document for the new year to announce a monolithic cloud cluster will be locked for net new deployments
    • Historically the cluster had a particular vision of being all-encompassing
    • However the reality is that many other teams and business units operate resources in the cluster
  • After exploring the vela plugin—datadog integration; formalized the an api for arbitrary analytics using datadog events
    • GitOps onboarding flow to define an analytic namespace
    • Simple curl -X POST interface to submit analytics
    • 100% test coverage
    • Implemented using Hono
  • Wrote various scripts to reliably pull and validate and backup a legacy application's DynamoDB data
  • Enjoyed a wonderful winter break vacation for 10 days

November

  • Built a dashboard that displays regularly updated k8s cluster vulnerabilities grouped by running docker image and other organization properties
    • The data is refreshed twice per day; not all images are re-scanned every day
    • The dashboard is statically re-rendered using a scheduled build
    • The dashboard uses Astro to generate its pages; this keeps it fast and reduces its own vulnerability basis
  • Began exploring a vela plugin—datadog callback integration
    • To explore usage and methodology of a dozen legacy vela plugins, adding telemetry provides these metrics
  • Formalized "Smarty" (formerly known as SmartyStreets) general availability within the organization
  • Began shutting down a legacy product that was hosted outside of typical managed cloud services
  • Attended React Summit US 2023 in New York!
  • Vacationed in New York for a week

October

  • Updated the team-managed user interface appliance for storage api
    • Participating in the the CVE cleanup campaign
    • Updated dependencies to latest versions available
    • Updated docker base images to Node 20 as it reaches LTS
    • Sent PRs to teams that consume the appliance to update their deployments accordingly
  • Updated Unleash ecosystem
    • Participating in the the CVE cleanup campaign
    • Updated docker base images to Node 20 as it reaches LTS
    • Updated GitOps based self service project provisioning codebase dependencies
    • Updated ChatOps based Microsoft Teams integration for project updates codebase dependencies, and fixed implementation
  • Updated internal blog frontend
    • Participating in the the CVE cleanup campaign
    • Updated Next 12 to Next 13; requiring various codebase tweaks
    • Updated various dependencies
    • Updated docker base images to Node 20 as it reaches LTS
  • Helped coordinate CVE strategy for CVE-2023-38545 and CVE-2023-44487; published in mid-October
    • Produced wiki pages with initial urgency guidelines
    • Added mitigation notes as necessary
  • Informed CVE cleanup campaign approach through the exercise
  • Attempted simultaneous cut-over for cross-app cross-domain okta configuration
    • Explored issues with legacy library and new emergent behavior regarding mobile device user agents with iframes

September

  • Coordinated a micro-project to enable Figma SSO
    • Reviewed the Figma SSO documentation
    • Created SAML client with AzureAD to interface with Figma SSO
    • Created basic onboarding documentation that accommodates technical and non-technical user personas
    • Outlined communication plan with internal user base
  • Assisted team with a critical incident where emails previously sent in a time window were re-sent to internal and external addresses
    • Attempted to review queue graphs
    • Coordinated stopping service traffic by turning off ingress policies temporarily
    • Coordinated stopping service queue processing by scaling subscriber pods to zero temporarily
    • Saved screenshots, logs, samples for future analysis and postmoretem
  • During postmortem, provided details and mitigation suggestions for future incidents
  • Released an initial 1.0.0 version of the Cloudflare cache purging tool based in Go
  • In anticipation of engineering support team members rolling off, programmatically opened issues in over 200+ repositories alerting teams
    • Issues provides details on circumstances and further instructions for self service resolution
  • Contributed new user interface with basic HTML, CSS (no JS) to an internal landing page, increasing usability and reinforcing branding
  • Deployed to production, for portal for portals gateway
    • Tested various reverse proxy configurations in collaboration with partner teams validating in-sync cutover
    • Reduced coupling between legacy systems
    • Used modern implementation of frontend libraries, packages (Next 13, React 18)

August

  • Analyzing existing Okta workflows, typically implemented with a non-OIDC pattern, created a prototype for Authorization Code Flow with PKCE in our tenant and configuration
    • Provided three approaches to log in
    • Seamless redirect to Sign in Page
    • Click-to-act custom layout
    • Sign in Widget
  • Leveraging potential refresh token rotation, adding longer lived client side "sessions" to increase usability
  • Documentation failure conditions for this approach
  • Looking at opportunities to reduce dependence on third party cookies
  • Helped a new team establish their frontend and backend
    • Backend stack: Node, Express
    • Frontend stack: Vite, TypeScript, React
  • Team was able to deploy frontend and backend within two days
  • Dependency upgrades for various services
    • Upgrading base images for docker node images
    • Upgrading node dependencies to reduce CVE surface area
  • Redeployed services to keep deployment cycle time low
  • Planned promotion to production from stage, for portal for portals gateway
    • Sketched out timeline
    • Sent teams chat based and issue based notifications for pre-deployment confirmations
    • Acquired credentials for testing purposes
  • Finalized deployment image
    • Added production specific environment variables
    • Upgraded dependencies for August prior to launch

July

  • Produced initial draft of materials for platform roadshow
    • Providing examples of what the platform is typically or historically thought-of-as, and what we should think about it today
    • Providing examples of capabilities the platform offers relative to other neighbor platforms
  • Created a proof of concept for migrating a tightly coupled frontend user interface out of a proprietary hosting solution and onto to general purpose infrastructure
    • Used nginx as an image base
    • Created general routing rules to match the existing format intended for drop-in-replacement
    • Generated the SPA-bundle using the in-house solution
    • Used string transform commands (sed) to globally replace hardcoded strings that should have been environment variables
    • Due to limitations with a user information service network connectivity, implemented a /api_gateway reverse proxy through nginx to the underlying deployment
    • Demonstrated proof of concept to team and was warmly received
  • Helped migrate old platform documentation repository into a new clean repository while maintaining history
    • Added new deploy preview feature so that casual contributors can easily see their contributions in-situ before merge
    • Re-enabled issues for the documentation repository so requests for additional documentation and clarifications can be made and tracked
    • Re-aligned on naming conventions for dns
    • Re-aligned on internal and public team naming conventions
    • Added emoji where necessary
  • Received prevailing organizational goals and adopted their broad themes across general working activities
    • Contributed to the Security findings goal and Stability goals
  • Graciously accepted tickets to React Summit 2023 in New York
  • Began planning conference trip and vacation for November

June

  • Began initial testing for bulk migrations of repositories out of a centralized GH Organization into product oriented GH Organizations
    • Created mock organizations
    • Created mock repositories in various configurations (with, without, tags, branches, issues, secrets, special settings, etc)
    • Using a previously built automated migration script, tested and documented results
    • Wrote top level guide and presented easy to read FAQ to participating teams
  • Continued refinement of the Cloudflare cache purging tool based in Go using feedback from a fulltime Go software engineer
  • Published an early preview of the open source re-implementation (of the ui that was previously in Elm)
    • Presented work at a joint hackathon
    • Showcased our port; being 1-to-1.3̅3̅3̅ rather than 1-to-1
    • Wrote a proposal aiming to build a broader consensus
  • Introduced my new internal /todo scheme, where my work-at-work is more transparent and more accessible using a simple Github Projects board to manage and share; with columns for…
    • 📜 Backlog: where all ideas and tasks begin and most likely stay
    • 🧑‍⚖️ Advising: consulting, evangelism, architecture, advice
    • 🤔 Consideration: thinking about, possibly prototyping
    • 📧 Delivery: writing code, intended for delivery
    • 🎉 Fun: activities that are fun
    • ✅ Done: "file's done"

May

  • Promoted rebuild of portal for portals gateway into stage environment to begin long term soak test
    • Triaged breaking changes in consumed packages
    • Triaged incoming bug reports based on internal usage (dogfooding)
    • Integrated analytics package
    • Integrated datadog rum package
  • Rebuilt, for the third time, a Cloudflare cache purging tool in Go
    • Previous iterations were in Rust; which while perfectly powerful as a solution, was quite overkill and our ecosystem is not generally proficient in rust
    • Previous iterations were in TypeScript: which while certainly capable as a solution, was not aligned to most of our ecosystem's traditional infra-oriented tooling stack
  • Began working on an open source alternative implementation of a frontend user interface that was previously implemented in Elm
    • Recognized that Elm has a small community and small ecosystem
    • Exploring a stack comprised of TypeScript, React & Vite and other ecosystem tooling that is more accessible for casual contribution from typical webapp software engineers
    • Re-implemented majority of read-only workflows
    • Many polishing opportunities remain
  • Helped technical writer compose content for tutorials on Static Websites with Vite and WebApps with Next
  • Attended Open Source North 2023 in beautiful Saint Paul, Minnesota at the lovely Saint Thomas University campus
    • Saw many current and old friends in person at the event
    • Watched a bunch of great talks and presentations from various presenters, highlights on disaster recovery, platform engineering approaches, and more

April

  • Began working full-time at Cargill
    • Assumed formal title of Lead Software Engineer and socialized title of Enabler-in-Chief

April

  • Helped document a friction logging process for an Email API service platform offering
    • Used a markdown based worksheet
    • Narrated the actions and thoughts while going through the documentation and performing the steps
    • Added clear markers on segments that were low and high friction
  • Continued facilitating a potential connection with a client team for technical writing
  • Continued direct report 1:1s
  • Resigned from Daugherty

March

  • Finalizing rebuild of portal for portals gateway
    • Promoted builds int environment
    • Began soft testing new builds in stage during low traffic periods
  • Helped stub out a new application with Rapid Application Development (RAD) techniques
    • Bootstrapped codebase with vite with react-ts
    • Based on existing mockups, stubbed out placeholder screens with basic one level routing with React Router
    • Based on existing mockups, stubbed out basic navigation ui with themed mui components
    • Stubbed out extremely basic datasets using faker with a seed for stability, to tell a story with the screens
    • Setup deployment so stakeholders could interact with the app easily
  • Continued facilitating a potential connection with a client team for technical writing
  • Continued direct report 1:1s
  • Traveled to South Carolina to work remote-remotely
  • Working at home

February

  • Continued rebuilding portal for portals gateway
    • Tested portal-to-portal workflow
    • Gathered per-environmental configuration values from various sources
    • Setup deployment pipelines for the six environments, eng, dev, qa, int, stage and prod to provide an environment for engineering team, plus the standard environments for customers
    • Customized next.config.js, augmenting environment variables for build info (commit, time, number, env)
    • Began setting the standard analytics package integration for customer facing websites and apps
    • Promoted builds from eng environment to dev, and then qa environments
  • Began facilitating a potential connection with a client team for technical writing
  • Continued direct report 1:1s
  • Working at home

January

  • Began rebuilding portal for portals gateway with Next, Material
    • Re-implemented core pages
    • Re-implemented various content widgets
    • Re-implemented Okta token exchange pattern
    • Implemented a safe Okta bridge with Next
    • Setup various portions for other team members as scaffolding
  • Celebrated sister team's milestone achievement; migration off of legacy hosting solution
    • Providing advice and scaffolding to the team as they migration off of legacy implementation solution
  • As an emergency hotfix, rebuilt an email integration in a maintenance mode service
    • Existing service used decommissioned smtp provider
    • Rewrote application's email abstraction to use new provider
    • Integrated with AzureAD for Client Credentials authentication
  • Continued direct report 1:1s
  • Working at home

Browse by Year