V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
yuankui
V2EX  ›  奇思妙想

计算,存储都云化了,开发者为什么不能云化?

  •  
  •   yuankui · 2019-07-08 11:03:36 +08:00 · 6170 次点击
    这是一个创建于 1998 天前的主题,其中的信息可能已经有所发展或是发生改变。

    谢谢进来,最近有个 idea,大家可以一起讨论下。

    目标:老子明天不上班 前提:程序员的工作,是最先可能实现远程交付的 背景: 1. 大公司不好混,成天都是想着怎么升职,升职的背后,隐藏着很多其他隐形力量的较量 2. 有技术,但是在公司中,工作并不饱和,希望有些额外收入 3. 程序员渴望被公平对待,希望瓶颈程序员,更多的是通过代码产出,而不是“ PPT ”写的好坏来评判 4. 一些人,渴望自由,希望节省下通勤的时间,更多的自己把握自己的时间,而不是下了班,看着大家都耗在公司,不敢走。 5. 我就是喜欢技术,我努力过,就是学不会虚头巴脑的那一套 怎么做?

    1. 需求方发布需求任务到系统中
      1. 选择语言,Java+Spring
      2. 定义接口,以及实体
      3. 录入(部分)测试样例
      4. 录入约束:
        1. 代码行数?
        2. 依赖 maven 包列表,版本限制?
        3. 包名命名(防止类名冲突)
    2. 系统经过某些调度算法,某个开发者实体获得了这个任务
      1. 当然也可以是竞标的方式?
    3. 开发者点击下载初始代码,开发开发,开发者需要让这个测试样例全部跑过
      1. 希望开发者能够点击下载后,初始化环境,就能直接上手开发的,环境配置,数据库这些,都需要需求方提供建表语句,如果有样例数据,还要导入样例,当然这些系统需要提供相应的工作支持
    4. 开发完毕,push 代码,点击“交付”
    5. 需求方收到交付,可以点击“运行测试”,一般样例测试都能跑过,需求方,自己会保留一份更加完善的测试 case,继续运行,成功!
    6. 需求方进行代码 review,并对代码提出疑问
    7. 开发者解答,直到需求方没有其他疑问
    8. 需求方点击“确认验收”
    9. 下载代码。mvn install,在自己的项目,增加这个依赖,spring 注入这个服务

    整个过程体验,希望力争做到更 leetcode 上面做题一样对程序员友好。 希望需求方也是懂技术的,需求必须通过某个领域的特定描述(这里限定 Java8+Spring ),保证无歧义,不扯皮。

    如果有个这样的系统。

    • 作为需求方,你是否愿意把你多余的工作发布出来(当然开始和,整个过程就完全对外隐藏了)
      • 作为我自己来说,假如我每天收入 500 元,我是愿意拿出 100 元,解放自己的时间的。将我的工作进行适度的抽象,拆分,不泄露公司隐私的前提下,将这个作为任务派发出去的。比如实现一个算法?一个调度器?
      • 如果我自己有渠道,我是可以作为一个技术经理角色,将数据库设计,技术设计完成后,编写各个模块的需求文档,然后分派出去。这样我自己的时间就大大解放

    作为开发者,你是否愿意投入到这里面通过自己的实际产出挣取收入。

    感兴趣的,可以一起讨论,也可以加我微信深入交流: eXVhbmt1aQo=

    27 条回复    2019-07-16 10:22:56 +08:00
    zagfai
        1
    zagfai  
       2019-07-08 11:49:31 +08:00
    有是有的,但要做都 leetcode 那樣不太現實,對問題的描述、需求的細化不是說一寫就能寫完,需要反覆修訂。
    更多的需要像 slack 這樣的協作平臺加一個 git。
    歐美其實現在是有很多遠程工作的
    est
        2
    est  
       2019-07-08 11:50:27 +08:00
    SaaS 不就是玩这个的。。。

    Salesforce。
    qq976739120
        3
    qq976739120  
       2019-07-08 11:51:10 +08:00
    私活的任务量是很难量化的,不像 leetcode 那样错就是错对就是对
    yuankui
        4
    yuankui  
    OP
       2019-07-08 11:55:54 +08:00
    @zagfai 是指 freelancer,upwork 这些平台吗?

    这俩平台都是整个项目外包吧?里面很涉及到很高的沟通成本。但是作为需求方,完全可以把某个功能点,抽象出来,付不出去,面向接口编程,集成的时候,通过依赖注入实现即可。

    理想情况,就是尽量减少,甚至没有来往的交互,因为远程很多都是异步的,交通成本有点高,也很烦。
    yuankui
        5
    yuankui  
    OP
       2019-07-08 11:56:57 +08:00
    @est 我只知道他是个 CRM 软件?还做开发者平台的?他是什么模式?
    yuankui
        6
    yuankui  
    OP
       2019-07-08 11:58:29 +08:00
    @qq976739120 所以就是,我就只出这么多钱,帮我实现这个接口,爱干不干。。
    当然有些人,核心模块,他是愿意出高价,把活交给一个信誉,技术,评价比较高的程序员的吧?
    leo108
        7
    leo108  
       2019-07-08 11:59:31 +08:00
    楼主只站在程序员的角度看问题。
    对于出钱方(公司)来说,需要能出详细的业务说明文档、测试用例,这个成本可不低,如果是全职的工作可能面对面说一两句话画一两张图就能理清楚需求,远程沟通而且是和不熟悉的人沟通效率并不高,外包小的业务功能并不能降低研发成本,反而会增加管理成本。
    yuankui
        8
    yuankui  
    OP
       2019-07-08 12:11:23 +08:00
    @leo108 的确,在日常工作中,这些工作的确相当繁琐。

    但是对于一个细分领域,是不是可以通过工具,将这些流程规范化,标准化。比如测试样例生成软件?接口定义模板?(前提是平台要定一个模块集成规则,spring IOC,RPC ?)
    当然,这个需要摸索。。

    那,就我上面提的场景

    > 作为我自己来说,假如我每天收入 500 元,我是愿意拿出 100 元,解放自己的时间的。将我的工作进行适度的抽象,拆分,不泄露公司隐私的前提下,将这个作为任务派发出去的。

    发展到后来,会不会出现专门的“系统分析,拆解师”,这样也是分工更加细化的趋势吧?
    leo108
        9
    leo108  
       2019-07-08 12:22:00 +08:00
    @yuankui #8
    「系统分析、拆解师」需要对系统本身的业务十分熟悉,然而大多数公司的业务并不能通过简单的文档来描述,需要靠时间去逐步地熟悉,这就导致这个工种很难众包化,即使众包也会演变成长期的外包合作,对企业来说和雇佣一个全职的没太大区别。
    whileFalse
        10
    whileFalse  
       2019-07-08 12:54:11 +08:00
    因为人没法用 API 控制。
    yuankui
        11
    yuankui  
    OP
       2019-07-08 13:17:00 +08:00 via Android
    @leo108 所以公司是不是只需要雇佣一个系统分析,拆解师,就好像雇佣一个电脑组装师一样。。
    yuankui
        12
    yuankui  
    OP
       2019-07-08 13:18:55 +08:00 via Android
    @whileFalse 怎么说呢?接口给出来了,实现就行,需要控制哪方面?时间问题还是什么呢
    est
        13
    est  
       2019-07-08 13:44:00 +08:00
    @yuankui 就是把程序员菜单化了。
    glfpes
        14
    glfpes  
       2019-07-08 13:45:10 +08:00
    别说外包了,正式员工留下的坑还少么。。。这种东西最终只能产出一坨坨的代码。
    whileFalse
        15
    whileFalse  
       2019-07-08 14:37:44 +08:00
    抱歉,之前没仔细看内容。

    楼主你这是要写一个 lambda 驱动的系统啊。
    visonme
        16
    visonme  
       2019-07-08 14:45:36 +08:00
    最大问题其实你不知道需求方会是个怎么样的
    软件作为虚拟产品很多时候只有主线规则,分支都是很难控的
    ohooooo
        17
    ohooooo  
       2019-07-08 17:53:31 +08:00
    代码都是公司的无形资产。远程“云开发”的话,不能保证核心代码的隐私性。
    starsriver
        18
    starsriver  
       2019-07-09 12:55:24 +08:00 via Android
    远程高材生了解一下
    hydyy
        19
    hydyy  
       2019-07-09 14:14:13 +08:00
    真正的需求并不是从一而终的, 是在不断的讨论修改调整之后才算是最终需求. 远程怎么搞 效率很低啊
    wmhx
        20
    wmhx  
       2019-07-09 18:11:04 +08:00
    供求关系决定的; 买房就低价, 供方想省钱
    yuankui
        21
    yuankui  
    OP
       2019-07-09 22:10:14 +08:00
    @whileFalse 不懂 lambda 驱动是什么意思,是 aws 那个 lambda 吗?
    我想的是,未来软件应该是像拼积木一样的,或者组机器一样的。
    有一个非常庞大的共享的组件库。(包括前端,后端)
    前端可以是类似于 react 那种的基于标签的组件库(比如表单元素,必须有 value,onChange 属性,这是一种协议)。
    后端的 web,微服务,可以是类似于 reactive 风格,类似于 spring-flux 那种,基于函数式的串联
    大数据的话,flink,spark 那种,其实也是一个处理流,是完全可以具象化一个 DAG 图的形式,每个节点就是组件和边就是流
    所以一个很关键的是概念应该是协议和实现。应用应该是面向协议的。
    到时候软件开发,应该会更加轻松。。

    所以回到我的主题,未来程序应该就是开发组件,实现一个已有的协议。
    需求方自己负责对组件进行组装。。
    shaojz2005
        22
    shaojz2005  
       2019-07-10 07:42:42 +08:00
    传说日本就是这样的,一个 IT 项目,从需求规划到功能拆分、实现流程都一步步细化,再分发到下面的公司去实现的,所以最终程序员在编程时已经是拿着像“假代码”一样的描述文档来“翻译”为程序代码了。结果就是 IT 项目耗时和耗资都很大,底层程序员就像工人一样机械工作,没有创造性。
    whileFalse
        23
    whileFalse  
       2019-07-10 09:33:43 +08:00
    @yuankui 就是那个。Lambda,或者说函数计算,就是细分到每个接口的微服务。所以可以按各个接口分配工作。
    ershisi
        24
    ershisi  
       2019-07-11 11:21:37 +08:00
    有 code_review 就不需要远程开发了啊。
    justin03
        25
    justin03  
       2019-07-11 12:45:58 +08:00
    其实有,serverless---> codeless,FaaS --- Function as Service, 外面有很多技术讨论,比如 auth,云服务商直接提供接口,可以直接调用等等,基本的 crud,当然核心或者特殊的部分还是要写。
    yuankui
        26
    yuankui  
    OP
       2019-07-11 16:07:47 +08:00
    @justin03 嗯,这种,实现起来不难。
    但是业务方,可能更加希望直接操作数据库吧,更加灵活。
    除非他的 SDK 封的,数据模型抽象的特别好。
    cnyballk
        27
    cnyballk  
       2019-07-16 10:22:56 +08:00
    管理成本很大吧,不能保证编码风格,并且维护起来很麻烦,云化的话,不如就是远程办公?感觉完成任务就 ok 了,你可以自己做自己的事情,这就需要一个分配任务的合理了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1227 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 18:11 · PVG 02:11 · LAX 10:11 · JFK 13:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.