美文网首页
程序员的自我修养(三)

程序员的自我修养(三)

作者: 我是一个努力干活还不粘人的小妖 | 来源:发表于2020-03-28 17:11 被阅读0次

    第三章  谈个人发展

    2017年阿里巴巴发布了《阿里巴巴Java开发手册》(https://github.com/alibaba/p3c)

    自由程序员

    (1)Coding码市(https://mart.coding.net/)

    (2)猪八戒网(http://www.zbj.com/)

    (3)Freelancer(https://www.freelancer.com/work/)

    (4)猿团(http://www.yuantuan.com/)

    从阅读一本书,写一段代码,做一次讲演,写一篇博客到旅游、烹饪等,善于思考的人总能从中获得更多的启发和灵感,这也使得他们能在工作中轻而易举地发现那些最优的解决方案,而不是像普通人那样绞尽脑汁却始终不得要领,久而久之他们便自然而然地成为了大家眼中的专家。

    打造一个个人网站:个人网站就像你的个人名片,能让更多人了解你,也能让其他人更方便地找到你。你可以在你的个人网站上放上你所擅长的技能,你所做过的项目,如何联系到你,以及其他任何你觉得大家会对你感兴趣的内容。另外,你需要特别关注网站的设计,这就像一个人的穿着打扮,能够让人一眼看出你的品位与层次,如果你没有设计方面的经验,那么不妨花钱买一个模板或请人来做一些简单的设计。如果实在没有把握,那么我建议你尽可能地使用简洁甚至无修饰的设计,只要能让内容尽可能清晰地展现出来即可,那至少不会为你减分。

    对于设计师群体而言,越来越多的公司对他们的要求已从单一的UI设计,转向能够同时具备前端开发能力。

    变化来得如此之快,很多程序员或设计师都对此抱怨连连,但这些变化却恰恰反映了所有与技术相关的行业门槛都在不断降低,以及专业领域间正在不断地融合。借助那些唾手可得的学习资源,以及越发强大易用的软件工具,未来的程序员将会具备更多专业技能,他们在深入掌握一门编程语言的同时,还可以熟练运用2~3种不同的编程语言以解决不同领域的问题,他们也会努力将自己的技能栈扩展到产品、设计、市场、运维等各个领域,复合型的程序员将会受到更多企业的欢迎。而拥有至少一名复合型的程序员更将成为那些初创企业的标准人员配置。

    自建博客平台

    相信很多朋友,特别是有一定技术背景的程序员也会像我一样,首先想到的是自己搭建一个博客平台吧。而我开始也正是这么做的,我所采用的是Hexo(https://hexo.io/zh-cn/index.html)+Coding(https://coding.net)来搭建一个静态博客站点。

    Hexo是一个基于Node.js的博客框架,只需在终端里输入几个简单的命令便可以完成一个静态博客网站的搭建,同时它还支持用Markdown来编写文章。另外,利用GitHub Pages、Heroku、Coding等代码托管平台的Paging服务,还可以实现博客更新内容的一键发布,非常快速、高效,而且没有任何租用服务器的花费,之所以选择Coding是因为它可以实现自有域名的绑定。

    仅仅几个小时,我就完成了自己博客平台的搭建,主题也是我所喜欢的简洁、易读的风格。当然,如果你熟悉Jade的话,还可以对Hexo的主题进行修改,定制出自己喜欢的风格样式,最终我的博客是下面这样的。

    要想写好一个博客,你必须了解你的读者群是谁?你所擅长的领域在哪里?你内心希望写什么样的文章?

    不妨模仿那些优秀文章的作者,学习他们是如何给文章起标题的,如何写开场白的,如何阐述他们观点的,以及如何总结的。通过模仿和重写,你会渐渐培养起写作的感觉,并且越写越好。

    下面是我经常采用的写作步骤:

    ①确定一个要写的主题。

    ②在网上寻找到那些能够帮助你完善观点的参考资料。

    ③列出文章的提纲。

    ④根据提纲完善内容。

    ⑤反复修改,直到文章通顺易读(有时我也会找人试读,并听取他们的意见)。

    ⑥给文章配一个好的标题。

    ⑦发布你的文章。

    第四章 谈编程中的教与学

    可以帮助你免费学习编程的在线网站

    (1)慕课网(http://www.imooc.com/course/list)

    慕课网是我比较喜欢的国内IT在线教育平台,它包含了大量的视频教程,上文提到的那些编程语言几乎都能在慕课网上找到相应教学视频。另外,它根据不同的学习目的,分别制订了针对前端工程师,Java工程师,PHP工程师等的学习计划。你可以根据它制定的学习计划,由浅入深进行学习。

    (2)codecademy(https://www.codecademy.com/zh/)

    Codecademy创建于2011年,它是一种基于网络的互动编程教程。每一节课你都会被要求完成一些练习,以帮助你巩固学习的编程知识。

    (3)网易云课堂(http://study.163.com/find.htm#/courselist?ct=7)

    网易云课堂中包含了大量的优秀IT课程,其中有不少编程基础课程,它们大部分是免费的,非常适合初学者进行学习。

    (4)StuQ(http://www.stuq.org/)

    如果你觉得自学开发对自己来说不太适合,那么你可以考虑StuQ。它采用众筹小班制教学的方式,由一些有经验的讲师进行授课,让你能够更有效地学习。

    《Scratch少儿趣味编程》

    《趣学JavaScript——教孩子学编程》

    《父与子的编程之旅:与小卡特一起学Python》

    Lynda.com(http://www.lynda.com)早在1995年便已成立

    慕课网(http://www.imooc.com/)、网易云课堂(http://study.163.com/)、中文版的codecademy(https://www.codecademy.com/zh/)等都成了我们学习技术的好去处。

    通过在线文档学习

    起步教程Quick Start

    API文档

    开发指南

    学会提问与寻找答案

    用搜索引擎搜索

    向身边的人请教

    在社区中提问

    推荐书

    设计相关的,如《设计中的设计》《为什么设计》《设计的觉醒》《白》

    人文类的书籍,比如,尤瓦尔·赫拉利的《人类简史》、龙应台的《野火集》、克里希那穆提的《生命之书》、沈复的《浮生六记》等

    专业:《代码大全》、Effective Java、《JavaScript语言精粹》等

    湿货

    •演讲:闲时我会看TED的演讲,除了技术相关的,我也看一些与人文艺术有关的演讲。从这些各个领域的人身上,我获得了很多灵感,也使我发现了不同的兴趣。除了技术你还应该去发现不同的兴趣爱好,这会使你变得更好。

    •博客:我会追随一些不错的博客,比如,Medium上那些我喜欢的程序员和设计师,老设计师James Greig的博客(http://greig.cc/),里面有很多不错的想法,当然还有著名的Coding Horror(https://blog.codinghorror.com/),虽然现在更新得很少,但一些老的博客仍然很值得一读。

    •播客:与单纯的阅读相比,播客的形式更容易调动人的思维。我经常听的播客有Developer Tea(https://spec.fm/podcasts/developer-tea),它是国外著名的程序员播客,内容非常丰富,还有IPN(http://ipn.li/)的《一天世界》《博物志》《太医来了》《壁下观》等等,主播普遍具有中西方融合的文化背景,能在技术、人文、艺术等各个领域给我带来不同的启发。

    •写作:写作无疑是令我改变最多,也是影响最大的,我也写过一些很热门的干货文章。

    教你的小孩学编程

    比如,从HTML开始,接着加入JavaScript来产生可交互的网页,最终使用Ionic包装成一个在APP,这会是一个不错的尝试)

    通过学习编程,能够非常有效地拓展孩子的思维,你会发现孩子思维的逻辑性与延展性变得比之前更好了。另外,他们也会自己创造出一种更好的学习和处理问题的方法,这对阅读、算术、写作等几乎所有学科都会产生很好的促进作用。

    教编程的真正目的是教会孩子一种新的思维方式

    学手艺是为了不断做出更好的作品,你是在和过去的自己比较,只要持续地学习和实践,你就一定能获得正面的激励。这是因为随着技能的提升,你做出来的东西总是会比过去更好,它对所有学习者都是有效的。

    Playground(Playground是苹果公司推出的一款在iPad上学习编程的APP)


    第五章 谈自学设计

    那些优秀设计师们自己对于设计的感悟、设计心得、推荐阅读的设计类书籍等。

    基本设计技能归纳为以下10点。

    •色彩:需要理解色彩的基本原理及配色方法。色彩很难把控,因为它很容易被过度使用。如果你还是一个初学者,那么应尽可能地使用柔和的色彩,仅在需要强调的地方使用更醒目的色彩。

    •字体与排版:文字往往占据整个设计内容80%以上的区域,所以理解如何使用正确的字体和排版方式非常重要。请将内容的清晰易读作为你定义字体和做排版的首要目标。

    •动效:动效能够显著增强一个应用的用户体验。它们能使你的应用更有生气和迷人,前提是你所设计的动效快速、流畅,并且是符合用户预期的。

    •图标:优秀的图标往往与我们每天见到的事物紧密关联,比如,相机、垃圾桶、云等,能让人一眼就识别出它所代表的功能。因此,应使用那些具有良好辨识度的图标,避免让用户产生混淆。

    •声效:声效在设计中用得很少,但恰如其分的声效能够提升用户体验。用户不用看到你的应用,仅听到一个熟悉的声音便能识别出你的产品来。

    •获得设计灵感:设计灵感不是与生俱来的,你需要不断地寻找它。有很多获得设计灵感的方法,下文中我将分享我的一些经验。

    •设计原则:流行转瞬即逝,但设计中最本质的东西却能永恒。设计大师们很早就认识到了这些,并将它们提炼为设计原则。你要做的是理解这些设计原则,并将它们运用到你的设计之中。

    •用户体验设计:你需要了解你的用户,这样才能设计出符合用户需求的产品。学习设计心理学,将有利于你设计出更人性化的产品。

    •基于不同平台的设计:在不同平台设计产品存在很大的差异,你需要了解产品所在的平台(如iOS、Android),并遵循它们各自的设计规范。

    •设计工具:设计工具有很多,对于UI设计,我建议使用Sketch 3,因为它是专为UI设计而生的,能给你带来更高的设计效率。

    Designer News让我了解国外优秀的设计师门都在想些什么或做些什么

    开始使用Sketch来进行UI设计。

    统一的计量单位Pixel使你不必关注其他计量单位(cm、ml、Picas等),支持HSB、RGB颜色模型和色板功能,使用Symbol可以方便地复用你的设计元素,可针对任意设计元素或元素组导出不同分辨率的图片等等。另外,你不用再面对一个一半功能都不会去碰的工具栏,也完全不用去关心那些与UI设计无关的东西,这使你更容易学习和掌握这个设计工具。

    •强大的插件功能:虽然Sketch的核心非常小,但它却提供了非常强大的插件功能。针对不同的设计场景,可以使用不同的插件。比如,你可以使用Sketch Palettes保存你的常用色板,并与朋友方便地分享;使用Magic Mirror可以将你的设计方便地展示到不同的实体模型(如iPhone、iPad、书的封面等);也可以使用Sketch Content Generator来批量地产生内容,这能为设计师节省大量的时间。此外,还有像Measure、Dynamic Button、Sketch Constraints等许多非常优秀的插件都可以帮助你大大提升工作效率,从而使你更能够专注于设计本身。

    寻找设计灵感

    我阅读那些对设计有着深刻思想的人物传记,如《斯蒂夫·乔布斯传》,与设计相关的心理学书籍,如《设计心理学》,与色彩相关的书籍,如《色彩设计》,与字体相关的书籍,如《设计师的自我修养》等。

    《设计中的设计》《设计的觉醒》,《为什么设计》体会到日本这几代设计师在对日本的文化、环境、人文等各方面因素进行全面观察,以及对设计做出深刻反思后,得到的那些适合现代日本、亚洲甚至整个世界的优秀设计思想。

    DesignerNews是一个使我获得高质量设计文章的优秀网站

    优设(http://www.uisdc.com/)、推酷(http://www.tuicool.com/)、Medium(https://medium.com/)等网站上阅读那些具有思想性的设计文章

    Ember是我用过的用来收集设计素材的最佳工具。更棒的是它支持订阅功能,可以从Dribbble这样的网站自动下载设计作品,可让我非常方便地浏览和收集。

    Pintrest(https://www.pinterest.com/)来收集手机上看到的优秀设计,并分类添加到我在Pintrest上创建的Board中。

    你所做的每一件事情,它的背后都可以和艺术联系在一起。只要是付出了努力,精心制作,并能反映出作者情感与灵魂的东西都可以称为艺术品。想一想你平时喜欢做的事情,阅读、散步、享用美食或者看展览。这其中的每一件都与一种艺术形式相关联:写作、环球旅行、烹饪、摄影。你会发现当你不断完善某一项技能的同时,其他技能也会得到加强。对于设计来说,上面提到的写作、摄影、旅行等都是对设计能力的很好补充。

    说到设计的成熟度,就不得不提Dieter Rams,他是德国著名的工业设计师,为德国家电制造商博朗(Braun)设计出很多非常优秀的产品,而他的很多设计更是被苹果拿来模仿。

    Dieter Rams所提出的10条优秀设计原则(https://www.vitsoe.com/rw/about/good-design)更是被推崇为设计领域的黄金法则。作为一代设计巨匠,他的成就如此杰出,而他所倡导的这些设计原则,即使在30年后的今天,仍然能在设计界产生强烈地共鸣。

    当一个好的想法浮现在脑海中时,千万不要错过,你应该想尽一切办法,尽早把它记录下来。

    下面这些人物和书籍是曾带给我最多启发的。

    (1)《史蒂夫·乔布斯传》(https://en.wikipedia.org/wiki/SteveJobs)

    乔布斯无疑是这个时代最伟大的商业领袖之一,但《史蒂夫·乔布斯传》这本书(https://book.douban.com/subject/6798611?utmsource=jijiangshe)带给我的最大震撼却在于他完美地将现代科技与设计结合在了一起,并以近乎苛求的态度创造了苹果的那些产品。我从没看到过其他人像乔布斯那样对自己的产品付出如此的情感,他可以为之喜悦,为之愤怒,为之激动,甚至为之悲伤。苹果的产品之所以能够获得如此成功,可能正是由于乔布斯与其团队为苹果产品所赋予的情感吧,而他的这种追求极致的精神同样能够指引我们在其他各个领域去创作出那些优秀的作品来。

    (2)原研哉(https://en.wikipedia.org/wiki/KenyaHara)

    原研哉是我最喜欢的日本设计大师之一,也是著名的生活用品品牌无印良品背后的设计师。我看过他的《设计中的设计》《白》和《为什么设计》这三本书,对他提出的设计日常化、这样就好、虚空、白等设计理念都印象深刻。而通过Redesign(再设计)的方法去重新反思旧的设计,做出更优秀设计的方法更是让人备受启发。

    (3)Dieter Rams(http://en.wikipedia.org/wiki/Dieter_Rams)

    Dieter Rams是德国最杰出的工业设计大师。我们甚至能在苹果的很多产品中看到Dieter Rams在20世纪80年代所设计出的产品的影子。他的10条设计原则更是发人深省,直到今天仍然影响着很多杰出的设计师,这其中就包括苹果设计团队的领导者Jony Ive。

    (4)黑川雅之(http://baike.baidu.com/view/3385620.htm)

    黑川雅之是世界著名的建筑与工业设计师,被誉为开创日本建筑和工业设计新时代的代表性人物,并被盛赞为“东京的达·芬奇”。《设计与死》这本书是黑川雅之以日记形式所写的设计感悟,虽然每一篇都很短小,却能直击人心,让你从大师的思考中体悟设计的真谛及生命的意义。同时,黑川雅之也成功创立了属于自己的设计品牌及多家企业,他对于经营的很多思考同样值得我们借鉴。

    下面是我几乎每天都会浏览,用来收集优秀作品或创意的一些网站。

    (1)Pinterest(https://www.pinterest.com/techmask?)

    每天上班之前,我都会浏览Pinterest上的更新,它能根据我的兴趣爱好设置来推荐那些优秀的设计资源。当看到优秀的作品时,我会将它们保存到自己的Board中,而对于那些需要细读的文章,我则会转发到我的Pocket中,等有时间了再仔细阅读。

    (2)Dribbble(https://dribbble.com?)

    Dribbble仍然是获得优秀UI设计的最佳去处,你应该找到那些你喜欢的设计师,并去追随他们的作品,同时通过阅读其他设计师们对作品的讨论,尝试去理解这些优秀作品的设计思路,相信你会很快得到提高。

    (3)Designer News(https://www.designernews.co?)

    Designer News上每天都会有许多最新的优秀设计文章,以及一些设计师们之间的热门讨论,它能帮助你与世界保持同步。

    (4)Sidebar.io(http://sidebar.io?)

    Sidebar.io可每天通过邮件为你推送5篇最优秀的设计文章,如果你没有时间进行其他阅读,那么可以订阅Sidebar的推送服务。

    (5)Medium(https://medium.com?)

    很多富有思想的设计师会在Medium上分享他们对设计的思考。他们的文章都很有质量,相信一定能给你很多启发。

    单纯的设计无法为我们带来优秀的企业级产品,只有将对行业和业务的深入理解、产品思维,以及优秀的设计三者紧密结合在一起,我们才能得到符合用户实际需求且从情感上获得用户认同的产品。

    相关文章

      网友评论

          本文标题:程序员的自我修养(三)

          本文链接:https://www.haomeiwen.com/subject/pfdsuhtx.html