Chat transcript from Architecture Chat: Spotlight Session with
Ghostar
|
jmpld40 | Welcome to the Architecture Chat! |
ahm.kam_92 | Ghostar: who r u ? |
jmpld40 | We've got Ghostar here to answer questions about competing so ask away! |
Ghostar | I'm Justin Gasper. I live in Wisconsin, in the US |
phars_alnmr | i am phars |
[hitcher] | Ghostar: can you tell us what architecture is all about |
Ghostar | Architecture comes after the specification and conceptualization phases |
Ghostar | Basically it involves looking at a large system and then breaking it up into individual components |
Ghostar | The archtiecture must define security and threading functionality, as well as provide a "big picture" look at a particular system |
phars_alnmr | if i have a string like that " bhjbk" and i want to loop to each char how can i do that? |
AdamSelene | To see how architecture fits in to the general TC methodology, you can take a look here, as well : http://www.topcoder.com/wiki/display/tc/The+TopCoder+Platform+-+Software+Application+Development+Methodology |
Ghostar | The 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? |
AdamSelene | phars_alnmr: This chat is specifically about architecture competitions at TopCoder, you might find better answers in the main lobby. |
[hitcher] | lol |
connect4 | Ghostar: 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? |
AdamSelene | Just started, hadn't been asked yet =) |
Ghostar | connect4: I would say the easiest thing to do is just to try one |
Ghostar | connect4: There's no penalty for failing :) |
Ghostar | connect4: 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 |
chtomek | Ghostar: 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 |
connect4 | AdamSelene: In a few minutes, care to repost the link? :) |
connect4 | AdamSelene: (doesn't have to be done yet) |
AdamSelene | /wsp connect4 http://www.topcoder.com/wiki/display/tc/The+TopCoder+Platform+-+Software+Application+Development+Methodology |
AdamSelene | woops |
[hitcher] | Ghostar: thank you. |
AdamSelene | my command skills are poor |
connect4 | Ghostar: How much time do you usually put into one of these magical competition things? |
connect4 | AdamSelene: no worries, now it's there for everyone else! |
Ghostar | connect4: Because I have done a bunch of this type of work in the past, I normally put in less than 10 hours |
Ghostar | connect4: 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 |
afonseca | that's the beauty of the thing :) |
AdamSelene | the most useful skill that would translate is probably around rutnime efficiency, understanding where problems may arise and ensuring the architecture accoutns for that |
Ghostar | That is correct |
Ghostar | Some architectures have very strict requirements for efficiency that has to be taken into account |
afonseca | Ghostar, where do you work? |
connect4 | AdamSelene: It's ok. You have the same command skills than Ian Kennedy did pitching :) |
connect4 | AdamSelene: (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 |
Ghostar | afonseca: I am currently looking for a fulltime job, doing TC to help pay the bills |
AdamSelene | =) |
jmpld40 | connect4: you always find a way to bring up the yanks... :) |
connect4 | jmpld40: but would you be disappointed if I didn't? :) |
afonseca | Ghostar: hmmm... How old are you? |
jmpld40 | connect4: :) |
Ghostar | afonseca: 28 |
AdamSelene | he is also very tall |
AdamSelene | (relative at least to me) |
Ghostar | AdamSelene: I'm the shortest one in my family :) |
afonseca | Ghostar: do you have a degree? |
Ghostar | AdamSelene: My dad's 6'6, and my brothers are 6'3 and 6'4 |
connect4 | Ghostar: How many competitions did it take you before you got comfortable with these competitions? |
afonseca | AdamSelene: Adam, I'm very tall too :) |
Ghostar | afonseca: I have a B.S. in C.S. |
afonseca | AdamSelene: like... 2meters |
connect4 | Ghostar: W00t! I'm taller than you :) |
afonseca | AdamSelene: hhehe |
Ghostar | connect4: I was actually pretty comfortable right out of the gate |
afonseca | Ghostar: Hmm. |
Ghostar | connect4: I had had experience with architecture before TC started the competitions through some contracting I did with TC for things like the UML Tool |
afonseca | Ghostar: Do you think that TC will help you get a nice job? |
Ghostar | connect4: And a couple of other projects |
Ghostar | afonseca: That remains to be seen. I hope so |
afonseca | Ghostar: Does TC takes too much of your time? |
afonseca | Ghostar: (Does that sounded correct?) |
Ghostar | afonseca: I have done TC exclusively for the last 3 years, so it has taken quite a bit of my time. |
afonseca | Ghostar: (my english skills are poor) |
afonseca | Ghostar: hmmm |
afonseca | Ghostar: but that's nice |
afonseca | Ghostar: I mean... |
Ghostar | afonseca: With the current economic situation, it just isn't as viable as it used to be |
Ghostar | afonseca: I work pretty much 30-40 hours a week |
afonseca | Ghostar: Hmmm |
afonseca | Ghostar: And does the "salary" good for you? |
afonseca | Ghostar: I mean |
afonseca | Ghostar: Is it confortable? |
Ghostar | afonseca: Until about November of last year, it was more than comfortable |
Ghostar | afonseca: Since then, not so much |
afonseca | Ghostar: Why? The economic situation? |
Ghostar | afonseca: Yep |
afonseca | Ghostar: :/ |
afonseca | Ghostar: Keep working with TC |
Ghostar | afonseca: I will try to |
afonseca | Ghostar: that way we know that it will never ie :) |
afonseca | Ghostar: *die |
[hitcher] | Ghostar: what PL do we need in this compe? |
kurtrips | Ghostar: What is differnece between system architecture and module architecture? |
AdamSelene | PL? |
afonseca | AdamSelene: Probably Programming Language |
Ghostar | kurtrips: A system architecture is higher level than a module architecture |
AssertionsOn | Ghostar: 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? |
Ghostar | kurtrips: 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++ |
Ghostar | kurtrips: And the module architectures are just big pieces of the application |
Ghostar | AssertionsOn: That |
Ghostar | AssertionsOn: That's a hard one to estimate |
afonseca | AdamSelene: Are there plans to use Ruby? Rails? |
Ghostar | AssertionsOn: I tend to take around 10 hours to complete one, but I pull from a lot of Past Challenges I have done |
AdamSelene | afonseca: 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 |
kurtrips | Ghostar: So given an architecture competition, how do we know what's required? |
Ghostar | AssertionsOn: Also, I am very familiar with the templates and deliverables |
afonseca | AdamSelene: Hmmm... |
AdamSelene | kurtrips: The specification on the wiki should always be clear exactly which deliverables you have to deliver |
afonseca | AdamSelene: Good to know. |
AdamSelene | kurtrips: If you have any questions whatsoever, raise it on the forums immediately |
afonseca | AdamSelene: The number of app in RoR is rising |
afonseca | AdamSelene: Better, growing |
Ghostar | afonseca: I almost had TC convinced to do some RoR stuff towards the end of last year |
afonseca | Ghostar: HEehe |
afonseca | Ghostar: it's really really fast develop, don't you think? |
Ghostar | afonseca: That's why I chose it :) |
afonseca | Ghostar: hehe |
afonseca | Ghostar: I gotta go |
afonseca | Ghostar: 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 |
kurtrips | AdamSelene: In brief can you explain the differences in the deliverables for module/system? |
AdamSelene | Sure. |
AdamSelene | kurtrips: In a system architecture, the main deliverable is a System Design Spec (SDS). |
AdamSelene | kurtrips: This spec lays out the overall architecture for the entire application - how the tiers are broken up, how each tier should work |
AdamSelene | kurtrips: The logical layout of the system, basically. |
AdamSelene | kurtrips: The pieces of this system need to be "modules" |
AdamSelene | kurtrips: For example in an eCommerce application this might be a customer facing web site and an inventory system that back that site |
AdamSelene | kurtrips: The system architecture needs to define the interactions between the two |
AdamSelene | kurtrips: and the underlying technical approach for common functionality - configuration, logging, and so on. |
AdamSelene | kurtrips: Each module that the system architecture defines goes to specification, and then module architecture. |
AdamSelene | kurtrips: The module architecture is a lower level architecture - it declares the components to be used, and lays out sequence diagrams for each concrete requirement |
AdamSelene | kurtrips: Continuing the example, say, add item to cart in the consumer web site. |
AdamSelene | kurtrips: 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. |
AdamSelene | kurtrips: Here is a link about system architecture that goes into more detail: http://www.topcoder.com/wiki/display/training/System+Architecture |
connect4 | AdamSelene: Stop answering a question I was about to ask right before I ask it! |
AdamSelene | =) |
Ghostar | Anybody else? Bueller? |
connect4 | I can come up with non-architecture questions if we need to to kill time :) |
Ghostar | I'm here for an hour |
connect4 | jmpld40 could tell you all about some of the ones I've come up with in the past :) |
Ghostar | Bringing up the Yankees won't work for me, I'm a Brewers fan |
AdamSelene | I'm happy to answer any other TopCoder competition related questions as well. |
connect4 | Ah the Brewers! I got to see a game there as part of my bachelor party :) |
kurtrips | AdamSelene: So in the module architecture, the main task is 'component breakdown'? |
[hitcher] | AdamSelene: will the number of SRMs increased after the TCO? |
AdamSelene | kurtrips: 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 |
jmpld40 | So any more questions about Architecture Competitions? Are you all going to try them out now? :) |
connect4 | How 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... :) |
connect4 | jmpld40: That depends. The entry barrier still seems high and scary. |
Ghostar | Usually at least 4 days or so |
AdamSelene | Architecture competitions tend to have submission of 4-7 days |
AdamSelene | probably 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 |
dcp | AdamSelene: 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? |
connect4 | So 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? |
Ghostar | connect4: That's correct |
Ghostar | connect4: Depending on the project, you may not write any code at all |
AdamSelene | dcp: 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 =) |
kurtrips | AdamSelene: 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? |
Ghostar | kurtrips: I would assume so |
dcp | AdamSelene: Sorry, not sure what SDC challenge is, is that "specification"? |
AdamSelene | kurtrips: 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 |
Ghostar | kurtrips: I personally tend to provide pretty detailed sequence and interface documents |
AdamSelene | kurtrips: dcp - the Sensations Developer Challenge - link in a second |
connect4 | Ghostar: 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. |
Ghostar | kurtrips: Especially for custom components that are interdependent |
AdamSelene | kurtrips: http://sensations.aol.com/ |
AdamSelene | kurtrips: oops, that was at cp |
AdamSelene | kurtrips: *d |
AdamSelene | kurtrips: argh. @dcp |
kurtrips | AdamSelene: :) |
connect4 | lol |
dcp | AdamSelene: 3rd times the charm :) |
AdamSelene | there we go! |
AdamSelene | =) |
Ghostar | connect4: That's right. I think the testing competitions are towards the end of the process |
connect4 | You're a smrt typer there adam :) |
Ghostar | connect4: I think the test competitions are broken up into specification and implementation Challenges |
Ghostar | connect4: At least they were in the past |
AdamSelene | Yes, that is how they tend to run still. |
connect4 | Ghostar: Cool, thanks for the learneding :) Do you have to administer the architecture thing once you win it? |
AdamSelene | They are not part of architecture. |
Ghostar | connect4: Yep, support for all challenges that come out of the competition is the responsibility of the winner |
connect4 | AdamSelene: Ah ok. Then I'll retract all testing questions until the future "testing" chat :) |
connect4 | Ghostar: Sounds fun. Although potentially a lot of work! |
kurtrips | Ghostar: I'm not quite sure what 'sequence and interface documents' mean exactly? By interface, do you mean API? |
Ghostar | connect4: 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 |
Ghostar | kurtrips: Yep, I call them interface diagrams, but they are basically just class diagrams that describe the API |
AdamSelene | System architecture is responsible for defining any API between modules, and module architecture is responsible for API between components. |
connect4 | Ghostar: Yea, I figured the prize issue hurts things a little, but hopefully the economomy will turn around soon :) |
Ghostar | connect4: 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 |
kurtrips | Ghostar: And are the 'sequence diagrams' like the usual SDs, just that these connect components instead of classes? |
Ghostar | kurtrips: That's the intent |
kurtrips | Ghostar: Sorry for converting this chat into a interactive tutorial! |
connect4 | Ghostar: ooh that sounsd like fun! Next time I'm in your area, I'll definitely patronize you |
Ghostar | kurtrips: I tend to be more detailed than required in most of mine, only a little higher level than a design |
connect4 | Ghostar: err I mean your business. |
Ghostar | connect4: No one ever tends to be in my area :) |
Ghostar | connect4: I live in the middle of nowhere in northern Wisconsin |
Ghostar | connect4: 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 |
kurtrips | AdamSelene: Will these chats be published on TC? |
AdamSelene | I believe so, jmpld40 can cofirm. |
AdamSelene | *confirm |
jmpld40 | yes |
connect4 | I 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! :) |
AdamSelene | garlic bread in the mail would be horrible |
kurtrips | jmpld40: ok, will this be soon? |
Ghostar | connect4: My wife can bake just about anything, but like AdamSelene said, who knows if it would work in the mail. |
connect4 | AdamSelene: You mean you don't like a mixture of garlic, cardboard and postage stamps? |
Ghostar | connect4: Everything in the mail truck would smell like garlic :) |
jmpld40 | as soon as I can get it posted :) |
AdamSelene | I am partial to garlic |
Mafy | AdamSelene: Will the SDCs have designs? Or they will be passed from architecture directly to assembly? |
kurtrips | jmpld40: Ok :) |
jmpld40 | ooh ooh! i'll take some cookies! ;) |
connect4 | AdamSelene: It's delightful, especially when combined with Roasted chicken with peppers and duct tape |
AdamSelene | Mafy: it is expected that they will generate component designs. |
Ghostar | jmpld40: You should check out our blog (find it on LinkedIn), it has all sorts of her favorite recipes |
Ghostar | jmpld40: Although it is easier when she just makes it for you :) |
jmpld40 | cool, thanks! |
jmpld40 | i'm sure |
Ghostar | jmpld40: One of the problems of having a home office is that I am only 10 feet away from the kitchen |
AdamSelene | lol |
kurtrips | AdamSelene: How many online competitors will there be for each track in this TCO? |
jmpld40 | Ghostar: i have the same problem as my husband is a fabulous chef :) |
AdamSelene | kurtrips: There is no limit on the number of competitors. The first round of conceptualizations generated roughly 12 per project. |
Ghostar | jmpld40: You guys want to adopt me? |
kurtrips | AdamSelene: No, I meant the number of online finalists for TCO |
jmpld40 | Ghostar: haha, only if you bring your baker wife! |
Ghostar | jmpld40: Will do |
AdamSelene | kurtrips: This will be announced as soon as possible |
AdamSelene | kurtrips: jmpld40 may have more info |
jmpld40 | kurtrips: to be announced... :) |
kurtrips | AdamSelene: ok. |
jmpld40 | any other architecture questions? anyone anyone |
kurtrips | AdamSelene: Is there any distinction b/w architectures which go straight to assmebly and those that go to design? |
Ghostar | kurtrips: That's one of the thing argolite and I are trying to accomplish |
AdamSelene | kurtrips: The only time an architecture should go straight to assembly is if the architect can document all code at effectively component design level |
AdamSelene | one key thing, that I realize isn't necessarily expressed well through training etc, is that all implemented code should have a design to it |
kurtrips | AdamSelene: Really? Has this not happened yet? |
AdamSelene | so if the code is not covered by a component, it should be covered in the architecture |
AdamSelene | I 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 |
AdamSelene | For example if for some use case, say, generate report |
AdamSelene | if straight to assembly, your sequence needs to cover all the calls to generate the report |
kurtrips | AdamSelene: But why would an architect document all code at effectively componet design level when that's not part of the deliverable |
AdamSelene | that is part of the deliverable if no components are generated |
AdamSelene | the deliverables include sequence diagrams for all requirements |
argolite | kurtrips: that 's part of the assembly vs desing debate |
AdamSelene | looking 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 |
argolite | kurtrips: IMO all the xanhthus atchitectures should have gone via the design route because the scope was big enough to warant one |
AdamSelene | I 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 |
AdamSelene | this is not possible if the project would be implemented in 5+ components |
argolite | AdamSelene: Is there a general rule for when it goes directly to assembly, and when to design? |
AdamSelene | argolite: the general rule is that it never goes directly to assembly =) |
argolite | AdamSelene: LOL |
kurtrips | AdamSelene: Yeah, how can the architect himself figure out the scope? It's subjective. |
Ghostar | AdamSelene: You may want to start enforcing that :) |
AdamSelene | trying, trying |
AdamSelene | kurtrips: 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) |
Ghostar | AdamSelene: No problem :) |
AdamSelene | if you ever have any questions or concerns about the scope, you should immediately notify the PM via the forum |
argolite | AdamSelene: Yes, it seems to put some architects in a bind, as the scorecard is not meant to judge design-level details |
AdamSelene | argolite: yes, that is another problem |
argolite | AdamSelene: So, can we at leats bimplement a startegy where the requirements clearly state that the expectatio is desogn/vs assembly? |
AdamSelene | that should be the case as is - firstly it should rarely be direct to assembly, and secondly, in "competition task" it should be stated clearly |
AdamSelene | this 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. |
Ghostar | Any other architecture questions? |
jmpld40 | Before we end here, thank you so much Ghostar for coming to chat today. |
jmpld40 | and thanks for all of you being here as well |
Ghostar | My pleasure! |
AdamSelene | thanks everyone! |