V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
banxi1988
V2EX  ›  程序员

招了个比较菜的开发,是继续培养还是放弃?

  •  
  •   banxi1988 ·
    banxi1988 · 2015-05-24 17:33:11 +08:00 · 18434 次点击
    这是一个创建于 3472 天前的主题,其中的信息可能已经有所发展或是发生改变。

    招了个比较菜的开发,是继续培养还是放弃?

    背景

    由于公司位置原因(广西南宁),招了很久没有招到人,于是近来放松了要求,好了,招了个 iOS 开发进来.
    由于他完全没有听过Git 这东西,于是第一天是培训下Git的使用.然后是Xcode使用,然后是AutoLayout,
    UIScrollView,UITableView等等.

    序曲一

    首先是AutoLayout的使用测试, 写代码不会, 第一天勉强交差, 但是处理UILabel时,不知道contentHuggingPriority属性.于是我亲自写代码示范指导了一遍.
    第4天时,布置了实现一个列表页加详细页的小Demo,没有增删.
    做过开发都应该知道,这种一个列表页一个详情页,是最简单也是最常见的Demo了.
    Xcode 生成的Master-Detail 项目模板都比这样复杂.
    一开始我还是渐进的要求的, 要求实现一个列表页吧.
    但是, 它居然开始是网上找了一个Demo 来交差 (不过刚好,那Demo我在Github见过,还提过PR)
    于是要求让他自己写.
    晚上交差,发现他所知道的MVC应该就是知道其缩写,这还在其次,更让我失望的是,居然类都不会用.
    自然,我叫他好好理解下Model的意义和使用
    晚上,一看代码,如果多了个Model类,但是是这样的:

    class Model {
        var titleLabelArray = ["漓江晚霞迷人景色","尽游三江",  "阳朔夜景一角","阳朔夜景一角",]
        var bodyLabelArray = [ "漓江迷人风景,千姿百态的民族风情,让人流连忘返",  "强化漓东巡逻防控,预防和震慑\"两抢一罪\"犯罪",  "强化漓东巡逻防控,预防和震慑\"两抢一罪\"犯罪", "强化漓东巡逻防控,预防和震慑\"两抢一罪\"犯罪"]
        var imageArray = ["guilin0", "guilin1", "guilin2", "guilin3", "guilin4"]
        var timeArray = ["2015-05-01", "2015-06-02", "2015-07-03", "2015-08-04"]
        var scrollViewLabel = ["风景1","风景2", "风景3", "风景4"]
    }
    

    原来这就是他所谓的Model啊...
    然后我想,接下来我会交给他实现详情页的任务,那时他应该会认识到他的错误了吧.

    序曲二

    然后第二天任务就是,在前一天的基础上,实现详情页

    下午的时候,他去上厕所的时候遇到我,问我说,给详情页传数据用委托怎么样?
    我心里想: 委托? 这里要用委托?
    然后我说要不你先看看iOS 的 那个教程 马上着手开发 iOS 应用程序 (Start Developing iOS Apps Today)

    下午下班前,问他看了没? 他说他已经实现得差不多了
    晚上我办事完,回到家看到它的代码,还是老样子,整个人都不好了, 真是聪明的孩子啊! 估计用plist来传值

    var ban = NSBundle.mainBundle()
            //读取plist文件路径
            let plistpath = ban.pathForResource("DetailModelList", ofType: "plist")!
            //读取plist内容放到NSMutableArray内
            data = NSMutableDictionary(contentsOfFile: plistpath)
    
            title1 = data?.valueForKey("title") as! [(String)]
            time = data?.valueForKey("time") as! [(String)]
            date = data?.valueForKey("date") as! [(String)]
            from = data?.valueForKey("from") as! [(String)]
            bodyImage = data?.valueForKey("bodyImage") as! [(String)]
            bodyText1 = data?.valueForKey("bodyText") as! [(String)]
    

    他居然是使用在列表页将一个列表项的内容写入一个文件,然后再详情页中再读取.
    但是在iOS 中这样应用中两个类之前传递值,只要简单的

    detailViewController.item = selectedItem;
    

    即可.

    细节

    1. 他用 百度查 Model 的时,我说翻墙都给你配置好了,为什么不用Google啊?
      回: 之前从来没有翻过,用Google不习惯

    2. 上面让其看 Apple 的文档时,居然开启了Google的自动翻译,然后也是不看英文文档的,
      估计基本也就告别了StackOverflow了,太可惜了. (英文不好,还不思进取,在我心里减分不少)

    再给一次机会

    早上,我出去办事之前,给他Tower上留言说:

    继续修改,希望晚上能看到让我满意的结果

    晚上回来,一看,处理详情页的代码更难看了
    增加了一个DetailModel.swift文件
    全部内容如下:

    import Foundation
    import UIKit
    
    var ban = NSBundle.mainBundle()
    //读取plist文件路径
    let plistpath = ban.pathForResource("DetailModelList", ofType: "plist")!
    //读取plist内容放到NSMutableArray内
    var data = NSMutableDictionary(contentsOfFile: plistpath)
    
    
    var title = data!.valueForKey("title") as! [(String)]
    var time = data!.valueForKey("time") as! [(String)]
    var date = data!.valueForKey("date") as! [(String)]
    var from = data!.valueForKey("from") as! [(String)]
    var bodyImage = data!.valueForKey("bodyImage") as! [(String)]
    var bodyText = data!.valueForKey("bodyText") as! [(String)]
    
    func detailModelOfNum(num: Int) -> (title: String, time: String, date: String, from: String, bodyImage: String, bodyText: String) {
        return (title: title[num], time: time[num], date:date[num],from: "来源: " + from[num], bodyImage: bodyImage[num], bodyText: bodyText[num] )
    
    }
    
    
    func changeView(obj: DetailViewController, num: Int) {
        obj.titleLabel.text = detailModelOfNum(num).title
        obj.timeLabel.text = detailModelOfNum(num).time
        obj.dateLabel.text = detailModelOfNum(num).date
        obj.fromLabel.text = detailModelOfNum(num).from
        obj.bodyText.text = detailModelOfNum(num).bodyText
        obj.bodyImageView.image = UIImage(named: (detailModelOfNum(num).bodyImage))
    }
    

    这下我真是失望透了,于是直接在Tower回了:

    刚看了,很不满意, 失望.

    他回复的其中一句,真是让我苦笑不已啊:

    model的概念我理解差不多了

    矛盾

    这种开发, 我内心是不肯花时间去培养的.
    但是,在相对落后的地方招人又比较困难,而且说起来他还是有 iOS 开发经验的

    个人倾向: 不想浪费时间了.

    216 条回复    2015-08-13 00:14:07 +08:00
    1  2  3  
    lguan
        201
    lguan  
       2015-05-26 23:43:26 +08:00
    先不说这小伙多菜,不用google和英文用自动翻译这点,我也很反感,但是我想说的是,LZ你这个Mentor,完全不合格
    banxi1988
        202
    banxi1988  
    OP
       2015-05-26 23:48:16 +08:00
    @lguan
    我的回应:
    https://www.v2ex.com/t/193973
    请指点.
    RitzoneX
        203
    RitzoneX  
       2015-05-27 01:48:14 +08:00
    太有趣了
    lguan
        204
    lguan  
       2015-05-27 02:34:48 +08:00
    @banxi1988
    作为一个mentor,出发点应该是带下手学,引着他走,每一个人,进入一个新的领域,都是从不会到会。从你的言语中,处处透着一种凌驾于他之上的优越感,我觉得带人,我宁愿明确一点,比如明确告知,不要用百度,用Google,这个不要这么做,要怎么写,为什么,举个例子,他问你给detail界面传值用委托怎么传,你心里为何有心里活动而不明确告诉他,用委托不对,却反而给他一个教程,来,去参参看,是不是有点武侠小说学艺的情结?

    最后说一下,经过面试的,的确还是有可能有各种不合适,如果觉得不合拍,大家散掉就是,这种帖子都是没必要发的。
    jyootai
        205
    jyootai  
       2015-05-27 09:17:22 +08:00
    qsl0913
        206
    qsl0913  
       2015-05-27 09:47:12 +08:00
    Tower出境率很高啊
    ZHenJ
        207
    ZHenJ  
       2015-05-27 10:16:51 +08:00
    @qsl0913 Tower或成最大赢家
    angelface
        208
    angelface  
       2015-05-27 11:04:48 +08:00
    @lguan
    zjuster
        209
    zjuster  
       2015-05-27 11:58:41 +08:00
    你应该直接说他哪里不合适,应该该怎么样,而不是到v2ex来发帖说他哪里不对不对。

    沟通在哪里?
    monsabre1
        210
    monsabre1  
       2015-05-27 13:26:30 +08:00
    这老总是个外行
    小公司技术栈越简单越好
    coderlu
        211
    coderlu  
       2015-05-27 22:15:46 +08:00
    @lguan 说出了我还想说的。
    ivvei
        212
    ivvei  
       2015-05-27 22:57:32 +08:00
    我觉得程序员之间是有鄙视链的存在的,而他正好处于你鄙视的人群中,于是你多少带着有色眼镜在审视他,给予的耐性也略欠缺了些。

    也不能强求吧。不是所有的人都能处得来的。处不来的不能勉强。
    hellboys
        213
    hellboys  
       2015-05-28 10:29:02 +08:00
    http://www.v2ex.com/t/193838
    遇到比较压抑的上司,我就是被招的那个比较菜的开发

    -_-!!!
    nipao
        214
    nipao  
       2015-05-28 11:55:01 +08:00
    都说了这是tower的广告,大家就别较真了
    看完X掉,看下一篇
    crystaldust
        215
    crystaldust  
       2015-06-24 17:06:26 +08:00
    @w99wen 我在公司啥都搞,根据我的经验,技术开发方面的东西确实是Google国外的论坛、资料比较合适,氛围好,有深度,没什么打酱油的;但是要是弄一些HelpDesk的事情,比如常用程序报错了,网络设置有问题啦,绝对是百度比较合适!估计国内用盗版Windows的比较多,积累的各种奇怪问题的解决方案也比较全
    lequiet
        216
    lequiet  
       2015-08-13 00:14:07 +08:00 via iPhone
    如果能力上(不是IOS方面)够用,就差不多了,但要慢慢带。。OC+苹果这套框架,还是挺另类奇葩的, 换个有经验的,刚学时估计也够呛。
    1  2  3  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1351 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:24 · PVG 01:24 · LAX 09:24 · JFK 12:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.