How to "think" (and design) like a Software Architect at Silicon Valley Code Camp 2019

  Рет қаралды 436,051

Silicon Valley Code Camp

Silicon Valley Code Camp

Күн бұрын

Check out Ron's latest video from Nov 2023. • How to Think Like an A...
Ron Kleinman Talks about 'How to "think" (and design) like a Software Architect' at SiliconValley-CodeCamp.com in San Jose
Software Architects design solutions for complex back office enterprise applications by identifying the basic abstractions. Attendees will use their techniques to interactively develop the high level design for such an application.
SiliconValley-CodeCamp.com/Se...
Silicon Valley Code Camp site:
SiliconValley-CodeCamp.com
Subscribe to the Silicon Valley Code Camp KZfaq Channel
/ siliconvalleycodecampv...
Follow Silicon Valley Code Camp on Twitter: / sv_code_camp
Join the Silicon Valley Code Camp G+ community: plus.google.com/1106563518427...
How to "think" (and design) like a Software Architect at Silicon Valley Code Camp 2019
Follow Ron Kleinman
Speaker Biography for Ron Kleinman
Ron most recently served as CTO of the SIF Association, an XML standard organization in the K-12 area. A 20 year veteran of Sun Microsystems, he co-founded the JavaPOS initiative, and has taught an evening section of Object Oriented Analysis and Design at De Anza College for the last 10 years, is the somewhat sheepish holder of several software patents and has been keynote speaker at multiple partner conferences and selected industry events. His current technology focus is on design patterns and application (rather than module) integration.

