中科院自动化所实习总结(完)

实习单位

中国科学院自动化所

工作内容

项目涉密,不便介绍

负责内容

  1. 负责完善文档,画流程图,UML类图之类的
  2. 写小模块的代码

实习感悟

大概的整个过程

其实在这段实习中,我得到的最多的并不是技术上的成长,而是业务上的成长。
我先简述一下我来实习后的流程:

  • 初到工位的时候,导师把文档给我,让我熟悉项目,接下来1周时间都在了解项目在做些什么
  • 给我代码文件,让我熟悉代码,从头文件开始,输入输出,各种结构体,各种enum,define的结构,然后就是所用到的函数。
  • 让我结合代码文件和文档,对文档中一些比如流程图画的不清晰的之类的问题进行修改—就是改文档
  • 熟悉完项目后,对我自己负责的这个模块的文档进行修改,看看是否有一些没有明确的需求,结构体的定义之类的有没有什么字段缺失或者多余等等问题。
  • 前期和导师一起去和相当于产品经理的角色的一个人沟通需求,确认怎么做,后面大体没有问题了我自个儿去和产品经理battle。
  • 写代码

总的来说,文档大体没有问题,但是这个项目有一些需求并未确定,所以文档常常需要进行改动。
也因此,和产品经理的battle以及理清项目逻辑以获得一个完整清晰的项目文档这件事是占用整个实习时间最多的。

获得了什么

  1. 对团队协作沟通能力的提升
    由于非科班,从对计算机感兴趣到走上这条路再到现在,一直是一个人。大家都知道团队协作这个词,但是真的碰着了就会知道还是挺麻烦的。
    最深的体会就是:两个头头因为某一个问题,一个人觉得这么考虑可以,一个人觉得这么考虑不可以,于是俩人就争了有1个来小时,我躲在电脑后边笑。后面自己在做实习总结的时候回想这件事情,发现两个人争执的过程中,都非常有礼貌,哈哈,没吵起来,每一句话我听着都有道理(当然也有可能是因为我听不懂),然后讲完自己观点之后,说:我觉得这么考虑挺好的,你觉得嘞。虽然这个东西最终两人没争出个结果,但是两个人整个的思维碰撞过程,学到了学到了,争一个来小时不急躁,有条理有礼貌,这个沟通能力不是谁都有的。
    当然也有我自己的例子,由于我自己负责的是一个小模块,和其他小模块有关联,所以时常需要和对方对接,其中就碰到过实际并不应该是我这个模块负责的内容被划分到了我这儿。我当时觉得我在项目中的任务和目标挺明确的,这绝对不应该是我这个模块该干的活儿,所以就去找了导师,导师让我自己去跟对应模块去沟通,哈哈哈,这个就跟和产品battle一样,但是比后者简单多了,因为大家都是开发嘛。
    总之对于团队协作,个人认为最重要的一点不是得出多么完美的结论,而是保持和气,各退一步,保证项目的顺利推进。如果想要项目进度停滞,双方都无法继续进行工作,那可以多battle试试
  2. 教训
  • 每一次的沟通都需要留下问题交流清单:用来秋后算账,当时谈的东西过两天可能就忘了,后面再谈到这块儿,人家可能会说:啊,是这样的吗,我当时不是这样说的呀!惨痛教训!!!
  • 对于不确定的模糊的东西,甚至可能已经确定的东西,都要在下一次的battle前汇总好,提出来,讲清楚,防止某些东西变了而你还在吭哧吭哧写无效代码。
  1. 灵活性
    因为项目需求和情况可能会发生变化,所以,你的代码必须要留下余地进行修改,达到尽量少的改变原有代码结构的目的。也因此,良好的编码习惯非常重要,心中要对设计模式,代码设计原则有数,像低耦合高内聚,单一职责等等超级重要,正是因为项目需求不明确,我手里的代码也改了一版又一版。但索性,在开始写代码的时候就很详细的把自己想怎么写,类怎么设计,接口怎么写怎么调用都写的清清楚楚,哈哈哈,所以没有对代码大改,不用各个文件的找有没有依赖。
  2. 及时和产品经理沟通
    为啥要跟他沟通,因为你会不会累成牛马取决于他。如果不和他沟通,你就不晓得需求变没变,就不晓得你对于需求的理解和他的有什么不一样。他不了解里程碑的达成情况,不晓得你的进展,如果前边你错了,后面就会在这条路上渐行渐远。
  3. 写完代码后花尽量花时间去重构代码
    因为你在写代码的时候肯定会产生头脑不清晰的情况,虽然逻辑出来了,算法是对的,但不代表它不是一坨大便。
  4. 学生思维的转变,应对压力
    尽管说大学是小型社会,但是实际的社会和学校还是区别很大的,这更多是一种感觉。就像你小升初,初升高,高升大学,每个阶段明明没有相隔俩月,可是好像大家都两个月就变了。这是身份带来的转变,好像一夜之间要你懂得所有这些身份附加的要求并做到它们。
    这会倒逼你很快的学习,很快的适应环境,说实话,虽然感觉不大对劲,但是我挺享受这种忙碌的感觉,很充实,搞出来了东西也会很有成就感,累了的时候去打打羽毛球唱唱歌,别提多滋润,这也是我当初喜欢上计算机这条路的关键,哈哈哈哈。
    当然,可能因为我是实习生所以对我比较好。

