This is a weekly roundup of awesome DEV comments that you may have missed. You are welcome and encouraged to boost posts and comments yourself using the #bestofdev tag.
We start things off with two comments about terrible interview questions. The first is specific to a particular question discussed in this post: Terrible interview question: Swap variables without a temporary. @alexkindle
offers on upside from getting this question:
I love getting interview questions like swap without a temporary variable, because it is an extremely strong signal (as an interviewee) that you should absolutely not work at this company.
Interviewer: "Did you heard about this facebook thing?"
Interviewer: "Can you than develop something like that?"
This phenomenon is why I avoid ever asking questions on Stack Overflow.. I have found it to be very toxic with people attacking the person asking questions and their intelligence. My strategy has been to just avoid those people as much as possible
Finally, answering What should I know to be a software architect?, @jorgecc
offers a thorough run-down on the term of "software architect" and shares some insights about what one might want to know if they're moving into that role:
How to be a good software architect?
Software architecture is social work. It's not rare the software architect is also the project in chief, and it could also be a CTO.
We, as an architect, we must be able to answer 3 questions: what? how? and with what?
A software architect must understand what the requirement is. So, how we know this?. Talking, we talk with the product owner / who request the project and talk with all parts, including the team.
Then, the software architect must evaluate the resources. For example, the goal is to build a Facebook in a year, but we have 3 developers juniors. So, is it possible?. No, without extra resources, so let's talk with the guys of HR if we are able to hire new developers, or let's say if we could increase the time or lower the requirements.
About resources, let's say it is a startup and the company hasn't picked a technology, so, we should choose a technology based on the resources (developers, licenses, server if any) and start marking a roadmap. For example, if the team is aligned with Visual Basic 6 and it is enough to work, then go ahead, and we will develop with VB6. However, if we are a startup (there is not technology or team), then we could pick the best technology for the job.
And finally, we create the database model, screen mockup, use-case (if any), UML (usually they are useless trash, but some people love it) and such. Then, can we start?. NOPE. We should talk (again) with the product-owner, we should show the mockup, the use-case (or workflows if any) and the product-owner could ask changes.
See you next week for more great comments ✌