News for hackers. Stuff that matters.
Re:Ask HN: What would make your development 10 times or 100 ... by jka on Wednesday June 24, 2020 @06:42AM (#23626372)
Not a language, not a framework, not a design pattern; we have more than enough of these already, and they cover all of the use cases -- they've become fashions and a means for coralling developers and creating markets rather than actually delivering value.

What would genuinely enhance productivity would be some means to co-operatively share and discuss architecture, design and implementation decisions and trade-offs in realtime while maintaining creative control over code.

For example; I'm considering where to place the code for a new feature within my application stack - should I implement it as part of the frontend application, or do I handle it in a backend service?

Multiple tradeoffs and implications fork off from this type of seemingly simple question, and they'll have performance, deployment, security, operational and organizational impacts over the course of the lifetime of the application.

Those types of questions generally bounce around in a developer's own mind -- and potentially with their team over the course of a few meetings or chats.

To be able to share questions like these with a public audience -- perhaps similar to the way that coding session interview candidates are encouraged to explain their thinking throughout -- and then to gather and debate feedback on the merits of each decision, and develop trust with each participant (based on their overall contributions, or for specific areas-of-experience) could make for a valuable platform.

As hinted previously, this could apply at architecture and design (whiteboard, conversation) levels, and at implementation-level (shared IDE screen, conversation).

Delivered correctly this could also be a useful training and educational tool; observers could learn about the tradeoffs that are made for real applications, and participants should gain a sense of achievement (and attribution; ideally in writing although also through evidence of discussion) from helping steer the course of software.

Open-minded participants would learn from the situations in which their suggestions were declined, and ineffective actors on the platform (whether asking questions or attempting to mislead discussion) would become apparent over time.

Conversely though -- it could be time-consuming and potentially incredibly distracting for architects and developers to visit and share their problem statement in this kind of environment -- letalone interact with it subsequently -- so it would likely fail unless the signal-to-noise ratio was very high and clearly added value to their project.

Re:Ask HN: What would make your development 10 times or 100 ... by jka on Wednesday June 24, 2020 @07:06AM (#23626524)
As an additional thought: it would be useful if such a service could be applied retroactively to historical software concerns as well.

This would provide the community with more of an ability to maintain and improve the existing software that we all rely on to be robust, effective and secure.

For example, if a software project had decided to introduce component X at some point in the past, a platform like this could identify that (and the historical reasons for the selection) as a blocker for necessary changes to support a subset of the current user community.

That could lead to a task list for the changes required to rectify the architecture, and discussions about the subsequent tradeoffs involved in those changes - and so the process could continue, iteratively.

Re:Ask HN: What would make your development 10 times or 100 ... by 135792468 on Wednesday June 24, 2020 @08:52AM (#23627274)
I agree with this. My partner is a dev and I am not, he needs some people like this to have those conversations with but feels the standard communities/slacks etc have too much noise. I don’t know what the answer is, but you’re not alone.
Re:Ask HN: What would make your development 10 times or 100 ... by jka on Wednesday June 24, 2020 @11:03AM (#23628627)
Thanks. StackOverflow has aspects of a solution (asking questions and tracking reputation), GitHub has aspects of it (pull requests and in-context discussion), but they just don't quite seem to fit somehow.
Re:Ask HN: What would make your development 10 times or 100 ... by v1l on Wednesday June 24, 2020 @03:10PM (#23632466)
I'm trying to understand how this platform would be different from a Stack Overflow. Do you mean a Twitch like platform?
Re:Ask HN: What would make your development 10 times or 100 ... by jka on Wednesday June 24, 2020 @06:23PM (#23634564)
Without wanting to prescribe solutions, I do think that elements reminiscent of StackOverflow, Twitch and GitHub could be relevant.

As part of the developer experience, everyone hits design and implementation doubts or blockages from time to time.

The key feature to provide would be an unobtrusive way for the developer to 'surface' from the obstacle -- perhaps including a link to the relevant lines of code, issue, or project -- and to raise that question with a community that subscribes to the relevant topic(s).

Ideally people viewing and responding to that question could view and gather the project's context -- easy with open source projects, for example -- to help guide and improve their responses.

So as not to give the impression I think this is a risk-free idea: I do think a platform like this could raise questions about the authorship and ownership of code.

I believe it's reasonably well-accepted in startup culture that searching for snippets of code is OK, certainly with fair attribution; but is crowd-sourcing an answer based on your personal network value OK?

(addendum: also, ethically - how would a platform like this fairly remunerate participants and ensure that they're well-informed (and retain control over?) the use of their contributions?)