Get Time
Spotlight Sessions: Architecture Chat Transcript

Chat transcript from Architecture Chat: Spotlight Session with Ghostar
Handle Comment
jmpld40Welcome to the Architecture Chat!
ahm.kam_92Ghostar: who r u ?
jmpld40We've got Ghostar here to answer questions about competing so ask away!
GhostarI'm Justin Gasper. I live in Wisconsin, in the US
phars_alnmri am phars
[hitcher]Ghostar: can you tell us what architecture is all about
GhostarArchitecture comes after the specification and conceptualization phases
GhostarBasically it involves looking at a large system and then breaking it up into individual components
GhostarThe archtiecture must define security and threading functionality, as well as provide a "big picture" look at a particular system
phars_alnmrif i have a string like that " bhjbk" and i want to loop to each char how can i do that?
AdamSeleneTo see how architecture fits in to the general TC methodology, you can take a look here, as well :
GhostarThe deliverables include sequence diagrams that define the flow of information, interface (API) diagrams for systems, and the specifications for components
[hitcher]phars_alnmr: are you seriously asking that question?
AdamSelenephars_alnmr: This chat is specifically about architecture competitions at TopCoder, you might find better answers in the main lobby.
connect4Ghostar: I assume the question's already been asked, but what's the easiest way you've found to get started in one of these Architecture competition thingies?
AdamSeleneJust started, hadn't been asked yet =)
Ghostarconnect4: I would say the easiest thing to do is just to try one
Ghostarconnect4: There's no penalty for failing :)
Ghostarconnect4: By actually working through one and comparing with other submissions, you can easily see what you did right and wrong
[hitcher]Ghostar: is there any way we can practice for it?
Ghostar[hitcher]: Not that I know of.
Ghostar[hitcher]: Going through one is kind of like practice, but you have the opportunity to win some $ if you do well
chtomekGhostar: which design patterns do you find the most usefull to learn
Ghostar[hitcher]: The easiest thing to do is look at the deliverables, which AdamSelene posted a link to above, and then just dive in
connect4AdamSelene: In a few minutes, care to repost the link? :)
connect4AdamSelene: (doesn't have to be done yet)
AdamSelene/wsp connect4
[hitcher]Ghostar: thank you.
AdamSelenemy command skills are poor
connect4Ghostar: How much time do you usually put into one of these magical competition things?
connect4AdamSelene: no worries, now it's there for everyone else!
Ghostarconnect4: Because I have done a bunch of this type of work in the past, I normally put in less than 10 hours
Ghostarconnect4: A lot of what goes into an architecture I have already done before, so I pull bits and pieces from past projects, where appropriate
[hitcher]Ghostar: do you think. algorithmic skill is needed in this type of competition?
Ghostar[hitcher]: Very little, if any algorithmic skill is needed for this type of competition
Ghostar[hitcher]: The majority of the work has to do with designing: API definition, sequence diagrams, and use cases
Ghostar[hitcher]: As well as a bunch of documentation in Word files
afonsecathat's the beauty of the thing :)
AdamSelenethe most useful skill that would translate is probably around rutnime efficiency, understanding where problems may arise and ensuring the architecture accoutns for that
GhostarThat is correct
GhostarSome architectures have very strict requirements for efficiency that has to be taken into account
afonsecaGhostar, where do you work?
connect4AdamSelene: It's ok. You have the same command skills than Ian Kennedy did pitching :)
connect4AdamSelene: (and if you don't get that, ask jmpld40 :)
[hitcher]Ghostar: oh. thats a lot of work to be done. and im used with paper works
Ghostarafonseca: I am currently looking for a fulltime job, doing TC to help pay the bills
jmpld40connect4: you always find a way to bring up the yanks... :)
connect4jmpld40: but would you be disappointed if I didn't? :)
afonsecaGhostar: hmmm... How old are you?
jmpld40connect4: :)
Ghostarafonseca: 28
AdamSelenehe is also very tall
AdamSelene(relative at least to me)
GhostarAdamSelene: I'm the shortest one in my family :)
afonsecaGhostar: do you have a degree?
GhostarAdamSelene: My dad's 6'6, and my brothers are 6'3 and 6'4
connect4Ghostar: How many competitions did it take you before you got comfortable with these competitions?
afonsecaAdamSelene: Adam, I'm very tall too :)
Ghostarafonseca: I have a B.S. in C.S.
afonsecaAdamSelene: like... 2meters
connect4Ghostar: W00t! I'm taller than you :)
afonsecaAdamSelene: hhehe
Ghostarconnect4: I was actually pretty comfortable right out of the gate
afonsecaGhostar: Hmm.
Ghostarconnect4: I had had experience with architecture before TC started the competitions through some contracting I did with TC for things like the UML Tool
afonsecaGhostar: Do you think that TC will help you get a nice job?
Ghostarconnect4: And a couple of other projects
Ghostarafonseca: That remains to be seen. I hope so
afonsecaGhostar: Does TC takes too much of your time?
afonsecaGhostar: (Does that sounded correct?)
Ghostarafonseca: I have done TC exclusively for the last 3 years, so it has taken quite a bit of my time.
afonsecaGhostar: (my english skills are poor)
afonsecaGhostar: hmmm
afonsecaGhostar: but that's nice
afonsecaGhostar: I mean...
Ghostarafonseca: With the current economic situation, it just isn't as viable as it used to be
Ghostarafonseca: I work pretty much 30-40 hours a week
afonsecaGhostar: Hmmm
afonsecaGhostar: And does the "salary" good for you?
afonsecaGhostar: I mean
afonsecaGhostar: Is it confortable?
Ghostarafonseca: Until about November of last year, it was more than comfortable
Ghostarafonseca: Since then, not so much
afonsecaGhostar: Why? The economic situation?
Ghostarafonseca: Yep
afonsecaGhostar: :/
afonsecaGhostar: Keep working with TC
Ghostarafonseca: I will try to
afonsecaGhostar: that way we know that it will never ie :)
afonsecaGhostar: *die
[hitcher]Ghostar: what PL do we need in this compe?
kurtripsGhostar: What is differnece between system architecture and module architecture?
afonsecaAdamSelene: Probably Programming Language
Ghostarkurtrips: A system architecture is higher level than a module architecture
AssertionsOnGhostar: I have never particicpated in an architecture competition before, so can you explain about how muct time it would take a new architect to complete a competition?
Ghostarkurtrips: A system architecture tends to define the module architectures and assemblies for an application as a whole
AdamSelene[hitcher]: if programming language. we typically use either Java or C#, occasionally c++
Ghostarkurtrips: And the module architectures are just big pieces of the application
GhostarAssertionsOn: That
GhostarAssertionsOn: That's a hard one to estimate
afonsecaAdamSelene: Are there plans to use Ruby? Rails?
GhostarAssertionsOn: I tend to take around 10 hours to complete one, but I pull from a lot of Past Challenges I have done
AdamSeleneafonseca: RoR is an option we explored late last year, right now we don't have any client demand but we are definitely open to it
kurtripsGhostar: So given an architecture competition, how do we know what's required?
GhostarAssertionsOn: Also, I am very familiar with the templates and deliverables
afonsecaAdamSelene: Hmmm...
AdamSelenekurtrips: The specification on the wiki should always be clear exactly which deliverables you have to deliver
afonsecaAdamSelene: Good to know.
AdamSelenekurtrips: If you have any questions whatsoever, raise it on the forums immediately
afonsecaAdamSelene: The number of app in RoR is rising
afonsecaAdamSelene: Better, growing
Ghostarafonseca: I almost had TC convinced to do some RoR stuff towards the end of last year
afonsecaGhostar: HEehe
afonsecaGhostar: it's really really fast develop, don't you think?
Ghostarafonseca: That's why I chose it :)
afonsecaGhostar: hehe
afonsecaGhostar: I gotta go
afonsecaGhostar: nice talking to you all
[hitcher]Ghostar: ok. does it involve web programming?
Ghostar[hitcher]: Depends on the project
Ghostar[hitcher]: Some are fat clients, some are web based
Ghostar[hitcher]: I would say the majority are web based, but it could be just about anything
kurtripsAdamSelene: In brief can you explain the differences in the deliverables for module/system?
AdamSelenekurtrips: In a system architecture, the main deliverable is a System Design Spec (SDS).
AdamSelenekurtrips: This spec lays out the overall architecture for the entire application - how the tiers are broken up, how each tier should work
AdamSelenekurtrips: The logical layout of the system, basically.
AdamSelenekurtrips: The pieces of this system need to be "modules"
AdamSelenekurtrips: For example in an eCommerce application this might be a customer facing web site and an inventory system that back that site
AdamSelenekurtrips: The system architecture needs to define the interactions between the two
AdamSelenekurtrips: and the underlying technical approach for common functionality - configuration, logging, and so on.
AdamSelenekurtrips: Each module that the system architecture defines goes to specification, and then module architecture.
AdamSelenekurtrips: The module architecture is a lower level architecture - it declares the components to be used, and lays out sequence diagrams for each concrete requirement
AdamSelenekurtrips: Continuing the example, say, add item to cart in the consumer web site.
AdamSelenekurtrips: It is responsible for detailing how the system architecture's patterns and rules are followed - e.g. requiring a specific method or area of configuration for a component.
AdamSelenekurtrips: Here is a link about system architecture that goes into more detail:
connect4AdamSelene: Stop answering a question I was about to ask right before I ask it!
GhostarAnybody else? Bueller?
connect4I can come up with non-architecture questions if we need to to kill time :)
GhostarI'm here for an hour
connect4jmpld40 could tell you all about some of the ones I've come up with in the past :)
GhostarBringing up the Yankees won't work for me, I'm a Brewers fan
AdamSeleneI'm happy to answer any other TopCoder competition related questions as well.
connect4Ah the Brewers! I got to see a game there as part of my bachelor party :)
kurtripsAdamSelene: So in the module architecture, the main task is 'component breakdown'?
[hitcher]AdamSelene: will the number of SRMs increased after the TCO?
AdamSelenekurtrips: yes, more or less
AdamSelene[hitcher]: that I do not know
[hitcher]AdamSelene: i hope, it will :)
jmpld40[hitcher]: for now they will stay at 2 per month
jmpld40So any more questions about Architecture Competitions? Are you all going to try them out now? :)
connect4How much time does one get for these competition thingies? I haven't looked into them much, but extra income (if I can win it) isn't a bad thing. 10 hours for Ghostar isn't bad, but if you're only given 15 hours total... :)
connect4jmpld40: That depends. The entry barrier still seems high and scary.
GhostarUsually at least 4 days or so
AdamSeleneArchitecture competitions tend to have submission of 4-7 days
AdamSeleneprobably average 5.
[hitcher]AdamSelene: does the interface include in the criteria?
AdamSelene[hitcher]: Not sure I understand the question - architects are responsible for designing certain interfaces
dcpAdamSelene: Do you forsee more .Net dev/design comps in the future (I realize it depends on client demand, but just wondered if you had anything "in the works"). Like, for the TCO for example, is it going to be all Java?
connect4So to clarify, from the little I'm looking at right now, architecture competitions are more about setting up a design and less about writing code?
Ghostarconnect4: That's correct
Ghostarconnect4: Depending on the project, you may not write any code at all
AdamSelenedcp: At least a major part of the TCO will be the SDC challenges. You can help influence the platform for those by participating in the concept and architecture for those =)
kurtripsAdamSelene: Recently I have seen many design competitions launched which already have an almost complete tcuml as input. Are these the output of an architecture competition?
Ghostarkurtrips: I would assume so
dcpAdamSelene: Sorry, not sure what SDC challenge is, is that "specification"?
AdamSelenekurtrips: That is possibly the case but I am not sure - normally the architecture will only provide the API which is shared between two components so that they can be performed in parallel
Ghostarkurtrips: I personally tend to provide pretty detailed sequence and interface documents
AdamSelenekurtrips: dcp - the Sensations Developer Challenge - link in a second
connect4Ghostar: promising :) And coming up with tests is part of those "testing" competitions I assume that are related but 12 steps or so down the line.
Ghostarkurtrips: Especially for custom components that are interdependent
AdamSelenekurtrips: oops, that was at cp
AdamSelenekurtrips: *d
AdamSelenekurtrips: argh. @dcp
kurtripsAdamSelene: :)
dcpAdamSelene: 3rd times the charm :)
AdamSelenethere we go!
Ghostarconnect4: That's right. I think the testing competitions are towards the end of the process
connect4You're a smrt typer there adam :)
Ghostarconnect4: I think the test competitions are broken up into specification and implementation Challenges
Ghostarconnect4: At least they were in the past
AdamSeleneYes, that is how they tend to run still.
connect4Ghostar: Cool, thanks for the learneding :) Do you have to administer the architecture thing once you win it?
AdamSeleneThey are not part of architecture.
Ghostarconnect4: Yep, support for all challenges that come out of the competition is the responsibility of the winner
connect4AdamSelene: Ah ok. Then I'll retract all testing questions until the future "testing" chat :)
connect4Ghostar: Sounds fun. Although potentially a lot of work!
kurtripsGhostar: I'm not quite sure what 'sequence and interface documents' mean exactly? By interface, do you mean API?
Ghostarconnect4: It can be a lot of work, but the payout is usually more than a design, although lately the prizes have been a little weak
Ghostarkurtrips: Yep, I call them interface diagrams, but they are basically just class diagrams that describe the API
AdamSeleneSystem architecture is responsible for defining any API between modules, and module architecture is responsible for API between components.
connect4Ghostar: Yea, I figured the prize issue hurts things a little, but hopefully the economomy will turn around soon :)
Ghostarconnect4: I hope so. My wife wants to start a bakery. We have some of the equipment, but the $ situation sucks so we are waiting to do more
kurtripsGhostar: And are the 'sequence diagrams' like the usual SDs, just that these connect components instead of classes?
Ghostarkurtrips: That's the intent
kurtripsGhostar: Sorry for converting this chat into a interactive tutorial!
connect4Ghostar: ooh that sounsd like fun! Next time I'm in your area, I'll definitely patronize you
Ghostarkurtrips: I tend to be more detailed than required in most of mine, only a little higher level than a design
connect4Ghostar: err I mean your business.
Ghostarconnect4: No one ever tends to be in my area :)
Ghostarconnect4: I live in the middle of nowhere in northern Wisconsin
Ghostarconnect4: That's part of why TC has so much appeal. I get to do work for big projects, while living in a place where I would never have that kind of opportunity
kurtripsAdamSelene: Will these chats be published on TC?
AdamSeleneI believe so, jmpld40 can cofirm.
connect4I love the idea. I hope things turn around to make life easier for you. Then you can mail me some baked goods... I'm partial to garlic bread! :)
AdamSelenegarlic bread in the mail would be horrible
kurtripsjmpld40: ok, will this be soon?
Ghostarconnect4: My wife can bake just about anything, but like AdamSelene said, who knows if it would work in the mail.
connect4AdamSelene: You mean you don't like a mixture of garlic, cardboard and postage stamps?
Ghostarconnect4: Everything in the mail truck would smell like garlic :)
jmpld40as soon as I can get it posted :)
AdamSeleneI am partial to garlic
MafyAdamSelene: Will the SDCs have designs? Or they will be passed from architecture directly to assembly?
kurtripsjmpld40: Ok :)
jmpld40ooh ooh! i'll take some cookies! ;)
connect4AdamSelene: It's delightful, especially when combined with Roasted chicken with peppers and duct tape
AdamSeleneMafy: it is expected that they will generate component designs.
Ghostarjmpld40: You should check out our blog (find it on LinkedIn), it has all sorts of her favorite recipes
Ghostarjmpld40: Although it is easier when she just makes it for you :)
jmpld40cool, thanks!
jmpld40i'm sure
Ghostarjmpld40: One of the problems of having a home office is that I am only 10 feet away from the kitchen
kurtripsAdamSelene: How many online competitors will there be for each track in this TCO?
jmpld40Ghostar: i have the same problem as my husband is a fabulous chef :)
AdamSelenekurtrips: There is no limit on the number of competitors. The first round of conceptualizations generated roughly 12 per project.
Ghostarjmpld40: You guys want to adopt me?
kurtripsAdamSelene: No, I meant the number of online finalists for TCO
jmpld40Ghostar: haha, only if you bring your baker wife!
Ghostarjmpld40: Will do
AdamSelenekurtrips: This will be announced as soon as possible
AdamSelenekurtrips: jmpld40 may have more info
jmpld40kurtrips: to be announced... :)
kurtripsAdamSelene: ok.
jmpld40any other architecture questions? anyone anyone
kurtripsAdamSelene: Is there any distinction b/w architectures which go straight to assmebly and those that go to design?
Ghostarkurtrips: That's one of the thing argolite and I are trying to accomplish
AdamSelenekurtrips: The only time an architecture should go straight to assembly is if the architect can document all code at effectively component design level
AdamSeleneone key thing, that I realize isn't necessarily expressed well through training etc, is that all implemented code should have a design to it
kurtripsAdamSelene: Really? Has this not happened yet?
AdamSeleneso if the code is not covered by a component, it should be covered in the architecture
AdamSeleneI believe some projects have gone directly to assembly, Xanthus projects for one. In these cases, the architecture must document at a higher level of detail than if the code is going to a component
AdamSeleneFor example if for some use case, say, generate report
AdamSeleneif straight to assembly, your sequence needs to cover all the calls to generate the report
kurtripsAdamSelene: But why would an architect document all code at effectively componet design level when that's not part of the deliverable
AdamSelenethat is part of the deliverable if no components are generated
AdamSelenethe deliverables include sequence diagrams for all requirements
argolitekurtrips: that 's part of the assembly vs desing debate
AdamSelenelooking at the process as something to generate software, it is not fair to expect the assemblers to figure out everything on their own, nor will it work well
argolitekurtrips: IMO all the xanhthus atchitectures should have gone via the design route because the scope was big enough to warant one
AdamSeleneI tend to agree with argolite, the only case in which we should go straight to assembly is if the requirements and scope are simple enough to allow the architect to cover the requirements in the standard submission period at componetn level detail
AdamSelenethis is not possible if the project would be implemented in 5+ components
argoliteAdamSelene: Is there a general rule for when it goes directly to assembly, and when to design?
AdamSeleneargolite: the general rule is that it never goes directly to assembly =)
argoliteAdamSelene: LOL
kurtripsAdamSelene: Yeah, how can the architect himself figure out the scope? It's subjective.
GhostarAdamSelene: You may want to start enforcing that :)
AdamSelenetrying, trying
AdamSelenekurtrips: the scope should be obvious from the requirements. if it is not, the spec should be stopped in review
AdamSelene(thanks for that yesterday justin)
GhostarAdamSelene: No problem :)
AdamSeleneif you ever have any questions or concerns about the scope, you should immediately notify the PM via the forum
argoliteAdamSelene: Yes, it seems to put some architects in a bind, as the scorecard is not meant to judge design-level details
AdamSeleneargolite: yes, that is another problem
argoliteAdamSelene: So, can we at leats bimplement a startegy where the requirements clearly state that the expectatio is desogn/vs assembly?
AdamSelenethat should be the case as is - firstly it should rarely be direct to assembly, and secondly, in "competition task" it should be stated clearly
AdamSelenethis has been explained internally, if you think it is a problem I can reiterate and try to find a good place on the wiki to note it.
GhostarAny other architecture questions?
jmpld40Before we end here, thank you so much Ghostar for coming to chat today.
jmpld40and thanks for all of you being here as well
GhostarMy pleasure!
AdamSelenethanks everyone!