粉丝提问:岗位与描述不一致,小公司感觉学不到东西,工作内容就是调试,想辞职

0、粉丝问题:

大哥,我毕业已经工作两个月了,在一家小公司,岗位和描述的不一致,感觉就像调试一样,写代码的机会很少也没人带,
我想转嵌入式,您有什么建议的方向吗,或者是学习路线?

这个粉丝的问题应该是大多数粉丝都会遇到的问题,很有代表性,

针对这个粉丝所述问题,

简单分析一下,

希望对这个粉丝会有所帮助。

本文只从软件角度来讲解

一、公司规模

所有的事都有两面性,不论大公司还是小公司,都各自有自己的优点和缺点,

不论是央企、研究所、上市公司、大中小民营企业,

都会有一堆的人吐槽,

都有人想进去,也有人想出来,

妥妥的围城。

1. 小公司缺点

小公司决策一般都是老板或者几个合伙人来制定,

受创始人的学历、经历、人脉、眼界、性格、眼界、格局等因素影响非常大,

什么都想做,但是缺人缺市场、

产品经常换,

门槛高的进不去

门槛低的产品,市场基本上都是血流成河、横尸遍野,

一大批小公司只能当炮灰。

小公司的招聘,

工资开的不高,

但是又要求员工能独挡好几面,

巴不得找来的人立刻马上就上手干活,

会画电路图、又会调试驱动,最好还会写上位机,

要知道这种人才,谁都要啊!

最终结果是:

hr为了完成任务,只能想方设法 把人先弄进来,什么承诺都敢答应

所以很多粉丝朋友发现去了公司之后,

经常发现自己做的事情和招聘要求会有一定出入。

经常出现:面试做开发,进去做fae、测试

除此之外,

很有小公司主营产品已经开发的差不多了,

后期只需要一些技术人员做好维护工作即可,

而前面研发人员很有可能被压榨+持续997很长时间了,

老板画的大饼迟迟不兑现,

当初的部分核心人员发现自己被榨干最后一滴血后,

并且毫无希望的时候,

就提桶跑路了!

而留下来的人也是窝了一肚子火,无法静下心带新人

在之前他们可能很用心,带新人,

手把手教他们,

可后来发现,辛苦带出来的徒弟,

公司没有任何表示,

遇到不上路子的徒弟,还可能在背地里捅刀子,

教会徒弟,饿死师傅,

各种委屈叠加在一起,

也就不会再愿意手把手教任何人了。

一般都是丢个资料,叫徒弟自己去看。

2. 关于指导新人写代码:

大部分刚毕业的学生,是根本无法独立承担项目的,

即使硬着头皮布置了任务,

还要手把手给新人讲解项目架构,用到的技术细节,

最后结果就是:

  • 师父必须硬着头皮看懂徒弟写的垃圾代码,
  • 再修改调试一遍代码,
  • 然后再教徒弟一遍。

这都快赶上3倍工作量了。

而评估工作量的时候,这还不能算在师父头上。

综合来看,还不如一开始就自己做。

3. 小公司的优点

小公司优点也很明显,

  1. 会有机会接触各种技术,锻炼在各种项目之间切换的能力
  2. 小公司体量小,转舵容易,现在产品变化日新月异,只有对大众需求有高度警觉性才能在各种竞争中存活、胜出
  3. 小公司有一定机会成长为大公司,作为元老,有机会获得股份,财务自由也不是很难的事(一口君身边就有很多例子)
  4. 可以学习老板如何运作一个小公司,应付各个部门的查处,如何与竞争对手厮杀
  5. 有机会承担:研发、测试、fae、售前、甚至销售等多个工种
  6. 有机会近距离接触生产、销售等其他部门
  7. 有机会直接接触到客户(这个其实对于职场人来说,职业后期是最重要的)
  8. 了解一款产品从需求分析到详细设计、研发、生产、测试、交付、销售的完整流程(以后能干啥,你应该很清楚)

二、如何快速融入第一份工作【技术岗】

很多粉丝给一口留言,

刚到公司,领导直接给了几十G代码和一堆技术文档,

代码编译一遍可能都要很久,

那么应该如何快速上手一个项目呢?

一口君建议先按照以下步骤来学习:

1. 学习搭建环境、开发工具

不同的项目,不同的平台,

开发环境差别很大,

编译、镜像烧录、版本管理、git使用、代码编辑器、各种测试工具、调试工具的使用都不尽相同