总结

总的来说,这次实习带给我的更多是从0到1的作用。了解了一个大型的项目是如何协同工作的,和产品经理,团队如何协作,如何去应对工作上的一些难以解决的问题,但又赶进度的等等压力。
希望以后越来越好,变得更强更happy!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/785444.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构03:栈、队列和数组 队习题01[C++]

考研笔记整理~🥝🥝 之前的博文链接在此:数据结构03:栈、队列和数组_-CSDN博客~🥝🥝 本篇作为链表的代码补充,供小伙伴们参考~🥝🥝 第1版:王道书的课后习题…

实战-后台管理系统SQL注入漏洞

对于edu来说,是新人挖洞较好的平台,本次记录一次走运的捡漏0x01 前景 在进行fofa盲打站点的时候,来到了一个后台管理处看到集市二字,应该是edu站点 确认目标身份(使用的quake进行然后去ipc备案查询) 网…

Qt实现Kermit协议(一)

1 概述 Kermit文件运输协议提供了一条从大型计算机下载文件到微机的途径。它已被用于进行公用数据传输。 其特性如下: Kermit文件运输协议是一个半双工的通信协议。它支持7位ASCII字符。数据以可多达96字节长度的可变长度的分组形式传输。对每个被传送分组需要一个确认。Kerm…

LeetCode刷题笔记之hot 100(二)

1. 322【零钱兑换】- 动态规划 题目: 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回…

关于视场角,你需要知道这些!

视场角在光学工程中又称视场,视场角的大小决定了光学仪器的视野范围。视场角又可用FOV(Field of view)表示,其与焦距的关系如下:像高 EFL*tan (半FOV);EFL为焦距;FOV为视场角。即以入瞳位置为顶…

一个包一条命令,我实现了对整个前端项目代码的校验

在现代前端开发中,代码校验与风格统一不仅是良好编程习惯的体现,更是提升项目质量、保障代码可维护性与减少潜在bug的关键环节。然而,面对诸如ESLint、Commitlint、Stylelint等多样化的校验工具,以及针对React、Vue等不同前端框架…

笔记本电脑上部署LLaMA-2中文模型

尝试在macbook上部署LLaMA-2的中文模型的详细过程。 (1)环境准备 MacBook Pro(M2 Max/32G); VMware Fusion Player 版本 13.5.1 (23298085); Ubuntu 22.04.2 LTS; 给linux虚拟机分配8*core CPU 16G RAM。 我这里用的是16bit的量化模型,…

java线程(一)--进程,多线程,synchronized和lock锁,JUC,JUnit

Java线程入门 单核CPU和多核CPU的理解 单核CPU,其实是一种假的多线程,因为在一个时间单元内,也只能执行一个线程的任务。例如:虽然有多车道,但是收费站只有一个工作人员在收费,只有收了费才能通过&#xf…

LeetCode226:反转二叉树

