i360 Dev 2022

At the end of August 2022 I was able to attend https://360idev.com/

 

Sunday August 28th

I360 Dev pre conference workshops

 

Entry and greeting

Swag that I was given

Design System vs Style Guide

Never constrain width or height of any view that contains text

  • Device size
  • Device orientation
  • Localization
  • Dynamic type

Xcode 13.4.1

Tutorial project

https://github.com/mpospese/DSTutorial

 

Optional:

  • Figma.app (in case you don’t like the website)
  • https://www.figma.com/downloads/
  • Base Design System (Uber)
  • https://www.figma.com/file/eit8RZXY7SDkYDYJIHGIi3/%E2%9D%96-Base-Gallery-(Community)
  • Your Design System (in case you want to build colors / typography, etc. from that)

https://www.figma.com/downloads/

  • Download Figma Desktop Apps, Mobile Apps, and Font Installers
  • Download the Figma desktop app for macOS or Windows as well as the font installer and device preview apps (40 kB)
  • https://www.figma.com/downloads/
  • Check out https://webaim.org/
  • Identifying and Fixing ios Accessibility issues
  • What does accessibility mean to you?
  • Accessibility is Usability
  • Microsoft Accessibility ToolKit
  • European Accessibility ACT
  • Section 508 & ADA
  • Cognitive
  • Learning Difficulties
  • Anxiety
  • Mental Illness
  • Illiteracy
  • Low education
  • Non-native speaker

Motor

  • Missing digits
  • Restructured movement
  • No movement
  • Lack of fine motor skills
  • Gestures
  • Voice control

Vision

  • Colour Blindness
  • Low vision
  • No vision
  • Zoom
  • Voice over
  • Animation
  • Dark mode
  • Adjustable text sizes

Hearing

  • Deaf
  • Play controls for audio
  • Separate volume controls

How to find them?

Accessibility Accessor in Mac OS

To join the workshop you’ll need a Mac with Xcode installed, and you’ll need to clone this repo:   https://github.com/rwapp/GalacticHolidays

Mon August 29th

Keynote

  • I always let the current job define me
  • A mental Reset
  • Code is Ephemeral
  • Products evolve
  • Technology evolve
  • Jobs are Ephemeral
  • Relationships are Forever
  • How do we foster
    • Be kind
    • Be aware
  • Adjusting Priorities
  • Even when world is shattered I can still do this.
  • A blueprint for caring less
  • Leave work at work
  • “Have fewer useless opinions”
  • Embracing rediscovery

Using metric kit to measure app performance and stability

  • MetricKit is a new framework in iOS 13 for collecting and processing battery and performance metrics
  • A way to pull out key metrics on going live
  • SwifitUI performance for demanding app
  • Keep view body simple
  • Owned data is @stateobject
  • Passed data is @observedObject

Advanced Code-able

  • App.quicktype.io
  • “Data drives your app. You have to think about it.”
  • Common patterns
  • AnyCodingkey/multiple containers
  • Drilling down with nested containters
  • Top-level wrappers, custom or dictionaries
  • Engineering Beautiful and Accessible Text
  • y-mattertype
  • github.com/yml-org/ymatterType
  • Making Text Accessible
  • Accessibility Labels
  • WCAG 2.0 Contract Checking

August 30th

The Darkside of Diversity & Inclusion

  • Why diversity?
  • Can you measure?
  • How to measure improvements?
  • What is the problem?
  • Culture Fit
  • Unconscious bias
  • Tribal mentality
  • Actual Racism/Ableism/Bigotry
  • You can cultivate inclusion if you don’t feel safe.
  • Learn Respectful Discourse
  • “When I argue I wanted to be right” when I argue I represent other people
  • “It doesn’t matter to be right, when others are suffereing”
  • What can we do?
  • Advocate for others
  • Be outspoken
  • Swift Plugin

A Discourse in Humane Development

  • Short term memory
  • Extensive Capactiy
  • Active working memory
  • Cognitive

So I was a Intern in 1999

1999