强烈建议先把这些内容过一遍。

一口君常用的嵌入式驱动领域开发工具主要包括:

Source Insight、notepad--、
beyongd compare、Git、
FTP server、TFTP server、飞Q、
vmware、ubuntu、
xshell、secureCRT、ATK xcom、cmder、
Keil、
wireshark、科莱、netassist、tcpdump

2. 从产品测试着手

作为新人,初次接触代码,

看到浩瀚的代码,通常都会无从下手,

这绝对不是在校期间,

写个数组,写个排序算法的难度,

几乎很少不懵逼的,

所以强烈建议,在条件允许的情况下,

搭建好产品测试环境,

将产品所有功能全部测试一遍,

代码一定是根据功能来编写的,

根据功能去查看对应的代码,

会事半功倍。

3. 捋顺架构

嵌入式软件开发有可能涉及的几个方向:

  • 安卓
  • c++
  • QT
  • 驱动(基于linux、vxworks、threadX、纯单片机裸机开发)
  • 专用协议算法开发

不论哪一种,都建议先搞懂框架,以驱动为例,

比如艾为科技的GPIO扩展芯片aw9523的驱动,


对于老手来首,这是一个很简单的硬件,

但是新手要想看懂这个驱动,除了基本的c语言、linux基础操作外,还需要掌握:

阅读电路图、查看用户手册,驱动模块化编程、内核编译、内核镜像烧写、
设备树、platform、i2c、GPIO、sysfs、attr、input子系统,
getevent -lr 等等知识点

如果是第一次接触驱动,

这些知识点,很多新人可能听都没听过,

但是要想真正搞懂这个驱动模块,

这些都是必须掌握的。

如果你运气好,有一个成熟的师父愿意手把手带你,

首先带你分析电路图,搞清楚信号线的连接关系,

然后找到驱动入口,分析设备树硬件信息的功能及解析,

然后再讲解 gpio注册和高低电平控制、pinctrl子系统、i2c子系统、应用层如何通过sysfs实现与内核通信,input子系统、如何获取input子系统上报事件。。。。

那么基本上就不会走很多弯路,

但是这往往是奢望,

很多师傅可能只会和新人说:

这个是电路图,这个是驱动文件,这个是厂家给的资料,
自己看!
不懂的多百度!

师徒也是同事,

同事就一定会有竞争关系,

这个阶段,对于新人来说,

学会做人,就显得非常重要!

4. 多做项目

技术要想大幅度提升,一定要多做项目

零碎知识点,就像盲人摸象,

每个人、不同阶段看到的、理解的都会有一定的局限性,

每一个项目覆盖到的技术点,有多有少,

不同平台、库、接口,

设计不同的中间件、子系统、架构…

只有通过一个个项目,

被无数个bug摧残、蹂躏,

才能真正成为技术大拿!

三、作为新人如何调整心态?

除了学习好本职所需要的技术之外,妲己还需要注意其他能力的培养。

如果毕业之后进入大公司:

  • 好好学习如何写ppt、写报告
  • 学会从千丝万缕的事务中整理出最核心的数据和方案
  • 学习几万人的集团如何管理运转
  • 学会如何处理好复杂的人际关系【站队很重要】
  • 利用好平台,做出举世瞩目的成就

进入了小公司:

  • 拓展好自己的知识面,
  • 学会如何同时开发、支援多个项目,
  • 如何在各个工种(研发、测试、生产、销售、售前、fae)之间游刃有余的切换角色,
  • 学会用什么手段可以实现用最少的投入撬动最多的资源

不论哪种公司都要:

  • 作为一个新人,一定要有空杯心态
  • 学会装孙子、合理甩锅
  • 学会如何和各种岗位的老油条合(勾)作(心)交(斗)流(角),

制定自己的学习计划:
马无夜草不肥,
人无横财不富!

要想超越自己的竞争对手,只有不停地卷!

  1. 可以是专业技术,可以是从事领域市场、管理、产品等等都可以
  2. 制定短期和长期的学习计划,将一个宏大的目标,分解成很多个易于实现的小步骤,日积月累,量变产生质变
  3. 评职称,职称一般国企、研究所、事业单位都需要,中级以上都会有一定竞争力,职称的评定有时限要求,所以越早规划越好,一口君就是中级职称评定太晚,所以导致我现在高级评不了,虽然我对自己的专业知识很自信,但是规矩就是规矩
  4. 考本领域需要用到的证书,计算机软件领域有用的是:《软考证书》,中级和高级比较有用,有很多单位职称评定都是以考代评

