This document discusses the principles of clean architecture. It begins by introducing clean architecture and its main guidelines, including that architecture focuses on intended usage rather than tools/frameworks. This allows deferring decisions and changes. Clean architecture is decoupled and testable. The document then covers clean architecture schemas, with application core and layers separated from frameworks. It discusses using use cases/interactors to define interactions. While clean architecture enables flexibility and testability, it can increase code complexity through additional classes and conversions. The document debates these tradeoffs and references sources for further information.
How hard can it be to start a software development project? It can be very intimidating to start at the blank page.
This talk offers some ideas how to make getting started less scary and more enjoyable, from the first keyboard stroke to a working usable system.
A major part of our lives is working safely with production - yet few organizations today are designing production to enable higher quality and end to end verification of the code we write and deploy. In this talk, we build on the foundation of great microservice architectures to include the first class design of testability as one of the most important artifacts that high velocity and high-quality teams should consider. In particular, we’ll explore what it’s like to build quality software with no development, QA, or staging environments. We'll include a deep dive into “verification in production” and what it really takes to build software that can safely be tested continuously in production. Let’s build developer happiness by *knowing* production is correct.
Given at QCon New York June 2017
Android Clean Architecture for DummiesKengo Suzuki
Brief tutorial of implementing very primitive app(single list view) using Android Clean Architecture. It won't describe what and why, but rather, how to use it.
Practical continuous quality gates for development processAndrii Soldatenko
There are a lot of books and publications about the continuous integration in the world. But in my experience it’s difficult to find information about how to open quality gates between automated tests and to continuous integration practice to in your current project. After reading several articles and even a couple of books you will understand how to work with it. But what next? I will share with you practical tips and tricks on how to lift iron curtain to your automated tests before a continuous quality practice today. It is for this reason why I am pleased to share with you my acquired experience in my presentation.
Presentation of things learned at conferences in October and November 2011. Specifically, information about Day Camp 4 Developers, HTML5.tx, ZendCon, and RedDirt.js.
How hard can it be to start a software development project? It can be very intimidating to start at the blank page.
This talk offers some ideas how to make getting started less scary and more enjoyable, from the first keyboard stroke to a working usable system.
A major part of our lives is working safely with production - yet few organizations today are designing production to enable higher quality and end to end verification of the code we write and deploy. In this talk, we build on the foundation of great microservice architectures to include the first class design of testability as one of the most important artifacts that high velocity and high-quality teams should consider. In particular, we’ll explore what it’s like to build quality software with no development, QA, or staging environments. We'll include a deep dive into “verification in production” and what it really takes to build software that can safely be tested continuously in production. Let’s build developer happiness by *knowing* production is correct.
Given at QCon New York June 2017
Android Clean Architecture for DummiesKengo Suzuki
Brief tutorial of implementing very primitive app(single list view) using Android Clean Architecture. It won't describe what and why, but rather, how to use it.
Practical continuous quality gates for development processAndrii Soldatenko
There are a lot of books and publications about the continuous integration in the world. But in my experience it’s difficult to find information about how to open quality gates between automated tests and to continuous integration practice to in your current project. After reading several articles and even a couple of books you will understand how to work with it. But what next? I will share with you practical tips and tricks on how to lift iron curtain to your automated tests before a continuous quality practice today. It is for this reason why I am pleased to share with you my acquired experience in my presentation.
Presentation of things learned at conferences in October and November 2011. Specifically, information about Day Camp 4 Developers, HTML5.tx, ZendCon, and RedDirt.js.
A Separation of Concerns: Clean Architecture on AndroidOutware Mobile
Presented at YOW! Connected 2015 by Kamal Kamal Mohamed & Ryan Hodgman
As an Android developer, I want to deliver features without making compromises on code quality.
Scenario 1 - Given I am dealing with 1000+ line activities, When I have to develop a complicated feature, Then I waste time orienting myself and fixing bugs.
Scenario 2 - Given I have integrated a backend API directly into my app logic, When that API changes, Then I have to refactor large segments of unrelated logic in order to utilise the new API.
Scenario 3 - Given I have cleanly architected my application, When business/presentation/backend logic changes, Then I can easily update the relevant code without breaking unrelated features!
In this talk, two Android developers will present their take on what a cleanly architected app looks like and why it makes our lives easier. A well-defined separation of concerns has benefits not just for our sanity as developers, but also for the project workflow as it allows multiple developers to collaborate on a single feature with ease. We will be exploring how the domain-driven approach can improve code clarity, allow you to easily write tests, and provide a scalable infrastructure for you to quickly iterate on. Join us on our path of discovery as we discuss the advantages, drawbacks and implementation specifics in the context of a small sample project.
Jennifer Rondeau and Margaret Eker presentation from Write The Docs Prague, 2016:
Treating docs as code, an approach that more and more teams and companies are moving toward, involves more than putting the two together in a source repository. We discuss some of the details that often get lost in as dev and docs learn to work together in new ways. Because if all we do is put doc files next to code files in source control, or use parts of the same workflow for code and docs, we're still isolating docs as a separate sort of responsibility, free from the obligations of systematic review and testing without which code would never be accepted into production.
Serverless applications in Python sounds, strange isn’t? In this talk I’ll explain how to build not only crop images or select data from DynamoDB, but build real application, what kind of troubles are we should expect, how to make decision is your task fit into serverless architecture in Python or may be you should use, general approach. How fast serverless applications
written in Python, and more important how to scale it.
Driving Stage3D: A Post Mortem by Nate Beck and Jeremy Saenzmochimedia
Nate Beck (co-founder, The Engine Company) and Jeremy Saenz (principal architect, Leedo Studios) talk about their installation project where they utilized Stage3D.
Development is inherently collaborative. So why aren't you doing code review? This session discusses the importance of collaboration around your source code, the impact code review can have on development teams, and offers guidance on how to get started.
Atlassian Speaker: Matt Quail
Customer Speaker: Patrick Coleman of Dash
Key Takeaways:
* Peer code review explained
* Benefits and approaches to effective code review
There's another talk about Clean Architecture, SOLID, and our approach at InfoJobs. If you need the slides, don't hesitate to fork https://github.com/schibsted-android-training/workshop-5
We like the architecture of our applications to revolve around the business logic, not around technical details (and especially not around the database).
In my team at Sky Network Services we use the Clean Architecture and it has given us a great deal of benefits: the business logic is explicit, we are free to change our technical decisions, the app is easy to test, working on it is faster and scalable, it’s hard to do the wrong thing, and many more.
But it comes at a cost, of course. In this talk I’ll tell you the story of our experience with Clean Architecture and give you some tips to get the most out of it.
Example Project
https://github.com/mattia-battiston/clean-architecture-example
Downloads
Online: https://goo.gl/DTxftJ
PDF: https://goo.gl/ZAtdBN
Powerpoint: https://goo.gl/D54wdZ (but you need to install these fonts to see it properly: https://goo.gl/iH8SO5)
Over the last year there has been a lot of buzz about Clean Architecture in the Android community, but what is Clean Architecture? How does it work? And should I be using it? Recently at Badoo we decided to rewrite our messenger component.
Over the years this core piece of functionality in our app has become large and unwieldy. We wanted to take a fresh approach to try and prevent this from happening again. We choose to use Clean Architecture to achieve our goal. This talk intends to share our journey from theory to implementation in an application with over 100 million downloads. By the end, you should not only understand what Clean Architecture is, but how to implement it, and whether you should.
Jorge D. Ortiz Fuentes "Hands on Implementation of Clean Architecture for And...IT Event
- Implementation of the Interactor
Implement the first user story: show a list of data elements to the user. Define the first version of the immutable entities and transform them into immutable objects with the data to display.
- Implementation of the Presenter/event handler
Creation of the presenter that will talk to the view and present the data.
- Implementation of the View
How to make a dumb, but still useful view.
- A basic implementation of the entity gateway
Defer the decision of the persistence framework for later. Implement the minimum functionality in a basic object. Implications of the repository pattern.
- Connect the pieces and make it all work
Understand the way the pieces are interconnected and its memory management implications. Implement the required object and make it work.
- Proper connections. Writing a reusable way to connect the pieces and navigate.
- Review, Questions & Answers.
Commands, events, queries - three types of messages that travel through your application. Some originate from the web, some from the command-line. Your application sends some of them to a database, or a message queue. What is the ideal infrastructure for an application to support this on-going stream of messages? What kind of architectural design fits best?
This talk provides answers to these questions: we take the *hexagonal* approach to software architecture. We look at messages, how they cross boundaries and how you can make steady communication lines between your application and other systems, like web browsers, terminals, databases and message queues. You will learn how to separate the technical aspects of these connections from the core behavior of your application by implementing design patterns like the *command bus*, and design principles like *dependency inversion*.
The slides of my talk at PUGRoma.
Here, a complete sample code
https://github.com/leopro/trip-planner
Presentation is also here: http://t.co/5EK56yYBmQ
A Separation of Concerns: Clean Architecture on AndroidOutware Mobile
Presented at YOW! Connected 2015 by Kamal Kamal Mohamed & Ryan Hodgman
As an Android developer, I want to deliver features without making compromises on code quality.
Scenario 1 - Given I am dealing with 1000+ line activities, When I have to develop a complicated feature, Then I waste time orienting myself and fixing bugs.
Scenario 2 - Given I have integrated a backend API directly into my app logic, When that API changes, Then I have to refactor large segments of unrelated logic in order to utilise the new API.
Scenario 3 - Given I have cleanly architected my application, When business/presentation/backend logic changes, Then I can easily update the relevant code without breaking unrelated features!
In this talk, two Android developers will present their take on what a cleanly architected app looks like and why it makes our lives easier. A well-defined separation of concerns has benefits not just for our sanity as developers, but also for the project workflow as it allows multiple developers to collaborate on a single feature with ease. We will be exploring how the domain-driven approach can improve code clarity, allow you to easily write tests, and provide a scalable infrastructure for you to quickly iterate on. Join us on our path of discovery as we discuss the advantages, drawbacks and implementation specifics in the context of a small sample project.
Jennifer Rondeau and Margaret Eker presentation from Write The Docs Prague, 2016:
Treating docs as code, an approach that more and more teams and companies are moving toward, involves more than putting the two together in a source repository. We discuss some of the details that often get lost in as dev and docs learn to work together in new ways. Because if all we do is put doc files next to code files in source control, or use parts of the same workflow for code and docs, we're still isolating docs as a separate sort of responsibility, free from the obligations of systematic review and testing without which code would never be accepted into production.
Serverless applications in Python sounds, strange isn’t? In this talk I’ll explain how to build not only crop images or select data from DynamoDB, but build real application, what kind of troubles are we should expect, how to make decision is your task fit into serverless architecture in Python or may be you should use, general approach. How fast serverless applications
written in Python, and more important how to scale it.
Driving Stage3D: A Post Mortem by Nate Beck and Jeremy Saenzmochimedia
Nate Beck (co-founder, The Engine Company) and Jeremy Saenz (principal architect, Leedo Studios) talk about their installation project where they utilized Stage3D.
Development is inherently collaborative. So why aren't you doing code review? This session discusses the importance of collaboration around your source code, the impact code review can have on development teams, and offers guidance on how to get started.
Atlassian Speaker: Matt Quail
Customer Speaker: Patrick Coleman of Dash
Key Takeaways:
* Peer code review explained
* Benefits and approaches to effective code review
There's another talk about Clean Architecture, SOLID, and our approach at InfoJobs. If you need the slides, don't hesitate to fork https://github.com/schibsted-android-training/workshop-5
We like the architecture of our applications to revolve around the business logic, not around technical details (and especially not around the database).
In my team at Sky Network Services we use the Clean Architecture and it has given us a great deal of benefits: the business logic is explicit, we are free to change our technical decisions, the app is easy to test, working on it is faster and scalable, it’s hard to do the wrong thing, and many more.
But it comes at a cost, of course. In this talk I’ll tell you the story of our experience with Clean Architecture and give you some tips to get the most out of it.
Example Project
https://github.com/mattia-battiston/clean-architecture-example
Downloads
Online: https://goo.gl/DTxftJ
PDF: https://goo.gl/ZAtdBN
Powerpoint: https://goo.gl/D54wdZ (but you need to install these fonts to see it properly: https://goo.gl/iH8SO5)
Over the last year there has been a lot of buzz about Clean Architecture in the Android community, but what is Clean Architecture? How does it work? And should I be using it? Recently at Badoo we decided to rewrite our messenger component.
Over the years this core piece of functionality in our app has become large and unwieldy. We wanted to take a fresh approach to try and prevent this from happening again. We choose to use Clean Architecture to achieve our goal. This talk intends to share our journey from theory to implementation in an application with over 100 million downloads. By the end, you should not only understand what Clean Architecture is, but how to implement it, and whether you should.
Jorge D. Ortiz Fuentes "Hands on Implementation of Clean Architecture for And...IT Event
- Implementation of the Interactor
Implement the first user story: show a list of data elements to the user. Define the first version of the immutable entities and transform them into immutable objects with the data to display.
- Implementation of the Presenter/event handler
Creation of the presenter that will talk to the view and present the data.
- Implementation of the View
How to make a dumb, but still useful view.
- A basic implementation of the entity gateway
Defer the decision of the persistence framework for later. Implement the minimum functionality in a basic object. Implications of the repository pattern.
- Connect the pieces and make it all work
Understand the way the pieces are interconnected and its memory management implications. Implement the required object and make it work.
- Proper connections. Writing a reusable way to connect the pieces and navigate.
- Review, Questions & Answers.
Commands, events, queries - three types of messages that travel through your application. Some originate from the web, some from the command-line. Your application sends some of them to a database, or a message queue. What is the ideal infrastructure for an application to support this on-going stream of messages? What kind of architectural design fits best?
This talk provides answers to these questions: we take the *hexagonal* approach to software architecture. We look at messages, how they cross boundaries and how you can make steady communication lines between your application and other systems, like web browsers, terminals, databases and message queues. You will learn how to separate the technical aspects of these connections from the core behavior of your application by implementing design patterns like the *command bus*, and design principles like *dependency inversion*.
The slides of my talk at PUGRoma.
Here, a complete sample code
https://github.com/leopro/trip-planner
Presentation is also here: http://t.co/5EK56yYBmQ
What is quality code? From cruft to craftNick DeNardis
No one sets out to create crufty code, but too often the pressure to "push it out the door and we'll fix it later" gets the best of us all. Before you know it, it's three projects later, the sun is still shining and you're still getting a paycheck. So where is the incentive to go back and clean under the rug?
Poor core quality isn't just a developer problem, either. It bleeds into team moral, deters decision agility, and ultimately prevents team members from getting into flow.
Quality code isn't something that requires a complete rewrite either (which is likely impossible), but can be accomplished with style guides, code reviews and a devotion to team investment time.
The pressure to ship will always be there, but starting (or maintaining) projects with an agreed upon foundation alleviates developers and designers from making potentially hundreds of decisions each day. This leaves room for the decisions that actually matter.
Learn how to transform your team, regardless of your position, into a lean, mean standards machine. Develop a multi-tier style guide, workflow and practices that focus on knowledge and consensus building. Eliminate the mundane decisions and allow the team to focus on its craft.
O'Reilly/Nginx 2016: "Continuous Delivery with Containers: The Trials and Tri...Daniel Bryant
[Many thanks to Nginx for sponsoring this O'Reilly webinar!]
Implementing a continuous delivery (CD) pipeline is not trivial, and the introduction of container technology to the development stack can introduce additional challenges and requirements. In this webcast we will look at the steps that are essential for creating an effective pipeline for creating and deploying containerized applications.
Topic covered include:
- The impact of containers on CD
- Creating a container pipeline (including functional and nonfunctional testing)
- Lessons learned the hard way
A supporting O'Reilly report "Containerizing Continuous Delivery in Java" is also available, and this contains instructions and code for how to create a Jenkins-based continuous delivery pipeline that takes a series of Java applications and containerizes them, ready for functional and nonfunctional testing, and ultimately, deployment.
Building Immutable Machine Images with Packer and AnsibleJason Harley
Slides from a talk given at DevOps Toronto's monthly meetup held on Nov. 7, 2017 at Indigo Digital.
Abstract:
Immutable Infrastructure promises stability and repeatability for your environment and is considered by many to be the "enlightened stage" of an Infrastructure as Code practice. The benefits of immutability in infrastructure seem obvious: if you know a system has been created via automation that you trust, and hasn't been changed since creation, then making changes quickly seems far less risky. In a cloud-based environment, Immutable Infrastructure starts with trusted, immutable machine images. Building these images can quickly outgrow bespoke scripts, and this bespoke tooling quickly begins to feel you're duplicating effort if you already have configuration management in house.
In this talk, HashiCorp's Packer will be paired with Ansible to iteratively build and test an immutable AWS AMI. The techniques and workflow should be transferrable to other configuration management tools (Chef, Puppet, Salt, et cetera) or cloud platforms (GCP, Azure, OpenStack, et cetera).
The Architectural Thinking Behind Full Stack ServerlessYazid Hamdi
This presentations goes quickly over the interest of full stack serverless architectures over classic self-managed self-hosted ones. It discusses the tradeoffs and some fallacies.
Angular vs React Smackdown - Devoxx BE 2017Matt Raible
This talk discusses the pros and cons of Angular and React and shows how they're similar, as well as how they're different. Deepu defends React, Matt defends Angular. We'll even show you the same app created with React and Angular via JHipster.
YouTube: https://youtu.be/qYEEuiI4l10
Example projects are on GitHub:
Angular: https://github.com/hipster-labs/devoxx17-jh-angular
React: https://github.com/hipster-labs/devoxx17-jh-react
And they're deployed to Heroku:
Angular: https://devoxx-17-angular.herokuapp.com/
React: https://devoxx-17-react.herokuapp.com/
The slides from the December 2012 Cloud Camp Chicago. The slides include slides from our speakers: Dave Falck, Model Metrics: node.js on AWS; Paul Mantz, CohesiveFT: Working with APIs; Bob Chojnacki, Jellyvision Labs: Hadoop on AWS; Karl Zimmerman, Steadfast: Keep control with the Private Cloud
Theme: "Do you speak cloud? How old roles fit in with the new cloud."
CloudCamp is an unconference where early adopters of Cloud Computing technologies exchange ideas. Come share your cloud experiences, challenges and solutions. At CloudCamp, attendees are encouraged to share thoughts in open discussions and short talks. End users, IT professionals and vendors are all encouraged to come!
Dave Falck, Model Metrics: node.js on AWS
Paul Mantz, CohesiveFT: Working with APIs
Bob Chojnacki, Jellyvision Labs: Hadoop on AWS
Karl Zimmerman, Steadfast: Keep control with the Private Cloud
ContainerSched 2017 "Continuous Delivery with Containers: The Good, the Bad, ...Daniel Bryant
Implementing a continuous delivery (CD) pipeline is not trivial, and the introduction of container technology to the development stack can introduce additional challenges and requirements. In this talk you will look at the high-level steps that are essential for creating an effective pipeline for creating and deploying containerized applications.
Topic covered include:
- The impact of containers on CD
- Adding metadata to container images
- Validating NFR changes imposed by executing Java applications within a container
-Lessons learned the hard way (in production)
A supporting O'Reilly report "Containerizing Continuous Delivery in Java" will also be available, and this contains instructions and code for how to create a Jenkins-based continuous delivery pipeline that takes a series of Java applications and containerizes them, ready for functional and nonfunctional testing, and ultimately, deployment.
This talk discusses the pros and cons of Angular and React and shows how they're similar, as well as how they're different. Deepu will defend React, Matt will defend Angular. We'll even show you the same app created with React and Angular via JHipster.
O'Reilly 2016: "Continuous Delivery with Containers: The Trials and Tribulati...OpenCredo
Implementing a continuous delivery (CD) pipeline is not trivial, and the introduction of container technology to the development stack can introduce additional challenges and requirements. In this webcast we will look at the steps that are essential for creating an effective pipeline for creating and deploying containerized applications.
Topic covered include:
- The impact of containers on CD
- Creating a container pipeline (including functional and nonfunctional testing)
- Lessons learned the hard way
A supporting O'Reilly report "Containerizing Continuous Delivery in Java" is also available, and this contains instructions and code for how to create a Jenkins-based continuous delivery pipeline that takes a series of Java applications and containerizes them, ready for functional and nonfunctional testing, and ultimately, deployment.
LJCConf 2013 "Chuck Norris Doesn't Need DevOps"Daniel Bryant
We all hear the term "DevOps" being thrown around on a daily basis, but what does it actually mean? With a little help from everyone's favourite 80's action hero, we'll undergo a whistle-stop tour of the philosophy, culture and tooling behind this buzzword, specifically aimed at Java Developers. We'll also look at a real-world case study from Instant Access Technologies Ltd, and explore the key role that DevOps has played during a successful upgrade of the epoints customer loyalty platform to support increasing traffic. The core discussion will focus on the challenges encountered as we moved from a monolithic app deployed into a data centre on a 'big bang' schedule, to a platform of loosely-coupled components, all being continuously deployed into the Cloud.
DevOpsNorth 2017 "Seven (More) Deadly Sins of Microservices"Daniel Bryant
All is not completely rosy in microservice-land. It is often a sign of an architectural approach’s maturity that in addition to the emergence of well established principles and practices, that anti-patterns also begin to be identified and classified. In this talk Daniel will introduce the 2016 edition of the seven deadly sins that if left unchecked could easily ruin your next microservices project... This talk will take a tour of some of the nastiest anti-patterns in microservices, giving you the tools to not only avoid but also slay these demons before they tie up your project in their own special brand of hell.
Topics covered include:
• Envy - introducing inappropriate intimacy within services by creating a shared domain model, and how many teams deploy and use data stores incorrectly;
• Wrath - failing to deal with the inevitable bad things that occur within a distributed system;
• Sloth - ignoring the importance of NFRs; and
• Lust - embracing the latest and greatest technology without evaluating the impact incurred by these choices.
Devoxx 2017 "Continuous Delivery with Containers: The Good, the Bad, and the ...Daniel Bryant
Implementing a continuous delivery (CD) pipeline is not trivial, and the introduction of container technology to the development stack can introduce additional challenges and requirements. In this talk we will look at the high-level steps that are essential for creating an effective pipeline for creating and deploying containerized applications.
Topic covered include:
The impact of containers on Java and Continuous Delivery
Adding metadata to container images
Validating NFR changes imposed by executing Java applications within a container
Lessons learned the hard way (in production)
A supporting O'Reilly report "Containerizing Continuous Delivery in Java" will also be available, and this contains instructions and code for how to create a Jenkins-based continuous delivery pipeline that takes a series of Java applications and containerizes them, ready for functional and nonfunctional testing, and ultimately, deployment.
Rails is optimised for the first weeks of development. At the later phases it's no longer the speed of adding new views and data that matters. It's often more about the different (and changing!) ways of using the data. The business logic gets more complicated.
DDD has answers to those problems. Detecting the bounded contexts is the crucial skill. Choose which parts of the app leave as CRUD and which could go into more of the tactical DDD.
Similar to Clean Architecture by Andrzej Bednarz (20)
The Team Member and Guest Experience - Lead and Take Care of your restaurant team. They are the people closest to and delivering Hospitality to your paying Guests!
Make the call, and we can assist you.
408-784-7371
Foodservice Consulting + Design
Senior Project and Engineering Leader Jim Smith.pdfJim Smith
I am a Project and Engineering Leader with extensive experience as a Business Operations Leader, Technical Project Manager, Engineering Manager and Operations Experience for Domestic and International companies such as Electrolux, Carrier, and Deutz. I have developed new products using Stage Gate development/MS Project/JIRA, for the pro-duction of Medical Equipment, Large Commercial Refrigeration Systems, Appliances, HVAC, and Diesel engines.
My experience includes:
Managed customized engineered refrigeration system projects with high voltage power panels from quote to ship, coordinating actions between electrical engineering, mechanical design and application engineering, purchasing, production, test, quality assurance and field installation. Managed projects $25k to $1M per project; 4-8 per month. (Hussmann refrigeration)
Successfully developed the $15-20M yearly corporate capital strategy for manufacturing, with the Executive Team and key stakeholders. Created project scope and specifications, business case, ROI, managed project plans with key personnel for nine consumer product manufacturing and distribution sites; to support the company’s strategic sales plan.
Over 15 years of experience managing and developing cost improvement projects with key Stakeholders, site Manufacturing Engineers, Mechanical Engineers, Maintenance, and facility support personnel to optimize pro-duction operations, safety, EHS, and new product development. (BioLab, Deutz, Caire)
Experience working as a Technical Manager developing new products with chemical engineers and packaging engineers to enhance and reduce the cost of retail products. I have led the activities of multiple engineering groups with diverse backgrounds.
Great experience managing the product development of products which utilize complex electrical controls, high voltage power panels, product testing, and commissioning.
Created project scope, business case, ROI for multiple capital projects to support electrotechnical assembly and CPG goods. Identified project cost, risk, success criteria, and performed equipment qualifications. (Carrier, Electrolux, Biolab, Price, Hussmann)
Created detailed projects plans using MS Project, Gant charts in excel, and updated new product development in Jira for stakeholders and project team members including critical path.
Great knowledge of ISO9001, NFPA, OSHA regulations.
User level knowledge of MRP/SAP, MS Project, Powerpoint, Visio, Mastercontrol, JIRA, Power BI and Tableau.
I appreciate your consideration, and look forward to discussing this role with you, and how I can lead your company’s growth and profitability. I can be contacted via LinkedIn via phone or E Mail.
Jim Smith
678-993-7195
jimsmith30024@gmail.com
Artificial intelligence (AI) offers new opportunities to radically reinvent the way we do business. This study explores how CEOs and top decision makers around the world are responding to the transformative potential of AI.
The case study discusses the potential of drone delivery and the challenges that need to be addressed before it becomes widespread.
Key takeaways:
Drone delivery is in its early stages: Amazon's trial in the UK demonstrates the potential for faster deliveries, but it's still limited by regulations and technology.
Regulations are a major hurdle: Safety concerns around drone collisions with airplanes and people have led to restrictions on flight height and location.
Other challenges exist: Who will use drone delivery the most? Is it cost-effective compared to traditional delivery trucks?
Discussion questions:
Managerial challenges: Integrating drones requires planning for new infrastructure, training staff, and navigating regulations. There are also marketing and recruitment considerations specific to this technology.
External forces vary by country: Regulations, consumer acceptance, and infrastructure all differ between countries.
Demographics matter: Younger generations might be more receptive to drone delivery, while older populations might have concerns.
Stakeholders for Amazon: Customers, regulators, aviation authorities, and competitors are all stakeholders. Regulators likely hold the greatest influence as they determine the feasibility of drone delivery.
Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...CIOWomenMagazine
This person is none other than Oprah Winfrey, a highly influential figure whose impact extends beyond television. This article will delve into the remarkable life and lasting legacy of Oprah. Her story serves as a reminder of the importance of perseverance, compassion, and firm determination.
6. @bednarz_andrzej#DevoxxPL
Clean architecture – principles by
UB
• The only way to go fast is
to go well
• Architecture is not about
tools or frameworks
instead it screams
intended usage
• It allows to defer/change
decisions about UI, DB,
DI, frameworks
• It’s decoupled - aka
Hexagonal Architecture,
Plugin Architecture
• It’s testable (TDD)
• See Uncle Bob’s
presentation online
12. @bednarz_andrzej#DevoxxPL
How do we call an interactor?
Source: Uncle Bob, http://blog.8thlight.com/uncle-bob/2011/11/22/Clean-Architecture.html
13. @bednarz_andrzej#DevoxxPL
How do we return results?
Source: Uncle Bob, http://blog.8thlight.com/uncle-bob/2011/11/22/Clean-Architecture.html
14. @bednarz_andrzej#DevoxxPL
How do we call infrastructure
services?
Source: Uncle Bob, http://blog.8thlight.com/uncle-bob/2011/11/22/Clean-Architecture.html
22. @bednarz_andrzej#DevoxxPL
• Lots of additional code:
classes and interfaces
• DTOs and conversions
• Cost ...
The Dark Side
Img src: Uncle Bob, http://blog.8thlight.com/uncle-bob/2011/11/22/Clean-Architecture.html
23. @bednarz_andrzej#DevoxxPL
Cost – example with Rails
controller
Source: David Heinemeier Hansson - DHH, https://gist.github.com/dhh/4849a20d2ba89b34b201
Based on: Jim Weirich's "Decoupling from Rails"
24. @bednarz_andrzej#DevoxxPL
Cost – example with Rails
controller
Source: David Heinemeier Hansson - DHH, https://gist.github.com/dhh/4849a20d2ba89b34b201
Based on: Jim Weirich's "Decoupling from Rails"
25. @bednarz_andrzej#DevoxxPL
• „Coding an app in Rails is
always fun...
for the first 3 months”
• „After some time, small, little
things show up. Thin
controllers are not really so
thin anymore. The tests are
no longer below 1 minute.”
Troubles with the Rails way
Source: Andrzej Krzywda, http://rails-refactoring.com/,
http://blog.jetbrains.com/ruby/2015/03/interview-with-andrzej-krzywda/
27. @bednarz_andrzej#DevoxxPL
Easy to understand
• Explicit by design
• Clearly defined
separation of concerns
• Full control of
frameworks and tools
Clean arch – good sides
FAST
development
High
Maintainability &
Flexibility
with tests
28. @bednarz_andrzej#DevoxxPL
• Our way
• model mapper, generic classes,
lombok
• Uncle Bob’s suggestion
• Another (isolated) boundary
for DTO
• Greg Young’s suggestion
• CQRS
But DTOs and conversions - still
pain
Img src: https://www.microsoftpressstore.com/articles/article.aspx?p=2248809
29. @bednarz_andrzej#DevoxxPL
Think, what is fast and clean for
you
Img src: https://thesunnyseason.files.wordpress.com/2015/01/closet-before-and-after-1024x781.jpg