Sometime in the spring of 1999 i spent a week emailing every company on www.careerlink.org looking for a internship. Of all the companies I emailed only 1 of those companies responded. Farm Credit Services of America. This lead to a phone interview and a in person interview at the Farm Credit Building on 19th and Douglas

 

. My interview consisted of asking me what I want to do. Which is programming and going down to the cafeteria to buy a pop. After being told I was hired on that day. I was told I would receive a letter in the mail in a few weeks to accept the offer officially.

 

When I received the letter and saw my hourly rate. I thought $13.00 an hour was a big deal. The previous summer I think I made $6.25 an hour.

My internship was from May to August.

Highlights on which I can remember.

The company took all interns to Des Monies to see a Iowa Cubs baseball game, farm visit and to just hangout for a few days.

 

My project was taking employee images off a 3.5 floppy disk. There were about 300 disks which 6 to 9 images on them. It took about 3 weeks to manually do this.  Saving them by networkid to a shared location. Then writing a program that would auto size them in VB6. The image was for the Company Directory so you can see who a person was.

This was for Access America which looked at the time.

 

So before the internship ended. I talked to the leader about being a full time employee when I graduate. He said reach out next year.

April 2000

So a few weeks before my graduation in April I get a call from Farm Credit Services of America having a developer position open. I never did apply for that position and didn’t get a interview. I was called two weeks before I was to graduate and told they hired another person, but because they like what I did during my Internship they created another position for me.

I started May 15, 2000. That day I started my professional career and had my first team outing that Friday.

 

Last thoughts

Come to think of it, I never actually applied for a position here. I just kept showing up everyday and getting paid.  So I am probably just on my 20+ year of being a intern. Come Monday I wonder if I will still be technically employed?

Let me know your thoughts.

Remember the reason of being a intern is to make where you are at, World Class.

 

AWS re:Invent 2022

I was able to attend AWS re:Invent in Las Vegas from November 28th to December 2, 2022.

AWS re:Invent is a learning conference hosted by AWS for the global cloud computing community.

Reasons to Attend AWS re:Invent

  • Get focused and actionable aws content for taking both my employer and career to the next level. This unique conference offers a depth and breadth of technical and nontechnical content to refine cloud strategy, improve developer productivity, increase application performance and security, and reduce infrastructure costs.
  • 150+ Deep Technical Sessions
    • Discover application architecture and development tips for apps I care about: web, mobile, serverless.
  • Our 100+ partners featured in the Expo have achieved AWS partnership, which means they have proven abilities to support you in scaling your security efforts.
  • Get your questions answered by the engineering teams that built the AWS Cloud in “Office Hours” and sessions lead by AWS architects, developers, and product leads.
  • Engage with other AWS users to share use cases, and connect with diverse professionals from around the world.

As an attendee you pick the sessions and schedule you want. I did find myself changing schedules hourly based on availability and campus.

The sessions are record for most part. A attendee is able to go back and watch on demand.

Aws Reinvent Day 1

Application Integration Patterns for Microservices (session)