Пікірлер: 120
@cyanideandfiberglass5475
@cyanideandfiberglass5475 11 ай бұрын
Watching this man speak is so revealing. You can tell he's so experienced and knowledgeable he has to stop himself from going WAAYYYY off-topic many times. This guy could talk about these topics for days.
@gakspackle
@gakspackle 2 жыл бұрын
This is a great lecture! Glad I found this gem
@Krazness
@Krazness 11 ай бұрын
Loved this lecture. It's refreshing to find an informative and humorous lecture
@javedshaikh-fr1qf
@javedshaikh-fr1qf 11 ай бұрын
It is great knowledgeable lecture with wonderful connects with attendees. Thanks for great OOA topic coverage.
@atjhamit
@atjhamit 2 жыл бұрын
Amazing. Thank you for this!
@lordbacon4972
@lordbacon4972 10 ай бұрын
I learned more about architecting a solution from Ron's presentation than from all the other books I've read on the subject. Because Ron really taught the analysis process and "how to think" whereas the books just presented the solution. Thank you, Ron!
@vjzb3
@vjzb3 3 жыл бұрын
Loved the classic jokes lmao. I'm stealing the one about the research scientist. Learning from someone who has such long-standing experience, rooted in the evolution of the industry, always feels like striking gold. I appreciate this talk very much, thank you
@herrpez
@herrpez 11 ай бұрын
Don't go into these talks uncritically. Yes, the speakers may have loads of experience. The key factors, however, are applicability and accuracy. There's a lot to be said for sketching out the design of the application, but when the rubber hits the road (or the programmer fingers hit the keyboard, as it were 😉) you WILL run into unforeseen things. The greater the scope, the greater the rate. But am I saying "don't plan anything" or "don't listen to this guy"? Not at all. Do plan things, do listen to this guy... on the proviso that it works better for you than starting with an ad hoc test application does. No matter your approach, you will have to tackle mostly the same issues. Issues unique to each approach will also arise, and you will have to tackle those too as you go. The bottom line is that there is not a one size fits all approach, just like in any other aspect of our lives. So for (probably) younger devs coming in here looking to learn... do learn! But also evaluate what works for you, and keep learning!
@Ianuarius
@Ianuarius 11 ай бұрын
Hah, how about that 48:00 "getCum()"... classic!
@collocheru
@collocheru Жыл бұрын
Thoroughly enjoyed every minute of this, great presentation and jokes as well!
@B33ZHIVE
@B33ZHIVE 2 жыл бұрын
I'm a business analyst and this is kind of like exactly how we design software too
@BillJOEofficial
@BillJOEofficial 3 ай бұрын
Thanks for sharing ! It's very useful.
@stuffedstuff7086
@stuffedstuff7086 11 ай бұрын
Design Patterns are reusing other's thinking - loved that ❤
@DodaGarcia
@DodaGarcia 11 ай бұрын
Right? What a beautiful and concise description.
@jonathansaindon788
@jonathansaindon788 8 ай бұрын
More like reusing defined solutions to defined problems
@SachinKumar-qh1lu
@SachinKumar-qh1lu 2 жыл бұрын
Excellent , Thank you so much sir
@MegaGrinbull
@MegaGrinbull Жыл бұрын
Great presentation. Thanks.
@leiliu83
@leiliu83 Жыл бұрын
so nice, thanks a lot
@crockz0r
@crockz0r 2 жыл бұрын
wow. this speech was greatiful
@wsambian
@wsambian 8 ай бұрын
Fantastic presentation
@TheEmperorXavier
@TheEmperorXavier Жыл бұрын
This guy is soo funny, hahah what an insightful and entertaining seminar
@liquidpebbles
@liquidpebbles Жыл бұрын
Great talk
@leolin652
@leolin652 Жыл бұрын
Wonderful!
@chairmancat3668
@chairmancat3668 9 ай бұрын
It's baffling for me that in the US there are software architects who do not know how to code.
@VudrokWolf
@VudrokWolf 7 ай бұрын
I got a friend with multiple certifications reaching the Solution Software Architecture one for AWS, he had a MBA in Digital Transformation he is 38 years old he has never worked or code for software development, he has been studying his whole life, he is not planning on ever working or doing anything with his knowledge, I love learning but I have to use my knowledge I must build stuff
@Future_ology
@Future_ology 5 ай бұрын
It's people like you that start wars.
@violentfox
@violentfox 5 ай бұрын
Pretty common in Germany too.
@st3ppenwolf
@st3ppenwolf Ай бұрын
Not here in Silicon Valley
@ZeoToInfiniti
@ZeoToInfiniti Жыл бұрын
Knowledge should be free for all. And this session serves that purpose. Mr. Ron Kleinman is my hero!
@saryakan
@saryakan Жыл бұрын
It can't ever be free. You need to at least spend your time acquiring it.
@CalebDiT
@CalebDiT Жыл бұрын
So the knowledge you have, you give for free? Do you not demand a salary for putting your knowledge to good use? Perhaps you meant education should be free? Free for the student, but subsidized? Experts should give their time, voluntarily? Free in what way and how? I do like the old means of training that companies were expected to do. A company that was setting itself up in a given town would create its own school. Making students pay to attend was nonsensical and counterproductive, and job availability was a given.
@phyzix_phyzix
@phyzix_phyzix 11 ай бұрын
This mentality is why teachers in America are starving. Knowledge should be easily accessible but not free. Knowledge has a lot of value.
@herrpez
@herrpez 11 ай бұрын
@@phyzix_phyzix That's just silly. Information is not some kind of limited good to be hoarded. Teachers are not "starving" because of information being under priced; libraries have been around for half an eternity... people on average simply don't seek out information. The problem in your society is that teaching is undervalued and... well, a great number of things just don't line up. Look at any other western society, see what their schools are like and ask yourself "do they have access to less information?" I'll put it to you that higher education in America is more expensive than anywhere else. And I'll ask you... does this, on average, bear out in the results?
@kevinjang8209
@kevinjang8209 Жыл бұрын
Nice!
@George-kg9vf
@George-kg9vf 9 ай бұрын
Amazing 🎉
@ideasystemsmexico
@ideasystemsmexico 3 ай бұрын
Great
@tekinatawar1713
@tekinatawar1713 3 жыл бұрын
I want part 2 of this, please... I am ready to pay for this also.
@derrickenamazameti8192
@derrickenamazameti8192 9 ай бұрын
I like your sense of humour ♥
@zahr8688
@zahr8688 8 ай бұрын
nice tutorial
@deathbombs
@deathbombs 5 ай бұрын
10:20 I needed this
@SoapCS2
@SoapCS2 11 ай бұрын
Thank you for this lecture, i can finally become a comedian
@vampiroast
@vampiroast Жыл бұрын
Thank you for your lecture, it is very useful!!! In what moment in time should I decide the architecture to use: layered, microservices, monolithic, micro kernel? and what diagram should I use to describe that? Also when should I start to design the visual pages, like in Figma, these diagrams are too abstract. Also in what diagrams can I put the borders between front-end and back-end, I’ve seen examples when this isn’t portrayed and will be confusing to developers, like in sequence diagrams, it starts with the actor clicking a button and doing something up till the database, but it doesn’t show the borders between UI, app layer, logic layer and database layer, how can a developer know how to organize their code? Still a sequence diagram doesn’t show what fields or tables will be affected, so where do I put all the details. I’m trying to use UML but is too abstract and not enough detailed for a developer, it’s too general, like the Use Case diagrams. Any help? Thanks.
@va1ka
@va1ka 11 ай бұрын
You need to layer diagrams with next layer of diagrams showing the details of the previous layer. Look up C4 model, it does exactly that.
@DodaGarcia
@DodaGarcia 11 ай бұрын
Amazing talk! Can't believe it's available for free.
@Whyoakdbi
@Whyoakdbi 2 жыл бұрын
1:20 this joke killed me 😂😂😂
@SAM-xy2pj
@SAM-xy2pj 2 жыл бұрын
What killed me was the getCum () function 😂😂😂😂
@doctorshadow2482
@doctorshadow2482 11 ай бұрын
Decompose the system using OOP and OOD very basic principles: objects and interfaces. That's what I heard from glancing this one hour lecture. I see tons of comments from fascinated people. Are they students who missed the very basics or I am missing something from this lecture?
@fluffyunicorn7155
@fluffyunicorn7155 10 ай бұрын
I’m 15 Minutes in and it seem you’re right. If you had an OOD class this is nothing new. Design patterns, UML diagrams. This is like a flashback to the early 2000s. It’s a pre-agile view of the world. Today you would just bang out a prototype and iterate from there. People realized that programming is the only way to think about a software problem in detail.
@doctorshadow2482
@doctorshadow2482 10 ай бұрын
@@fluffyunicorn7155 , even working in Agile frameworks I am pretty fine with UML, diagrams and high-level architecture documentation to share knowledge fast and discuss overall approach and ideas on large-scale projects (hundreds and thousands man-years, many groups, etc.). So, I wouldn't consider this totally outdated. I am just curious, what is the value of such a lection for mature people in the auditory and why people here are so excited. Maybe we still missing something they applaud for. I expected to hear something practical and new from such experienced person. I really love architect lectures from O'Relly much more.
@zhangbruce7265
@zhangbruce7265 2 жыл бұрын
so brief video for architecture.
@deathbombs
@deathbombs 5 ай бұрын
Takeaway is: words need to connect back to its context for relevant metadata Components need context- how should it respond, and behavior in its state machine diagram
@biswarupkundu4102
@biswarupkundu4102 Жыл бұрын
oh malloc - lols.. awesome
@kennethcarvalho3684
@kennethcarvalho3684 Жыл бұрын
Malik
@user-tz4cv7yg7q
@user-tz4cv7yg7q 9 ай бұрын
IMHO not all projects may need a traditional approach, code first is been in practice for sometime, it depends on who is writing the code
@deathbombs
@deathbombs 5 ай бұрын
The guy sounds like the actor evil lawyer Chuck on Better Call Saul
@weBeatMedicare
@weBeatMedicare 5 ай бұрын
9:42 But, a few months of coding can save entire WEEKS of planning!
@ChrisAthanas
@ChrisAthanas 11 ай бұрын
C++ are just hacks to overcome language design problems Avoiding design patterns is now the goal, except for a few exceptions which are not tied to C++ implementations (or JavaScript)
@nezarabo-haileh4390
@nezarabo-haileh4390 3 ай бұрын
How can i get the materials of this course ?
@mikaelsaventyr
@mikaelsaventyr 3 жыл бұрын
Very interesting but please repeat the audiance questions, thanks.
@chudchadanstud
@chudchadanstud Жыл бұрын
took 41:17 to build a functional spec.
@shakkirptb
@shakkirptb 6 ай бұрын
At 16:00 is it a Section or a Session?
@sumant2000
@sumant2000 Жыл бұрын
Enterprise Architecture using togaf is required for software architect?
@nakternal
@nakternal 9 ай бұрын
So sftware architecture is oop?
@tehArgento
@tehArgento 10 ай бұрын
44:15 bruh 💀
@marco.garofalo
@marco.garofalo 8 ай бұрын
This ways of architecting a system is unfortunately misleading, expensive and inefficient, we typically call this approach BDUF (Big Design Up Front). We tend to avoid working in this way nowadays, because building a software is not like building a house or a bridge, is not done in phases, instead is an iterative and incremental process, so we want to start with "just enough" analysis/research/design, after all understanding the domain is something that requires iterations and feedback. Obviously it makes sense to get a "rough" idea of what the problem domain entails at the very beginning, but you wouldn't go as far as define the attributes/properties and so on, you just need the big picture. Details would come up incrementally while working/implementing each iteration of the system, one use case at the time, better if the increments are defined as user need/problem that needs solving. Every release we would learn a bit more about the solution effectiveness and bit more about the domain, so the shorter is the release cycle the more opportunities for us to integrate the learnings into the software architecture and design.
@mayikx
@mayikx 8 ай бұрын
I am totally agree, he is explaining this concepts in the old way to develop app, classic cascade approach. Nowadays, we are able to iterate and split the problem in small chunks and thanks to it, we can create better solutions. In addition, as an arquitect you need only to define the big picture and its stack.
@WoWUndad
@WoWUndad 8 ай бұрын
still dont understand what a SA does other than draw pictures for the interns who already had to know full stack system design
@hanooismail9064
@hanooismail9064 2 жыл бұрын
I would like to be a software architect, but I'm at intermediate level help me please
@rationalcoder
@rationalcoder Жыл бұрын
Holy crap this is a content gold mine! It's so nice to not have to straw-man people who still believe these things. Definitely bookmarking this. In case any new programmers are watching this, this is a complete joke, for entertainment purposes only. The only reason people can get away with this king of nonsense is by implementing systems that are trivial to begin with. EDIT: 44:40: How did this make it past the slide review committee? That gave me a good laugh.
@williamestey7294
@williamestey7294 Жыл бұрын
What way if breaking down the problem and designing a system architecture do you prefer instead? Was hoping your channel would have some examples but I did not see any there.
@rationalcoder
@rationalcoder Жыл бұрын
@@williamestey7294 Yeah sorry about that. Unfortunately, I'm not very industrious, so making videos is still a ways out. I have been working on some articles instead, but nothing finished. I do feel bad about not having anything put together for people. What I can point you to is content produced by Casey Muratori. He's a bit disagreeable and overstates things, but a lot of what he says about architecture is close to what I believe. Thanks for the motivation to actually finish some stuff though.
@user-dq7vo6dy7g
@user-dq7vo6dy7g 9 ай бұрын
How to "think" (and design) like a Software Architect - explaining how to solve many-to-many relationships. Who doesn't know that needs to go to a basic database class but it shouldn't be discussed in an architect class.
@RobertChew
@RobertChew Жыл бұрын
Like your comment that if you are a software architect and have never programmed then you are like a priest at a wedding!
@forheuristiclifeksh7836
@forheuristiclifeksh7836 9 ай бұрын
28:21
@sleepymario9657
@sleepymario9657 11 ай бұрын
At least the Soviets joked about themselves. You're not there yet.
@quanquoctruong1276
@quanquoctruong1276 11 ай бұрын
44:17 im sorry but what???????
@serge..k
@serge..k 11 ай бұрын
The more I listened, the more confident I became that the software architect is redundant, just like the president we have
@sivasurrey
@sivasurrey 11 ай бұрын
Are we writing the solution for a single user to operate. All this data is loaded into the system only one user can use it at a time. Is that what we are doing. The solution is in Relational database. It can be written in modern SQL language without any thought to the programming language, or the Written Language ( English or Chines). so you design the Relational Database with the rules and Stored procedures which implement it. Then you can write any number of front ends
@va1ka
@va1ka 11 ай бұрын
oh no, anything but not the stored procedures please
@dgusev
@dgusev 10 ай бұрын
Good software architects should also know systems/OS level well. Most software developer do not care much about servers and systems administration and easily create huge mess (poor manageability, too much complexity, security risks and so on) in that area when they need to "design" something at that level. You can't design good software system without good system architecture/administration skills/knowledge.
@osten_petersson
@osten_petersson 2 жыл бұрын
so this video is from 99?
@lotierm
@lotierm 11 ай бұрын
It is not an architecture - it is an engineering job. Architect works with non-functional requirements. Basically what is done here - he is doing coding without coding.
@mattlindgren2663
@mattlindgren2663 2 жыл бұрын
45:00 ...
@jmilthedude
@jmilthedude 2 жыл бұрын
I see what you did there 😂
@JohnSmith-bb1sv
@JohnSmith-bb1sv 2 жыл бұрын
I feel this is a little over-engineered. It seems to me that the first step is to identify the scope of the problem. What parts of this problem have already been solved? Perhaps they already have a scheduling system and we just need to 'drive it' to find free times for classrooms, teachers, and students, then update it. Perhaps they already have a table that records what students are enrolled, etc. It seems to me that in determining scope, we have to make note of what our assumptions are so we know what problems need to be solved and which don't. With the right interfaces this whole application could be a small set of queries and we can forget about using 'classes' to model things.
@jamesb9567
@jamesb9567 2 жыл бұрын
He's trying to teach you how to think when designing a system's archetecture, not literally design a college enrollment system.
@stephentucker9176
@stephentucker9176 2 жыл бұрын
Queries on some data can replace 99% of all software ever built. That doesn't mean they should-- he is teaching OO design here
@JohnSmith-bb1sv
@JohnSmith-bb1sv Жыл бұрын
@@unitydev457 But aren't people learning the wrong thing? This is how we end up with bloated, over-engineered "frameworks".
@JohnSmith-bb1sv
@JohnSmith-bb1sv Жыл бұрын
@@unitydev457 I agree with you - as long as we recognize that we are cleaning up messes. This is a legacy design and it's a bad habit to think like this when coming up with new solutions. I could say that this app described is mainly just making queries and updates - which is to say - sending well defined messages between well defined component boundaries. I believe this is what Alan Kay had in mind when he coined the phrase "object oriented programming". By focusing on the messages we think more as system architects should - how to make simple independent agents interact together to create custom behavior. Just imagine - most of the complex software in the future will include components whose developers never know each other and never communicate, except through an established protocol or schema. Thank you for your comments through. We do have a lot of technical debt to dig through. I just don't want people to get the wrong model in their heads and make more of it.
@flashflexpro
@flashflexpro 11 ай бұрын
Actually, in reality we don't always need the relationship table, because at certain time, a student can't have very many courses, and a course won't have too many students, which means we can just put the information in both student and course, it is a duplicate of data, but might worth it.
@gaetanguiffo9378
@gaetanguiffo9378 9 ай бұрын
.
@RandyAugustus
@RandyAugustus 10 ай бұрын
Would have been a better talk w/o the crowd interrupting.
@user-kc9sy4pi6j
@user-kc9sy4pi6j 10 ай бұрын
🎯 Key Takeaways for quick navigation: 00:20 👨‍🏫 如果你是个没有编程经验的软件架构师,就像一个没有经历婚礼就主持婚礼的牧师一样。 01:18 🛡️ 设计模式可以让你重用其他人的思考,就像科学家站在前人的肩膀上一样。 03:37 💼 软件架构师需要为特定行业工作,比如零售业、教育行业等,行业之间有很大区别。 05:30 🏛️ 三层架构把前端用户界面、业务逻辑和数据存储分离开来,适合企业级应用。 06:54 🏭 零售业软件架构复杂,需要处理销售、库存、定价、优惠等多个子系统。 08:18 🎓 教育和医疗保健行业的用户更积极主动,会分享好的解决方案。 09:26 👩‍💻 成为软件架构师的路径是先学编程,了解设计模式,然后专攻一个行业。 10:52 🎯 选择一个行业,在该行业中积累经验,逐步成为软件架构师。 Made with HARPA AI
@ll12ll
@ll12ll 3 жыл бұрын
4 architects suck at programming
@SheeceGardazi
@SheeceGardazi Жыл бұрын
just no, this how you take years to come to market and by the time you ship your system is outdate junk
@alexCh-ln2gw
@alexCh-ln2gw 11 ай бұрын
hrm. don't architects just namedrop tech without knowing how to use them? i'm guessing this is more than 60% of "architects" who hold that title.
@tacowilco7515
@tacowilco7515 10 ай бұрын
He mixes up problem that software architects solve with problems that developers solve.
@Tux0xFF
@Tux0xFF 10 ай бұрын
What the heck? A software architect who doesnt know how to program? Similar to a Math professor who cant do Algebra 🤣
@IndycarArgentina
@IndycarArgentina 9 ай бұрын
I watched 16 minutes and I not learned nothing. all bla bla and blaaaa
@TheMisterGege1
@TheMisterGege1 9 ай бұрын
Wow is this outdated
@SiliconValleyCodeCampVideos
@SiliconValleyCodeCampVideos 9 ай бұрын
If you were to do this today, how would you change it? (or what would you cover with this topic for a new presentation?)
@hfspace
@hfspace Жыл бұрын
seems boring, sorry. This is basically what i learned at university.
@stevenbliss989
@stevenbliss989 11 ай бұрын
It was actually Pascal that did the STRUCT thing before C with "RECORD". Today DELPHI continues that!!!!!!!!!!!!!!!!
@teresaanderson7384
@teresaanderson7384 2 жыл бұрын
Glad I found this gem
How to Think Like an Architect - Mark Richards
58:32
Developer Summit
Рет қаралды 3,7 М.
Google system design interview: Design Spotify (with ex-Google EM)
42:13
IGotAnOffer: Engineering
Рет қаралды 1 МЛН
Happy 4th of July 😂
00:12
Alyssa's Ways
Рет қаралды 67 МЛН
НРАВИТСЯ ЭТОТ ФОРМАТ??
00:37
МЯТНАЯ ФАНТА
Рет қаралды 2,6 МЛН
Дарю Самокат Скейтеру !
00:42
Vlad Samokatchik
Рет қаралды 8 МЛН
A Philosophy of Software Design | John Ousterhout | Talks at Google
1:01:40
What does larger scale software development look like?
24:15
Web Dev Cody
Рет қаралды 1,3 МЛН
What Software Architects Do That Programmers DON'T
12:51
Thriving Technologist
Рет қаралды 108 М.
Minimum Viable Architecture • Randy Shoup • YOW! 2022
47:40
GOTO Conferences
Рет қаралды 52 М.
10 Design Patterns Explained in 10 Minutes
11:04
Fireship
Рет қаралды 2,2 МЛН
What Software Architecture Should Look Like
19:13
Continuous Delivery
Рет қаралды 82 М.
Happy 4th of July 😂
00:12
Alyssa's Ways
Рет қаралды 67 МЛН