很多老铁说,天天加班,累得要死,
根本没时间学习,
这纯粹是找借口,
大家可以看下面文章,我当时是如何有效利用自己的业余时间,
写了我人生第一本书的:

《我是如何利用业余时间写书的?—时间管理》

技术对于我们大部分人来说,只是一个进入职场的敲门砖,
想在本领域继续提升,还有很多因素,
在国内90%的技术人员,
到了一定年限后,技术的因素就不再重要了,

本文就不展开叙述了,

而且有些东西没法明面说,

你想唠,可以加一口君好友,

陪你唠出血!

任何时候一定要记住:低头做事、抬头看方向!

四、关于何时跳槽

跳槽一定要慎重,

首先确定好:

  • 这个公司的产品是不是真的完全没有市场,
  • 产品用的技术是不是真的毫无技术含量可言
  • 自己还有没有提升空间-技术、市场、管理、人脉
  • 在公司干的是不是特别压抑、不开心,看不到任何希望

如果思考完这4个问题之后,还是决定跳槽,那做好以下几点准备:

  • 公司的产品市场,一定要了解:行业、领域、哪些公司是自己的客户
  • 产品前景,与竞争对手相比优势,
  • 把公司产品的相关技术资料整理好(各种技术文档(不要涉密))
  • 未来5-10年我打算从事什么行业,打算找一个什么样的公司

小公司的管理,他的生存之道,
思考他为什么能存在,
思考如何改变,换做是自己,如何做得更好?

  • 骑驴找马,不要裸辞
    【提前给自己找备胎】

一旦提出了辞职(别人通过其他途径知道你要离职),不管别人如何挽留,你只能走

不要相信再过几个月给你升职、加薪的这种承诺,

对方不过是想在这几个月抓紧找一个备胎,接手你的项目。

但也别无脑得罪人,大家好聚好散,

活着都不容易!

五、嵌入式学习路线

至于该粉丝问的如何学习嵌入式Linux,可以参考下面文章:

https://mp.weixin.qq.com/s/mq6IhgO5JcBnAUBX5CP9Ww

针对想跳槽,缺乏项目经验的朋友,

一口君还录制了一个物联网课程,

学习完该课程可以添加该项目到简历,提升竞争力:

https://mp.weixin.qq.com/s/q3q7jVA2LcfeayGhZIlLow

很多粉丝朋友已经学习掌握了这个项目,并顺利找到了工作,希望对你有所帮助。


请添加图片描述

请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MathType公式编辑器安装教程

一、下载 MathType7是一款可以帮助用户快速完成数学公式编辑的应用软件,这款软件适合在进行教育教学、科研机构、论文写作的时候使用。我们可以直接通过这款软件来获取到大量数学上使用到的函数、数学符号等内容,然后使用这些内容来完成公式编辑。 …

玩转大数据4:大数据的崛起与应用领域探索

图片来源网络 引言 在当今数字化时代,大数据正以前所未有的速度和规模崛起。大数据的出现不仅改变了企业和组织的经营模式,也对我们的社会生活带来了深刻的影响。Java作为一种广泛使用的编程语言,在大数据领域发挥着重要的作用。本文将重点…

自动驾驶学习笔记(十三)——感知基础

#Apollo开发者# 学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往: 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo Beta宣讲和线下沙龙》免费报名—>传送门 文章目录 前言 传感器 测距原理 坐标系 标定 同…

初识Linux:保姆级教学,让你一秒记住Linux中的常用指令!

