willwen
V2EX  ›  问与答

最能体现软件工程师基本功的是什么?

  •  
  •   willwen · Jan 16, 2015 via iPhone · 7764 views
    This topic created in 4315 days ago, the information mentioned may be changed or developed.
    好吧,我也不说程序员了。 有什么能用来区分功力深厚和浮躁骚年呢? 我先来:数学在开发中运用(不全是算法)。
    59 replies  •  2015-01-17 09:37:31 +08:00
    EthanZ
    EthanZ
    Jan 16, 2015
    1
    Make coffee and order take out :D . just kidding
    msg7086
    msg7086
    Jan 16, 2015
    2
    要是数学的话起码一半的软工会被干掉。
    前几天刚刚被人问了个题目。
    说快速求第n个斐波那契数怎么求。n > 2^32。结果要求精确值。
    willwen
    willwen
    OP
    Jan 16, 2015 via iPhone
    3
    @msg7086 fibo(n)=sqrt(5)/5*((1+sqrt(5))/2)-((1-sqrt(5))/2)
    willwen
    willwen
    OP
    Jan 16, 2015 via iPhone
    4
    @msg7086 sorry,少了兩個n次方
    msg7086
    msg7086
    Jan 16, 2015
    5
    @willwen 精度不够……
    willwen
    willwen
    OP
    Jan 16, 2015 via iPhone
    6
    @msg7086 高精度還不如逼近?
    cnnblike
    cnnblike
    Jan 16, 2015
    7
    @msg7086 二分快速幂?
    willwen
    willwen
    OP
    Jan 16, 2015 via iPhone
    8
    @cnnblike 那東西已經不算是數學範疇了吧?。。完全是暴力逼近得出來的值
    okay, stop. 別歪樓了
    cnnblike
    cnnblike
    Jan 16, 2015
    9
    @willwen 二分快速幂+矩阵乘法啊……这不是基础么?我比较好奇你为什么要用浮点数去逼近一个整数数列,效率低下+处理不便。
    acdea4effdbb420d
    acdea4effdbb420d
    Jan 16, 2015
    10
    IQ
    em70
    em70
    Jan 16, 2015 via Android
    11
    debug
    silvernoo
    silvernoo
    Jan 16, 2015 via Android
    12
    命令行算其中之一
    typcn
    typcn
    Jan 16, 2015
    13
    数学盲,只会基础运算和常见算法
    msg7086
    msg7086
    Jan 16, 2015
    14
    @willwen #9已经说得很明白了嘛。
    所以我说如果用数学来筛人的话得筛掉一大批了。
    7654
    7654
    Jan 16, 2015
    15
    首先,你要会装电脑,然后各种报错要知道是什么并解决他们
    willwen
    willwen
    OP
    Jan 16, 2015 via iPhone
    16
    @typcn 我覺得這是用時方恨少的東西吧,聽說你是15歲初中生?沒在讀書?我建議補補課 ^_^

    @msg7086 數學是基本功吧,不一定說要很厲害,但是起碼能在需要的時候能游刃有餘會比較好。

    換個指標:對編程哲學或編程語言本質原理的理解
    sanddudu
    sanddudu
    Jan 16, 2015 via iPhone
    17
    发现问题 提出问题 分析问题 解决问题 的能力
    wohenyingyu01
    wohenyingyu01
    Jan 16, 2015
    18
    希伯尔空间,傅立叶变换,泛函分析,blablabla.....all bullshit.
    willwen
    willwen
    OP
    Jan 16, 2015 via iPhone
    19
    @em70 區分度不夠啊
    @silvernoo pipe比較貼切
    @sanddudu 區分度也不太夠,鍵盤打字員都知道怎麼fix bug
    hcymk2
    hcymk2
    Jan 16, 2015
    20
    软件工程师首先要是一名工程师,但是其实有多少的程序员能称之为工程师呢?
    vChrysanthemum
    vChrysanthemum
    Jan 16, 2015
    21
    数学:分析、代数、离散?(加常见的数学模型,譬如常见的微分方程的建立与求解方法+基本概率模型?)
    计算机:操作系统、编译原理、网络、数据库、算法数据结构?
    英语
    vChrysanthemum
    vChrysanthemum
    Jan 16, 2015
    22
    再加个几何,凑三分支
    sanddudu
    sanddudu
    Jan 16, 2015 via iPhone❤️2
    23
    @willwen 问你个问题,为什么要去区分程序员的功力?
    每个人总有自己擅长和不擅长的地方(比如你找运维他不一定能给你用 shell 写个斐波那契数列出来),懂得取长补短,学会提升自己才是重要的。
    都是程序员,一定要拿个具体标准区分,甚至贬低别人来提高自己么。
    我比较同意一句话 "外行越学越有趣,内行越学越痛苦" ,为什么呢?
    sanddudu
    sanddudu
    Jan 16, 2015 via iPhone❤️1
    24
    刚才没写完。
    因为入门总是容易的,但是深入总是痛苦的。
    特别是它还和你的工资挂钩的时候。
    另外即使是打字员也会写脚本给自己代劳的。

    最后,Javascript 是世界上最好的语言 XD
    有的话不是针对 LZ,不要在意
    Dongdong36
    Dongdong36
    Jan 16, 2015
    25
    @sanddudu 同意
    willwen
    willwen
    OP
    Jan 16, 2015 via iPhone
    26
    @sanddudu 你說的沒錯,不過對於創業者來說,能夠與靠譜的人共事是非常重要的。
    如果為了性價比來招一個看上去很牛逼的浮躁期打字員,失去的會是很大的價值,比如維護成本。
    sanddudu
    sanddudu
    Jan 16, 2015 via iPhone
    27
    @willwen 人是最大的不确定因素
    你去应聘都会碰上极品老板呢
    sanddudu
    sanddudu
    Jan 16, 2015 via iPhone
    28
    @willwen 另外事实上老板需要的是成本最小化和利益最大化
    都想招个以一顶百的,只要付一份的钱
    simpx
    simpx
    Jan 16, 2015
    29
    难道不是写文档之类的东西吗?
    要通俗易懂,非开发人员也能明白个大概意思
    但又逻辑严谨,对开发人员来说要有伪代码的效果
    Catstyle
    Catstyle
    Jan 16, 2015
    30
    @sanddudu 赞
    程序员大多都会有 文人相轻 这种习气

    没错,对于创业者来说,能够和一帮靠谱的人共事是一种幸福
    可是靠谱的定义不单单指 技术的功力
    处事的方式,工作的态度,成功的欲望,自我驱动的原动力
    种种这些,哪个不是创业者所不能或缺的?

    士别三日,当刮目相待
    ivenvd
    ivenvd
    Jan 16, 2015
    31
    大部分编程都用不到数学吧……我觉得应该是逻辑能力、沟通能力(包括写文档)之类的吧……
    willwen
    willwen
    OP
    Jan 16, 2015 via iPhone
    32
    @sanddudu @Catstyle 作為老闆,在我看來一個靠譜的工程師,如果能在技術方面駕輕就熟,不浮躁,而且能在團隊溝通(depends on exp)方面能成熟老到,那麼TA在處事方式、待人接物方面大多都處理得不差。

    我的每個夥伴都是相當靠譜的戰友,不一定技術好,但是很能學。決策基本是公投的 ^_^
    mornlight
    mornlight
    Jan 16, 2015
    33
    基本功难道不应该是快速学习新东西的能力吗。
    patchao2000
    patchao2000
    Jan 16, 2015
    34
    打字速度
    otakustay
    otakustay
    Jan 16, 2015
    35
    远比数学还重要的:逻辑拆解能力,即把一个问题变成程序化的逻辑分支和循环的能力

    我发现好多人这能力很差,这种人我都认为是扶不起的……
    ybh37
    ybh37
    Jan 16, 2015
    36
    不觉得数学硕士毕业的同事比我编程能力强。
    不搞底层开发就不要动不动拿数学说事儿。
    besto
    besto
    Jan 16, 2015
    37
    先回答歪楼的:计算机科学研究和软件工程师,是有本质区别的。

    再回答LZ的问题:设计能力,没有之一。
    拿到新需求,如果设计。
    vertion
    vertion
    Jan 16, 2015
    38
    与人交往的能力
    emonber
    emonber
    Jan 16, 2015 via Android
    39
    变量和函数的命名?目前最纠结这个了,既简短又清晰……
    willwen
    willwen
    OP
    Jan 16, 2015 via iPhone
    40
    @ybh37 我做數據分析的,數學知識比編程更重要
    standin000
    standin000
    Jan 16, 2015
    41
    盲打算一个
    lbp0200
    lbp0200
    Jan 16, 2015❤️1
    42
    1-100的求和问题,我就难倒了好几个人,哈哈
    io
    io
    Jan 16, 2015
    43
    懂不懂算法是软件领域中工程师和工人的分水岭
    madao
    madao
    Jan 16, 2015
    44
    算法和数学只是基础吧,但是把这个当做银弹也是想多了。例如楼上讨论n个斐波那契数的例子。
    Geeker
    Geeker
    Jan 16, 2015
    45
    debug 最重要
    h2ero
    h2ero
    Jan 16, 2015
    46
    自己通过学习解决问题的能力吧。
    lincanbin
    lincanbin
    Jan 16, 2015
    47
    赚钱的能力
    twd2
    twd2
    Jan 16, 2015
    48
    自学能力
    Viztor
    Viztor
    Jan 16, 2015
    49
    建模:
    软工的主要意义是解决实际问题。建立一个好的模型无疑是至关重要的第一步。
    如果连把问题转化成一个可实现模型的能力都无,何谈实现?
    更进一步:构建优秀的模型无疑可以降低软件开发的难度,从而逐步化解,分而治之...

    (以上纯属扯淡

    楼主说的毕竟是软件工程而非程序员。
    算法之类的不觉得有过于特别的意义。
    mxflove123
    mxflove123
    Jan 16, 2015
    50
    好多人都在提自学能力,到底怎么才能区分自学能力的强弱
    willwen
    willwen
    OP
    Jan 16, 2015 via iPhone❤️1
    51
    @mxflove123 自學能力好比加速度,除了在於用力多少,還在於之前的知識的掌握程度。如果能從已有的知識中抽取通用的,概念性的東西,就很可能在新的事物中得到運用以融會貫通。
    moroumo
    moroumo
    Jan 16, 2015
    52
    Software Development Engineer = SDE = Someone Do Everything
    superalsrk
    superalsrk
    Jan 17, 2015
    53
    斐波纳那个。。大概是用 “斯图特工具吧”, 而且感觉上没刷过一些oj几乎没机会碰到这种题。。个人认为:作为工程师,把算法文档拿过来,能能很优雅的进行建模,并通过所有的test case,水平已经相当高了。。。
    superalsrk
    superalsrk
    Jan 17, 2015
    54
    斐波纳那个。。大概是用 “斯图特公式吧”, 而且感觉上没刷过一些oj几乎没机会碰到这种题。。个人认为:作为工程师,把算法文档拿过来,能能很优雅的进行建模,并通过所有的test case,水平已经相当高了。。。
    ytzong
    ytzong
    Jan 17, 2015
    55
    会不会番羽墙
    Bitex
    Bitex
    Jan 17, 2015 via iPhone
    56
    RTFM, STFW
    scusjs
    scusjs
    Jan 17, 2015
    57
    最近发现,线性代数和概统很重要。。快疯掉了
    Epsil0n9
    Epsil0n9
    Jan 17, 2015
    58
    基本功=IQ+记住有效的知识(合适的教材资料和他人自己的经验)。
    mxflove123
    mxflove123
    Jan 17, 2015
    59
    @scusjs 考研狗表示so熟悉 哈哈
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3796 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 175ms · UTC 01:39 · PVG 09:39 · LAX 17:39 · JFK 20:39
    ♥ Do have faith in what you're doing.