Developing Ci/CD pipelines with AWS (session)

  • (chalk talk)
  • AWS code pipeline
  • Easy for organization to replicate a good tool
  • Observability
  • Security
  • Authorizations
  • Ux
  • Shared libraries
  • Chaos testing
  • Static Code Analysis
  • Rollback is always a option
  • Make it harder to do the wrong thing
  • Enablement and education
  • Building a community (start with this so conversations are easier)
  • Make it easy and right thing
  • Boiler-plate
  • Measure adoptions, report
    • Metrics (# of deployments, #of rollbacks)
  • Embrace
    • Security, operations, quality
  • Project Planning
  • Dashboard
  • Tech debt reduction

Aws AppSync workshop

https://awsworkshop.io/

Building modern data architectures on AWS (session)

  • Data Strategy- start anywhere
  • Unify
  • Modernize
  • Innovate
  • Modern data Architecture
  • Catalog
  • governance
  • data at any scale
  • best price performance
  • data access
  • AL & ML
  • Data Discovery
  • Seamless data integration with AWS Glue
  • Building event-driven architecture with ios sensor data
  • Best practices
  • Data discovery
  • Define business value
  • Migrate and modernize
  • Data tiering
  • S3 storage
    • Use iam across
  • Encrypt data rest and in-motion
  • Store the data in optimum format

AWS ReInvent Day 2

Modernize your iOS Build Pipelines with Amazon EC2 Mac Instances

  • How to manage mac instance on EC2
  • AWS Nitro architecture
  • Amazon EC2 M1 Mac Instances
  • EC2 make gets same experience on EC2
  • Don’t want build to talk to internet
    • Private subnet
    • Security concerns
  • Technical Deep Dive
  • Run aws api to create mac instance
  • FirmWare is set by amazon
  • Automate
    • How to install xcode?
    • Sometimes you need full disk access
    • Over provision
    • Cost perspective will be for hosts
    • Use AWS services from on-premise environment
    • Customers who got best value
  • Migration opportunity helps evaluate architecture

Operational Best practices for Event-Driven Architectures

 

  • AWS Operation excellence
    • Activities after workload
    • Operate and Prepare
  • Api (rest)
    • Swagger/sdk
  • Event Consumption
    • Schema registry
  • Backward capability
  • Mitigate deployment risks
    • Small changes
    • Cd/cd
    • Testing

When we saw event-driven it is decoupled, but semantically there is coupling

Versions and event filters

  • Schema registry is managed by a producer
  • What if we push both versions?
  • How do you reach consensus between producer and consumer?
  • Schema Testing:
  • Schema diff id: swagger and schema
  • Do this in an automated approach? Ci process???
  • Ambiguity
    • You may not be able to catch everything
  • Schema repository Testing
  • AS a consumer you can be selective on processing fields
  • You can add logging and meta data to a contract
  • Testing
  • Emulation
  • Mocks
  • Testing in the cloud

Build with Prototype: Be a customer obsessed developer

  • Goals
  • Industry patterns to inform product roadmap
  • Enabled feedback flywheel
  • Ownership-> expertise – insights
  • Iterate quickly
  • Engaging the developer Community
  • Prototype
  • Graph QL API Accelerator
    • Accelerator Endpoints for developer and test
  • Blue print application
  • Enrich the developer experience
  • Customer Obsession
  • What is around the corner
  • Collecting meaningful feedback
  • Ramp up time

Create a Mobile Service for enterprise success

  • Learn what scalability is in mobile service and factor it into a service connection
  • Solutions as patterns
  • Capabilities of a scalable mobile service
  • Secure
  • Resilient
  • Elastic
  • Modular
  • Automated
  • Interoperable
  • Pivoting to a API Gateway Pattern
  • Front door or façade pattern
  • Minimal impact on existing services
  • Rollout new services incrementally
  • Visibilities of API
  • Static Content Hosting Pattern
  • DATA per service/materialized view
  • Scalability
  • Highly available
  • Caching when possible
  • CloudFront? Amazon S3
  • Amazon DynoDB
    • Key Value
    • In memory cache
  • Performance optimization: Effectiveness
  • Spatial Locally Pattern
  • Pre-Calculation Pattern
  • Event Based Async Patterns
  • Optimization
  • Separate read and write stories
  • Store pre-calculated data nearby
  • Redundant data when necessary to minimize resource consumption
  • Extensibility
  • Pub/sub pattern
  • Orchestration pattern

AWS Day 3

Modern Mobile Application

Best Practice for securing your software delivery lifecycle

  • Security Challenges
  • Compliance and security
  • When you have a security incident
  • DevOps is a philosophy not a team
  • DevSecOps
  • SLSA Framework
  • Guardrails
  • Security is a conscious process
  • Software bill of materials (SBOM)

Build Machine learning models efficiently with Amazon SageMaker notebooks

AWS Day 4

Advance Serverless workflow patterns and best practices

https://serverlessland.com/reinvent2022/api309

  • Step Functions
  • From code to workflow
  • Standard vs Express
  • Cost is better for Express
  • The “REST” Easy Pattern
  • The “Call Back” Pattern

Automating and evidencing key compliance security controls

  • 3V’s
  • Cloud aptitude
  • Mental Models
  • Plan for risk management

Replay

Replay is the after party event for AWS which allows you to unwind after a long four days of training.