这个作业属于哪个课程 | 21级软件工程 |
---|---|
这个作业要求在哪里 | 软件工程实践寒假作业 |
这个作业的目标 | 回首过去、立足当下、展望未来、学习路线 |
其他参考文献 | 《构建之法》、Markdown、Git、思维导图 |
目录
1.准备工作
gitcode仓库:gitcode
2.回首过去
2.1 当初你为什么选择软件工程这个专业?
我是通过转专业来到软件工程专业,原专业是物联网工程(包括硬件、软件和通信三个方向),我认为每个人的精力都是有限的,本科期间同时学这三个方向无法学精,而在如今高度内卷的社会中,只是会个皮毛可能不足以找一个不错的工作。即使当时的学长学姐都说这是个万金油专业,但我认为我还是应该从三个方向中选择一个转专业,最后综合考虑了各方向前景,选择了软件工程。
2.2 当初对软件工程这个专业的期待和想象是什么?
- 软件工程是一个创造性的领域,我可以通过编写代码来实现创意,从而创造出对人们生活有影响的产品和服务。
- 软件工程涉及到处理复杂的技术问题和挑战,包括算法设计、系统架构、性能优化等等,我将有机会不断学习和成长,以解决各种技术难题。
- 需要与其他开发人员合作,共同开发软件产品,这将锻炼我的团队合作能力和沟通技巧。
2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
首先我希望能好好学习编程知识,大学是学生进入社会前的最后一道坎,在大学期间应该为将来的就业做好充足的准备,掌握必要的技术以达到招聘岗位的要求。其次我认为在当前内卷的环境下,一个研究生学历对我来说是很有必要的。虽然总能听到本硕同薪的声音,或是某某大佬本科就可以去大厂,但我觉得比例上还是少数。长远来看,我认为更高的学历可以给我带来更高的平台、更广泛的就业选择和更长久的职业寿命,所以我将来会参加考研,争取一个读研的机会。
3.立足当下
个人介绍 | ||
---|---|---|
姓名 | Tavis | |
兴趣爱好 | 跑步、乒乓球 | |
教育背景 | ||
教育经历 | 本科:福州大学(软件工程) | |
成果和获奖经历 | 数学建模国赛省二、省三 | |
蓝桥杯省三 | ||
综合奖学金二、三等奖若干 | ||
专业水平 | ||
编程语言 | Java、Cpp、C、PHP、C# | |
技术框架 | SpringBoot、MybatisPlus、SpringCloud、Dubbo、SpringSecurity | |
开发软件 | IntelliJ IDEA、DevEco Studio、PyCharm、Visual Studio Code | |
项目经历 | ||
群智感知平台 | 项目后端基于SpringBoot框架实现。利用群众手中的设备(手机)实现灵活采样、大规模采样,数据经过推荐算法分析计算,为群众呈现有价值的分析结果,未来计划实际上线使用。 | |
易学网 | 一个基于SpringCloud框架实现的微服务学习平台。除了基本的增删改查功能外,实现了基于分布式文件系统Minio的文件存储功能、全局异常处理和基于分布式任务调度xxl-job的视频转码功能。 | |
API开放平台 | 一个提供API接口供开发者调用的平台,基于SpringBoot实现。管理员可以接入并发布接口、统计分析各接口调用情况;用户可以注册登录并开通接口调用权限、浏览接口、在线调试,可以使用客户端SDK在代码中调用接口。 |
4.展望未来
4.1 阅读《构建之法》并回答构建之法社区中的问题
Q1:程序员是否有必要为满足小部分人的需求去做软件,或者为软件添加某些功能?
A1:虽然满足少数人的需求可能会增加开发成本,但如果这些需求对用户体验或产品成功至关重要,那么考虑满足它们是有价值的。程序员应该评估这些需求的影响和价值,以确保最终产品在市场上有竞争力并能够满足用户的需求。
A2:确定软件能否继续发展需要考虑多个方面。首先,市场需求是关键因素之一。软件是否解决了用户的现实问题?是否能够满足当前和潜在用户的需求?通过市场调研和用户反馈来评估这一点。其次,竞争分析也至关重要。了解竞争对手的软件并分析其优劣势,确定自己的软件在市场上的竞争地位和优势。此外,考虑到技术方面的因素,如软件的架构是否具备扩展性和灵活性,团队是否具备持续开发和维护软件所需的技术能力和资源。
A3:花费的时间并不总是代表工作量的高低,因为工作量的多少与时间有时并不成比例。工作量的大小取决于任务的复杂性、所需的技能水平以及执行任务的效率等因素。有时候,花费更多的时间可能是因为遇到了困难或者需要更深入地研究问题,但并不一定意味着工作量更大。
A4:工作时带着个人和感情驱动的因素可以激发热情和动力,但同时需要注意保持理性和客观性。过度依赖情感可能会影响决策和工作表现,因此在工作中保持平衡是关键,以确保能够达到最佳的工作结果。
A5:团队角色的配置通常应根据项目的需求和团队成员的技能和经验来决定。灵活性是关键,团队成员可以根据需要在不同的角色中转换或承担多个角色。这种按需配置可以最大程度地发挥团队成员的优势,提高团队的整体效率和绩效。
4.2 你未来的职业规划是什么?
目前而言,我的规划是成为一名后端工程师,走开发方向。若有机会读研,希望能在读研期间多参加实习,了解业界的最新动态,为将来就业做准备。无论是否有更高的学历,技术都是基石,若没有扎实的开发技术支撑,即使过了简历关,也会因为一层层的面试而被淘汰,所以我也会利用空余时间,学习当下的新技术,不断充实自己。
4.3 对于软件工程实践课程,你有什么理解和期望?
我理解的软件工程实践课程是多人合作完成一个完整的项目。我期望能把自己已经学到的和即将学到的技术使用在实际项目中,纸上得来终觉浅,绝知此事要躬行,敲代码才会进步。
5.学习路线
5.1 思维导图