热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【ExperienceSummary】出差布置产线

前言2017年12月份,完成了RealitySmartSwitch(https:www.amazon.comdpB07K3TRG6Wrefemc_b_5_i)的基本
前言

2017年12月份,完成了Reality SmartSwitch (https://www.amazon.com/dp/B07K3TRG6W/ref=emc_b_5_i)的基本功能,以及生产测试程序的基本功能,开始了漫长的布置产线生涯。
之所以漫长,是因为自己的经验不足,能力不足。错误和不利是我造成的,但我原谅自己,毕竟,那是我入行的第一年,回望这一年,能做到这样,我觉得自己已经超过预期了。何况6月份才放下了ESP8266的开发。
今日,2019年,足够的时间去沉淀这一段”出差+开发“的阶段,写下一些回忆和感悟。要感谢公司给我这个成长历练的机会,也要感谢产品经理和Leader的耐心指导,当然还有生产厂商的大力配合。

出差感悟

出差,对于第一次出差的人来说,总是一个不错的经历,有很多成长的历练,以及将自己做的东西放到真正应用的地方可以发现他的很多不足和理想化不足以成为一个友好的产品。这便是我的第一次出差。

  1. 出差的每一天遇到的事情和解决方法都要及时整理记录,因为每一天的时间不是很能被自己决定,尤其和团队出差,这就要求每天离开产线和应酬后,回到酒店第一件事就是整理当天的收获,没有什么收获也要整理当天做了的事情。产线是一个让人头脑发懵的地方,尤其对于新人,我最开始在产线上调试非常不从容,解决问题经常“瞎猫碰死耗子”,解决了之后自己都不清楚怎么解决的,因为没有时间很细致地思考验证(这是错误的,如果后面不好复现的事情,要及时找到原因,当然要衡量产线停产的影响),以至于一天解决几个问题,但能记住的很少,下次遇到依然要靠蒙。而酒店是一个让人卸下疲惫,忘却烦恼的地方,睡一觉醒来浑浑噩噩就把前一天的事情都忘得一干二净了。而二者之间的衔接,刚到酒店这个时间点就极为重要,要在还没把事情彻底忘记的时候,及时总结回顾,有些当时不能消化的问题,至少要把问题记录下来,可以的话,备份代码,写清问题描述,以便之后消化。初期的我,完全不懂得这个道理,以至于疯狂地解决问题,但没有学到什么东西。
    另外,还有一方面也是每日总结的原因,就是在出差的时候,你面对的电脑不是自己的了,很多问题,平时遇不到,就像我每次装系统后,配置系统,总能有些新的收获一样,我要对共用的新电脑做很多平时自己用的电脑不做的事情,这些都是很好的学习。比如如何关闭错误报告,如何修改开机密码,如何关闭Windows 更新服务等等,因为是产测电脑,给工人用的,必须“傻瓜”,单纯到只有一个功能就好。所以很多额外的事情都能让人学到很多新的有意思的东西,及时整理!
  2. 上面提到了备份代码,这真的很重要。在产线上,懵懂的情况下,一切都瞬息万变,不知道怎么就好了,又不知道怎么就坏了,各种可能性交叉在一起,甚至还有硬件的问题。。。所以,要及时备份代码,首先,Git管理当前Code Base,之后,遇到问题的代码:备份,写清问题是什么。修改,将解决问题的代码备份,写清如何解决(当时产线上,可能没有时间细致探究原因)。回头要去比较每个问题对应的备份的两个代码,有些可能并没有真正解决问题,而是运气好,天气好,硬件接触突然好的“不幸”,这时要深入探究,以决定是否合并代码;有些可能是不必要的,甚至错误的改动,要及时清理。
  3. 产测软件的名字很重要。我TM当时开发完了,觉得起个“Production Test”的名字简直又牛X又上档次,放到产线,经常有人要问我哪个是生产测试软件,开始我觉得告诉他们记住,大家知道就好了,可是发现总是有人问我,我的产品经理提醒我,我是给工人用的这个软件,不是给开发人员,起这个名字不适合。后面就改成了 “智能开关PCBA产测软件”。挺对的,开发任何产品都是这样,要考虑受众,要让它对用户友好,而不是自己一厢情愿,给一个自己喜欢的功能或名字。包括后面的产用性讨论,也是开发了一个“给程序员”自己用的产品。
  4. 关于产测结果的记录。我们当时是租用了一个服务器,在上面开发了一个简单小的查询系统,我在产测软件里面加入了对数据表增删改查的接口,用于将测试结果写入数据库,方便远程调用查询。NaviCat这个小工具还是蛮好用的。以上这些都是正常流程中的。需要提示的有2点,一是,要有本地数据库,尤其是在远程数据库访问错误的时候,这个在最开始设计程序的时候就要考虑到,因为我们确实发生了网络不畅导致丢数据的情况,当时晚上在酒店加班加点学习如何用C++写文件,赶紧补充进去这一重大功能。二是,要在测试一开始的时候产生区分度,并将之增入数据库,区分度就是你要知道你当前测试的是哪一个产品,比如通过SN串码,MAC地址等进行区分,加入增加记录的时间,来更好的追踪。
  5. 关于数据库,有一点,一定要注意,这是我的Leader和产品经理无数次诟病我的事情,就是,增删改查中的“删”和“改”动作一定要小心,不能直接造作数据库进行“删改”,但可以通过稳定的数据接口进行。即使是错误数据,无效数据,也不能直接改数据库,错误也要保留,并尽量给出合理解释。
  6. 关于INI文件。产品经理指出,我的这个程序每次调试都要重新编译,是非常愚蠢的,应该使用ini文件,每次一个程序,需要调试的时候,修改ini文件进行调试,比如切换服务器数据库,由正式切换到测试,就是ini里面修改个参数。听闻此法,连夜兼程学习如何使用ini。。。其实还是“写本地文件”的方法,好在有前面的铺垫,很快加入了这个功能,确实大大提高了产线调试的效率。感谢产品经理!
  7. 关于生产小工具。这里,一定要调动主观能动性,还好我是一个善于动手解决问题的人。生产工具这个事情,我们先要有一个正确的认识,起初我觉得,生产上多花点钱,搞个自动流水线也许是可行的。生产商也说了,这些那些产线站点所做的事情都可以给你搞个气动xx,脚下一踩就压好了、开始了、结束了,再搞个传送带,省着工人来回搬运,但这些的前提不是投入多少钱,而是**你有多大量!**几千几万的就工人多用用,几百几千万的,才会考虑给你加血相对自动化的工具。哎呦我这暴脾气!学自动化的我,非要把这笨拙的流水线给它自动化咯!于是管理流水线,升级流水线,提高生产效率的任务我也担当起来了,先是使用更得心应手的工具,比如螺丝刀不是带磁性的那种,网上查了下,其实后面绑个吸铁石就行,果断动作,工人好评!理线慢,产品经理经验是真的足!来了之后削了个筷子,用筷子将2分钟的任务缩短为45秒!工人好评!哎呦(捂脸)好像也没啥了就。。。。额,牛皮吹大了,一面大旗倒下。。。当然,这里面你还要明白一点,工人也不是傻子,他们有时候觉得生产流程不合理,效率不高的时候也会自己调整,毕竟我们一个4人的产线还给我们分配了个质量员呢,它对质量和效率都有相当高的标准,而且,论生产经验,我们都远不如那些工人的。

以上便是我那一段时间出差的总结。回顾这一段出差经历,学会了很多,不是单纯地只会C语言,还用了C++做了MFC的产测程序,简单学习了C++,系统学习了过时的技术MFC。除了本科做的Visual Basic以外,又可以通过MFC快速搭建一个GUI界面程序。还接触了C#,在官方代码基础上修改出了几个好用的工具,比如OTA工具等,还接触了数据库,mySQL和好用的NaviCat工具。

但这段经历,从我嵌入式的发展和C语言的进步方面,没有太多贡献,以至于这一段时间做了很多很多事情,产品大卖有我很大的功劳(自诩),但却觉得在主要业务上进步不大,以至于工资提升幅度可笑到跟谁说谁都觉得不公平。

也是因为这个原因,公司进行了人事调整,我从原来的Leader下面,转到了产品经理下面,在硬件部门从事嵌入式软件开发,产品经理亲自带我,太幸运了!产品经理对我寄予厚望,并帮我挡掉了很多出差的事情,让我专心在嵌入式开发上面,后期出差的事情就不怎么叫我了。很多产线的事情也稳定下来了。

感谢产品经理!在我出差期间耐心教导,使我大有长进。
感谢产品经理!在我需要提升技能时,及时帮我挡掉出差,让我专心于技术。


推荐阅读
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 深入解析C语言中结构体的内存对齐机制及其优化方法
    为了提高CPU访问效率,C语言中的结构体成员在内存中遵循特定的对齐规则。本文详细解析了这些对齐机制,并探讨了如何通过合理的布局和编译器选项来优化结构体的内存使用,从而提升程序性能。 ... [详细]
  • 在本地环境中调试远程服务器上的网站代码执行问题,可以通过以下步骤实现:首先,在本地安装 Visual Studio 并配置远程调试工具。接着,确保服务器和本地机器之间的网络连接畅通,并正确设置防火墙规则以允许调试流量。最后,使用 Visual Studio 的远程调试功能连接到服务器,进行代码调试。这种方法不仅提高了开发效率,还减少了在服务器上直接操作的风险。 ... [详细]
  • 在List和Set集合中存储Object类型的数据元素 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
  • 如何使用mysql_nd:Python连接MySQL数据库的优雅指南
    无论是进行机器学习、Web开发还是爬虫项目,数据库操作都是必不可少的一环。本文将详细介绍如何使用Python通过 `mysql_nd` 库与 MySQL 数据库进行高效连接和数据交互。内容涵盖以下几个方面: ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 本文深入解析了JDK 8中HashMap的源代码,重点探讨了put方法的工作机制及其内部参数的设定原理。HashMap允许键和值为null,但键为null的情况只能出现一次,因为null键在内部通过索引0进行存储。文章详细分析了capacity(容量)、size(大小)、loadFactor(加载因子)以及红黑树转换阈值的设定原则,帮助读者更好地理解HashMap的高效实现和性能优化策略。 ... [详细]
  • 本文详细介绍了批处理技术的基本概念及其在实际应用中的重要性。首先,对简单的批处理内部命令进行了概述,重点讲解了Echo命令的功能,包括如何打开或关闭回显功能以及显示消息。如果没有指定任何参数,Echo命令会显示当前的回显设置。此外,文章还探讨了批处理技术在自动化任务执行、系统管理等领域的广泛应用,为读者提供了丰富的实践案例和技术指导。 ... [详细]
  • 利用 fopen、fwrite、fread、fseek 和 fclose 实现文件中整型数据的读写操作 ... [详细]
  • 具备括号和分数功能的高级四则运算计算器
    本研究基于C语言开发了一款支持括号和分数运算的高级四则运算计算器。该计算器通过模拟手算过程,对每个运算符进行优先级标记,并按优先级从高到低依次执行计算。其中,加减运算的优先级最低,为0。此外,该计算器还支持复杂的分数运算,能够处理包含括号的表达式,提高了计算的准确性和灵活性。 ... [详细]
author-avatar
Cynthia番茄际_382
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有