当前位置: 首页 > 科技观察

如何成为传奇的全栈工程师

时间:2023-03-21 01:11:56 科技观察

做一个这么简单的app:一个界面简洁,天气信息一目了然的天气app。它不仅可以准确预测未来10天的天气,还可以显示某个地方的历史天气信息。具有自定义提醒功能,支持网页版、iOS版、安卓版。你为什么要做这样一个应用程序?因为你喜欢旅行,但是你还没有找到一款可以为你提供下个月或特定月份天气信息的天气应用;因为懒惰,没有每天看天气预报的习惯,希望第二天气温达到30度以上或者温差+/-7度的时候,就可以暖和起来提醒;因为你想成为一名全栈工程师,你必须不断地训练每个堆栈的能力。在网页版中,您决定使用MySql存储用户数据,使用NoSql存储历史天气数据。您使用Redis作为缓存来缓存一些最常请求的天气数据。你用Python写后台,功能简单,后台不复杂,用户注册登录,抓取返回某个城市的天气数据,某个地方的历史天气数据,就可以了迅速完成。后台开发测试完毕,接下来就是Web前端了。你很清楚一个好的UI设计对于一个App的重要性,你也明白UI设计不仅仅是为了美观,更重要的是提高信息的可读性和程序的易用性。还好平时的积累这次派上了用场。你研究之前保存下来的上百本优秀的UI设计作品,你从书架上拿出Norman的经典著作《日常事物的设计》重新仔细阅读。最终你们用黑白纸敲定了第一版UI,简单直观,没有任何多余的设计,所有元素的排列、间距、大小和颜色都恰到好处。你相信即使天气不好,用户只要使用这个应用程序就会有愉快的心情。然后开始写前端。啊,别着急,我忘了Icon和Logo,但是如果你不会PS、AI、Sketch,怎么办?让我们来学习。你平时喜欢结交不同领域的朋友,恰好几周前你在一个活动上认识了一个做设计的朋友。她花了一个下午教你Sketch的基础知识,并给你一些UI设计的建议。你请她吃饭表示感谢,然后马上回家根据她的一些建议重新调整了UI。这次用PS画UI,Icons和Logo也是一起画的。接下来的一周,你学习HTML、CSS和Javascript,把前端做的漂亮。发布应用程序,在朋友圈发布状态,并找人帮助您进行Beta测试。他们都是先问你是什么app,一开始你就简单回答一个天气app。但是你发现他们不感兴趣。你觉得你需要用文字、故事来包装它。不仅作为回答别人“什么应用”的问题,也是成为全栈工程师道路上的一项重要技能。你去所有你喜欢的产品的主页,从他们的文案中获得一些灵感;你看了经典的OnWritingWell,会发现好的文案和好的设计其实和好的代码非常相似,两者的重点都在于沟通,如何让别人毫不费力地理解你想表达的意思。让您的故事引人入胜,在1分钟内解释您的产品介绍,并确保您的父母能够毫无压力地理解它。一切就绪,产品上线。反响不错,使用人数持续增加。许多用户想要移动版本,因此您直接开始开发iOS版本。iOS版本及后台优化用不到一周的时间学会基本语法和工具使用,然后全身心投入到App的开发中。你知道边做边学是最好和最快的。由于之前学过设计基础,很快就完成了UI和Icons,很快就发布了iOS版本。iOS的发布带来了更多的用户增长,对后台服务器的压力也相当大。您知道是时候优化后端了。您在AWS上设置了另外2台服务器并编写了一个脚本来自动化部署过程。您切换到uWSGi协议并使用uwsgi作为应用程序服务器。你用Nginx做并发和负载均衡。。。老牌公司的用户不断增长,你每天都会收到十几二十封用户的邮件。您欣赏那些花时间给您写电子邮件的用户,并且您相信他们是您最重要的用户,潜在的付费客户。你把他们当神一样对待,他们也会把你当神一样对待。所以除了睡前发送的邮件,你会在2小时内回复每一封邮件。果然,这样的努力是有回报的。他们不仅对你的快速回复感到惊讶和感谢,还会在应用商店给你★★★★★的评价,会在社交网站上分享你的应用,甚至会主动捐款给你。你从快速的用户增长中嗅到了商机,你开始思考如何赚钱。你坚决不允许广告,你认为广告再精准,也会影响用户体验。您已经设计了2种不同的付款计划,您将要进行A/B测试哪一种效果更好。您向200位用户发送邀请电子邮件以尝试付款。你仔细润色了邮件内容,写道:CEO&Founder。通过分析两种方案的用户行为,您决定使用第一种方案。计划。接下来,您认为几乎是时候创办一家公司了。为了节省时间,你花了2000元找了一个园区挂靠,帮你注册了公司。公司的名字让你头疼了很久。您不想简单地使用此应用程序的名称作为公司名称。你知道公司以后还会做出其他优秀的产品。你希望名字简单易记,但它的含义也是你公司文化的象征。公司已经注册了,但是银行要自己跑。您联系了一些媒体编辑并邀请他们试用您的产品;您重新设计了产品主页并开始撰写产品博客;您在主要社交网络上注册了该应用程序的帐户,既作为社区客户服务又作为促销。..这些东西大大减少了你写代码的时间。以前你都是以代码量作为衡量当天工作效率的指标,所以总觉得这几天没干多少活。这样的发展,已经超出了大家的预期。这个应用程序几乎已经从一个SideProject变成了你生活的全部。你和你女朋友半个月才出去约会,她抱怨不断;一个月没和朋友出去玩喝酒了;你已经2个月没有锻炼了……你意识到,你不能独自完成这件事,你需要帮助,你需要有人一起做这件事。但是你不想成为一名全栈工程师吗?你现在吗?FullStackEngineer设计、后台开发、前端开发、移动端开发、运维、PS、文案……好像都能做,这也算是FullStackEngineer?不,这只是成为全栈工程师的第一步。要知道目前每个stack都懂一点点,远谈不上资深、专家,需要花费大量的时间和精力在每个stack上做到尽善尽美。精力有限,产品开发刻不容缓,不能随心所欲。这条路太寂寞了,因为你不需要和任何人合作。你想把一些堆栈任务交给别人吗?这算放弃成为全栈工程师吗?不!这不是。什么是工程师?“工程师是多才多艺的人,他们在科学、技术和社会之间建立联系”。工程师的基本工作是为公众设计和开发产品。一个真正的全栈工程师,他发现生活中的问题,看到需求,设计解决方案,开发产品的初始版本。为了实现自己的目标,他愿意学习任何领域的技能和知识。同时,他不追求一个人完成所有的工作。如果有人在某个领域比他做得更好,他会热情地邀请他们加入。最后,他的职位可能不再是工程师,不再设计UI,不再编写代码……他的工作不再是设计和构建应用或产品,因为他有更大更重要的任务要做——设计建立一个团队或一家公司来生产伟大的产品。这时,社会给了他们另一个名字——企业家。虽然每个人都忘记了自己工程师的身份,但在骨子里,在内心深处,他们一直都是工程师。当他们需要从头开始时,他们会毫不犹豫地从头开始设计和开发产品。尼古拉·特斯拉、费迪南德·保时捷、亨利·福特、杰克·多尔西、马克·扎克伯格、埃隆·马斯克……细数那些已经改变或正在改变世界的企业家。他们大多拥有工程师背景,对设计和创作充满热情。他们获得技能和知识不是为了成为某个领域的专家;他们获得这些技能和知识是因为需要它们来实现自己的目标。以上就是我认识的FullStackEngineer。