V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jimmy2010
V2EX  ›  问与答

[职业规划相关]有非计算机相关专业的人士最后做了程序员的么?

  •  
  •   jimmy2010 · 2012-12-24 22:33:24 +08:00 · 5164 次点击
    这是一个创建于 4356 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我大学学的英语,但是对英语相关的行业比如外贸、教师、翻译等等都不是很感兴趣,倒是对计算机、网络挺感兴趣的,现在做的工作也和后者相关,经熟人介绍,在家乡省会城市一家小小的网络安全公司工作,因为专业不对口,所以刚去的那几个月都是实习自学,看了些相关的专业书、比如CCNA、HTML、asp等等,以及一些渗透性测试方面的知识。现在主要做安全测评类的项目,什么服务器核查、web渗透性测试之类的。但是总觉得没保障,毕竟不是科班出身,而且以后想回家乡小城市去,网络信息安全方面的工作几乎没有,所以我想自学编程方面的知识,一来可以加深对信息安全的理解、二来以后二转做点开发类的工作也。。。可以吧。。。

    很幸运找到v2ex这个程序员的天地,不知道有没有兄台和我一样不是科班出身的,能请教一下如何转职么?以前我打算自学的,找了《c程序设计》开始学c语言,结果没坚持多久,感觉这本书不是那么吸引人。

    我想问:c语言是一门合适刚学习编程者的语言吗?有没有哪门语言在你们看来更合适一点?还有哪些相关的东西需要学习?比如算法、数据结构之类的?

    Thanks in advance.
    22 条回复    1970-01-01 08:00:00 +08:00
    ichigo
        1
    ichigo  
       2012-12-24 22:44:48 +08:00
    我周围认识大把的非CS出身的coder,不过ta们大多出自数学或通信专业等。
    我认为C语言是每个初学者最佳选择,虽然现在用到C的地方已经很少了,但几乎所有语言都是类C,C是一种思想。至于DS,想成为一个高级工程师必须要研究点算法吧?
    ericFork
        2
    ericFork  
       2012-12-24 22:53:41 +08:00
    英语专业路过……2012 届
    jueying510
        3
    jueying510  
       2012-12-24 22:54:58 +08:00
    英语好是种优势,最好在找个培训机构搞搞就没多大问题了
    surfmanjoe
        4
    surfmanjoe  
       2012-12-24 22:55:43 +08:00
    张宴就是一例。 http://blog.s135.com/index.php
    国贸背景。
    Sivan
        5
    Sivan  
       2012-12-24 23:05:55 +08:00
    学服装设计的路过。
    qiayue
        6
    qiayue  
       2012-12-24 23:15:56 +08:00
    好基友的妹子刚刚成为程序媛半年,在这之前,她是幼儿园教师,师范类学校英语专业毕业。
    Narcissu5
        7
    Narcissu5  
       2012-12-24 23:38:11 +08:00
    小城市木有信息安全方面的工作,你觉得会有编程方面的工作??
    jimmy2010
        8
    jimmy2010  
    OP
       2012-12-25 00:12:31 +08:00
    @ichigo 非常感谢,我想了一下,也许我应该找某种语言里公认的比较合适的书,而不是选择某种语言做为启蒙吧。

    @ericFork
    @Sivan 你们现在都做程序员啦?用的什么语言?

    @jueying510 以前我想过去上北大青鸟的,但是总觉得读了四年本科再去那种学校很别扭,而且培训学校良莠不齐,不知道怎么选择,可能运气好能有帮助,运气不好还不如自学。


    @surfmanjoe
    @qiayue 谢谢,真希望能具体了解一下他们的学习过程就好了。非专业人士走向程序员到底走了一条什么样的路?培训?自学?看了哪些书?有没有遇到一些什么样的不必要的弯路?

    @Narcissu5 上51job搜了一下好像还真没有,本来以为开发至少比安全要范围广一些,毕竟安全还没有那么普及。那就当作对自身的一种提升吧,学习编程肯定能把安全做得更好。
    那就当作一种提升吧
    jueying510
        9
    jueying510  
       2012-12-25 08:33:13 +08:00
    @jimmy2010 首先确定容易上手、市场广的语言,再选择一个专业性强的培训机构系统学习,当然还是靠自身对语言的研究。ps:北大青鸟之流比较适合高中毕业的孩纸,不建议。
    bunorte
        10
    bunorte  
       2012-12-25 09:34:22 +08:00
    如果你将来回家乡小城市去,可能靠你自学的那些计算机知识想找一份工作很难。省会城市还是可以立足的,只是需要你从基础学起,慢慢提升。另外我个人有一个观点:安全和编程关系不是很大,可能你说的安全是泛指的网络安全,因为看到你上面提到了CCNA,刚毕业那会在一家公司做网管有听过,但是这个东西貌似主要是跟硬件、网络关系比较大,跟Web安全之类好像有点区别。编程的话,看你是喜欢软件还是网站了,网站的话门槛低一点,学一学HTML,CSS就能入门,但是到一定程度之后像JS,或者后端语言,还是需要懂一些逻辑、算法的。

    C语言应该说是每一个读计算机专业的学生一定会经历的,可以说是基础,让人了解编程的思想。只不过现在社会上实际工作用C语言编程的比较少,大部分都是高级语言了,比如.Net,Java,PHP,Python等等。看C语言的书主要是学习编程的思想,并不是要你靠自学完那个去找工作。算法、数据结构这些,可能对于你来说现在复杂了点,可以先放放。

    其实人生都是掌握在自己手中,别人的看法可能不一定真正是处在当事人的立场做出的,也许过几年你不喜欢搞IT了也说不定。只不过在当下,想好自己要做什么,再来提问,可能得到的答案更准确。
    summer
        11
    summer  
       2012-12-25 09:46:59 +08:00 via iPhone
    我是工商管理专业的。做it要往北京上海去。
    crazybug
        12
    crazybug  
       2012-12-25 10:19:51 +08:00
    记得十年前,一个朋友说过,搞开发的不少是农林牧副渔专业的。
    tigger
        13
    tigger  
       2012-12-25 10:47:50 +08:00
    同意十楼的说法,看你到底喜欢什么,喜欢计算机和互联网,和从事程序员还是有区别的吧,也许你只是喜欢用计算机,喜欢在互联网上吹吹水呢,当然,如果你真喜欢,那就照10楼说的做吧,考虑太多,往往什么都做不好,开始学习阶段,多做少想,当然我说的想不是指在学习中,而是说不要太多考虑一些学习之外的东西。
    jimmy2010
        14
    jimmy2010  
    OP
       2012-12-25 11:06:19 +08:00
    @bunorte
    @tigger 嗯 谢谢两位,也许确实是我还不确切地知道自己想要的是什么,在互联网吹水的事以前干过,现在没兴趣了。我觉得做信息安全(尤其是web安全)不懂编程的话太不靠谱了,全靠网上公布的已知漏洞去测试,而自己不知道分析代码、发现漏洞。所以想学编程,慢慢接触到计算机、网络的更深层的东西上去,不说以后能完全转行,至少能对现在所做的工作有所帮助和提升。
    另外我搜索了v2ex上一些类似的问题,有人介绍了MIT的公开课系列,昨晚深夜看了一集,感觉很不错,打算跟着课程从python开始了。tigger说得对,有想法之后行动最重要
    asdfg
        15
    asdfg  
       2012-12-25 11:46:26 +08:00
    @qiayue 好励志!
    tigger
        16
    tigger  
       2012-12-25 12:03:32 +08:00
    那就找一门去学,你说的Python,学下去,然后慢慢接触更多的,拓展开来。。。
    iwinux
        17
    iwinux  
       2012-12-25 12:10:51 +08:00   ❤️ 1
    我是学社会工作(社会学的一个分支)的文科生,准备去豆瓣做 Web 后端开发了 =。=
    jimmy2010
        18
    jimmy2010  
    OP
       2012-12-25 12:27:34 +08:00
    @iwinux 励志!兄台能否介绍下怎么走上开发之路的,第一门学的什么语言?
    nsa
        19
    nsa  
       2012-12-25 14:06:28 +08:00
    做web渗透测试的话,先学点数据库,web编程,常见操作系统的安全策略,网络协议之类的,信息安全涉及的内容太多了。 目前你可以先从Ruby入手,从metasploit framework这个开始尝试
    CMGS
        20
    CMGS  
       2012-12-25 16:01:02 +08:00   ❤️ 1
    某瓣工号2。。。教授。。。出身硬件
    某瓣首席科学家。。胖子。。。写得一手好诗
    某瓣SA NO3 @ericFork 。。。是个学英语的
    某山KSO 开发leader。。。聪头。。。是个学设计的
    某山KSO VP之一。。。yepp。。。是个学忽悠的

    不在于你之前学了啥,而是在于你现在做了些啥。学程序我个人认为先撸基础书,就算SCIP,TCPL等黑皮乏味……还是得看完,因为底层的东西0101自然不需要自己来撸,但知道一些实现和原理总没错的。接下来就是算法和数据结构,不要多高深,高中NOIP的水平就足够了,至少能理解高级语言里面某个大对象的实现到底是用的啥样数据结构。接着就撸代码吧,底层的你了解了,其实上面换来换去就是换个马甲。你说objc的消息不就是抄smalltalk,同样的动态绑定c++的虚表不就是为了空间换时间,微线程啥的其实就是栈帧copy,C++的map是个红黑树到了C#的字典就是个哈希表了,MySQL的innodb索引是个btree……诸如此类……因此光是一上手就是高阶语言个人认为会能编程,但要更深入的话基础不可少,看顶上那些牛逼的程序猿么……个个都是内功深厚……
    newblue
        21
    newblue  
       2012-12-25 17:28:03 +08:00
    不知道@livid算不算?
    westup
        22
    westup  
       2012-12-25 17:35:20 +08:00
    话说成长之路很漫长的,工作12年和研究生实习的是同一职位,你受得了么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3479 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:51 · PVG 18:51 · LAX 02:51 · JFK 05:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.