题目描述 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 解题思想 使用前序遍历和后序遍历比较方便 代码 class Solution { public:TreeNode* invertTree(TreeNode* root) {if (root nullptr) return root;swap(root->left, root…

nginx 常用功能

添加白名单配置 if ($clientRealIp ~ "192.157.34.245|17.213.126.21") {rewrite ^.*$ /403.html last;break; } 添加站点配置信息 nginx.conf 文件最后一行添加 并新建vhost 目录 include /usr/local/nginx/conf/vhost/*.conf;include vhost/*.conf;

什么是ISP住宅IP?相比于普通IP它的优势是什么?

什么是ISP住宅IP? ISP住宅IP是指由互联网服务提供商(ISP)分配给住宅用户的IP地址。它是用户在家庭网络环境中连接互联网的标识符,通常用于上网浏览、数据传输等活动。ISP住宅IP可以是动态分配的,即每次连接时都可能会…

【DevOps工具篇】 OpenLDAP的LDAP服务器(slapd)是什么?

目录 OpenLAP的LDAP服务器(slapd)是什么基本功能安全性管理性可靠性和可扩展性调优OpenLDAP的服务器基本功能简单身份验证和SASL身份验证LDAP模式OpenLDAP服务器管理LDAP服务器配置LDAP数据备份和还原slapcatslapaddslapindex

C++类复习

C类 1. 类内成员函数隐式声明为inline class Str {int x;int y 3; public:inline void fun(){std::cout<<"pf,yes!"<<std::endl;} };这段代码不会报错&#xff0c;但是类内的成员函数隐式声明为inline函数&#xff0c;不需要单独写在前面。因此将成员…

BOM系统:贯穿制造全程的管理利器

在制造行业中&#xff0c;BOM系统的应用已经成为提高生产效率、降低成本和确保产品质量的关键因素。BOM系统作为产品结构和物料清单的管理工具&#xff0c;为制造企业提供了全面的控制和协同能力。 1.产品设计与开发&#xff1a;在产品设计阶段&#xff0c;BOM系统为工程师提供…

基于自动编码器的预训练模型方法模型预训练方法RetroMAE和RetroMAE-2

文章目录 RetroMAERetroMAE详情编码解码增强解码 RetroMAE-2RetroMAE-2详情编码[CLS]解码OT解码和训练目标向量表征 总结参考资料 RetroMAE RetroMAE 出自论文《RetroMAE: Pre-Training Retrieval-oriented Language Models Via Masked Auto-Encoder》&#xff0c;是一种针对于…

ES-7.12-官方文档阅读-ILM-Automate rollover

教程&#xff1a;使用ILM自动化滚动创建index 当你持续将带有时间戳的文档index到Elasticsearch当中时&#xff0c;通常会使用数据流&#xff08;data streams&#xff09;以便可以定义滚到到新索引。这是你能够实施一个hot-warm-cold架构来满足你的性能要强&#xff0c;控制随…

OpenHarmony实战:RK3568 开发板镜像烧录指南

前言 烧录开发板是每个开发者的必修课&#xff0c;每次对系统的修改务必进行烧录测试&#xff0c;确保修改正确和不会引入新问题。 本文基于 Windows10&#xff0c;以 RK3568 开发板为例&#xff0c;指导如何烧录 OpenHarmony 镜像&#xff0c;镜像也叫固件。Hihoop&#xff…

Oracle利用BBED恢复崩溃实例(ORA-01092,ORA-00704,ORA-01578)

BBED修复数据损坏引起的数据库崩溃&#xff08;ORA-01092,ORA-00704,ORA-01578&#xff09;(2021年某苏州国企的案例&#xff09; 1.Symptom 用户一个边缘系统出现数据文件损坏&#xff0c;且没有备份&#xff0c;数据库无法启动 报错如下&#xff0c;发现是oracle bootstra…

【Vue3进阶】- 第2学堂小商城实战课程前言

该教程为进阶教程&#xff0c;如果你还不了解Vue3的基础知识&#xff0c;可以先前往Vue3基础教程&#xff0c;从入门到实战。 学习时遇到的任何疑问都欢迎在相应课文页面下方的问答区进行提问哦 我能学到什么&#xff1f; 编程写法千千万&#xff0c;实现需求是第一。 教程中…

Docker容器、Serverless与微服务:腾讯云云原生架构技术实践案例集解析

前言 随着云原生技术的飞速发展&#xff0c;容器化和函数计算正成为企业和开发者关注的焦点。在这一潮流中&#xff0c;腾讯云凭借其卓越的技术实力和深厚的行业积累&#xff0c;发布了《2023腾讯云容器和函数计算技术实践精选集》&#xff0c;为我们提供了一份深入探索云原生…