文章目录 前言一、LInux的背景及发展史二、Linux下的基本指令1、ls指令2、pwd指令3、cd指令4、touch指令5、mkdir指令(重要)6、tree指令7、rmdir指令和rm指令(重要)8、man指令(重要)9、cp指令(重…

操作PDF相关的工具,EPUB转PDF,golang

unipdf 安装依赖 go get github.com/unidoc/unipdf/v3 示例代码 https://github.com/unidoc/unipdf-examples 获取KEY 登录 https://cloud.unidoc.io/ 注册账号,生成 KEY,但是需要收费。 chromedp 使用Golang编写,主要功能是调用浏览器内…

【面试攻略】Oracle中blob和clob的区别及查询修改方法

大家好,我是小米,欢迎来到小米的技术小屋!今天我们要一起来聊聊一个在面试中常常被问到的问题——“Oracle中Blob和Clob有啥区别,在代码中怎么查询和修改这两个类型的字段里的内容?”别急,跟着小米一步步揭…

Android11适配已安装应用列表

Android11适配已安装应用列表 之前做过已安装应用列表的适配,最近国内版SDK升级到33和隐私合规遇到很多问题,于是把已安装应用列表记录一下: 1、在Android11及以上的适配: package com.example.requestinsttallapplistdemoimpo…

K210开发板之VSCode开发环境使用中添加或删除文件(编译失败时)需要注意事项

在最初开始接触,将VScode和编译环境搭载好后,就开始运行第一个程序了,为了后续方便开发测试,这里我自己对照官方提供的例子,自己调试,写了一个简单的文件系统 后续,所有关于开发的源文件都在...…

Sun Apr 16 00:00:00 CST 2023格式转换

Date date new Date(); log.info("当前时间为:{}",date); //yyyy-MM-dd HH:mm:ss SimpleDateFormat sdf new SimpleDateFormat(DateUtils.YYYY_MM_DD_HH_MM_SS); String dateTime s…

Git Bash环境下用perl脚本获取uuid值

在Linux环境下,比如在ubuntu就直接有uuidgen命令直接获取uuid值。在Windows环境下常用的git bash中没有对应的命令,略有不便。这里用脚本写一个uuidgen,模拟Linux环境下的uuidgen命令。 #! /usr/bin/perl use v5.14; use Win32;sub uuidGen {…

Springboot启动原理解析

我们开发任何一个Spring Boot项目,都会用到如下的启动类 SpringBootApplication public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);} } 从上面代码可以看出,Annotation定义&#x…

大数据技术学习笔记(七)—— Zookeeper

目录 1 Zookeeper 概述1.1 Zookeeper 定义1.2 Zookeeper 工作机制1.3 Zookeeper 特点1.4 数据结构1.5 应用场景 2 Zookeeper 安装3 客户端命令行操作4 Zookeeper 的 Java 客户端操作4.1 IDEA 环境搭建4.2 初始化 ZooKeeper 客户端4.3 创建子节点4.4 获取子节点4.5 判断Znode是否…

详解SpringAop开发过程中的坑

😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783…

Kubernetes实战(六)-多系统架构容器镜像构建实战

1 背景 最近在一个国产化项目中遇到了这样一个场景,在同一个 Kubernetes 集群中的节点是混合架构的,即其中某些节点的 CPU 架构是 x86 的,而另一些节点是 ARM 的。为了让镜像在这样的环境下运行,一种最简单的做法是根据节点类型为…

使用Java语言实现字母之间的大小写转换

这个类的作用为实现字母之间的大小写转换,通过加减32来完成。 输入的代码 import java.util.Scanner; public class WordChangeDemo {public static void main(String[] args){try (Scanner in new Scanner(System.in)) {System.out.println("请输入您要进…

springboot单元测试关闭日志

在logback中关闭日志 在test目录下新建文件夹resources&#xff0c;新增文件logback-test.xml文件 在logback-test.xml 文件中&#xff0c;添加内容&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <configuration><include resourc…

接口测试的简介及测试用例的设计

一&#xff0c;什么是接口 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系等。 二&#xff0c;接口…

《python每天一小段》--(1)与GPT-3.5-turbo 模型进行对话

对话如图&#xff1a; 配置环境变量 APIKey如何获得这边不做说明 在Windows操作系统中&#xff0c;你可以按照以下步骤设置环境变量&#xff1a; 打开“控制面板”。在控制面板中&#xff0c;选择“系统和安全”。选择“系统”。在系统窗口中&#xff0c;选择“高级系统设置”…

6-3 求3*3整数矩阵对角线元素之和

#include<stdio.h>int main(){int a[3][3],sum0;int i ,j;printf("输入元素&#xff1a;\n");for(i0;i<3;i)for(j0;j<3;j)scanf("%d",&a[i][j]);for(i0;i<3;i)sumsuma[i][i];printf("总和为&#xff1a;%d",sum);return 0;}

Python:私人定制密码保险库 - Vault

简介&#xff1a;Vault是一种用于安全访问机密的工具。秘密是您想要严格控制访问权限的任何内容&#xff0c;例如API密钥、密码、证书等等。Vault为任何机密提供了统一的界面&#xff0c;同时提供了严格的访问控制并记录了详细的审核日志。 历史攻略&#xff1a; Python&…