如果成为一名高级安卓开发
重点 (Top highlight)
You can’t “cram” your way into a senior developer position.
您无法“塞进”高级开发人员职位。
A while back I saw a course on Udemy that would essentially take you from a Junior developer to a Mid-Senior level.
前一段时间,我看到了有关Udemy的课程,该课程从本质上将您从初级开发人员带到中高级水平。
What was in it? Lots and lots of technologies. Lots of topics. The idea was to basically skim the surface of large amounts of software and concepts and in the end, you emerge a butterfly. You can then call yourself a Mid or Senior level!
里面有什么? 很多很多的技术。 很多话题。 这个想法基本上是从大量软件和概念的表面上脱颖而出的,最后,您浮出水面。 然后,您可以称自己为中级或高级!
The problem is that this isn’t at all how one matures as a developer, largely because most of us will forget what we learned at the beginning of the course by the time we reach the end. We don’t use these technologies in our jobs or our day to day activities. It is true that “What you don’t use, you lose.”
问题在于,这根本不是一个成为开发人员的成熟方式,主要是因为我们大多数人到了结局时都会忘记在课程开始时学到的东西。 我们在工作或日常活动中不会使用这些技术。 的确,“不使用就会失去。”
Another reason this approach doesn’t work is that Senior devs aren’t supposed to know everything. They don’t have all the answers.
这种方法行不通的另一个原因是 高级开发人员不应该一无所知。 他们没有所有答案。
I remember when this became a reality to me in my first corporate software job after years of freelancing.
我记得经过多年的自由职业后,这在我的第一份公司软件工作中变成现实时是什么。
In a standup, one day the PM asked if a certain senior dev could take on a new task. Surprisingly, he said, “I have no experience with x and think it would be better to pass it to someone else here who is more comfortable with taking that on.”
在站立时,一天下午,项目经理询问某个高级开发人员是否可以承担一项新任务。 令人惊讶的是,他说:“我没有使用x的经验,认为最好将它传递给这里的其他人,让他们更愿意接受它。”
I was shocked! You mean senior developers don’t know everything. You mean we’re allowed to admit that we can’t do something or that someone else knows more? (Naive thoughts of a young developer).
我很震惊! 您的意思是高级开发人员并不了解所有内容。 您的意思是我们被允许承认我们无能为力或其他人知道更多吗? (年轻开发者的幼稚想法)。
Since then, I’ve witnessed again and again senior developers nominating tasks to juniors because of a lack of knowledge. It’s not a competition here.
从那时起,我一次又一次地见证了高级开发人员由于缺乏知识而向初级人员提名任务的情况。 这里不是比赛。
So if it’s not knowing everything, what makes a developer a Senior? Well, let’s first look at the traits I’ve noticed in Senior developers.
因此,如果不是一无所知,是什么使开发人员成为高级人员? 好吧,让我们首先来看一下我在高级开发人员中注意到的特征。
高级开发人员的特点 (Traits of Senior Developers)
- They are good at the ”big picture” and thus are important in architectural and high-level discussions. 他们擅长于“全局”,因此在体系结构和高层讨论中很重要。
- They are clean coders (when they code). 他们是干净的编码器(当他们编码时)。
- They can get a company or other devs “unstuck” or “unblocked” when issues arise. 出现问题时,他们可以使公司或其他开发人员“不受阻碍”或“不受阻碍”。
- They push back on unnecessary features or features that pose risks. 他们推回不必要的功能或存在风险的功能。
- They research and choose technology and tech stacks wisely. 他们明智地研究和选择技术和技术栈。
- They are able to estimate project timeframes and break down into smaller chunks (for mid and juniors to tackle). 他们能够估计项目的时间范围,并细分为较小的部分(供中级和初级人员使用)。
- They are knowledgeable about a wide range of technology. 他们对广泛的技术知识。
Wait! I know what you’re thinking: “That last point there completely contradicts your first statement that you can’t “learn your way” into a Senior title.
等待! 我知道您在想什么:“那里的最后一点完全与您的第一个陈述矛盾,即您不能“学习自己的方式”获得高级职位。
Wrong. You can. And that leads me to my main point.
错误。 您可以。 这就是我的主要观点。
使您成为高级开发人员的唯一条件 (The Only Thing That Makes You A Senior Developer)
Being a senior developer is indeed being familiar with a broad range of technologies.
作为高级开发人员确实的确熟悉各种技术。
But that doesn’t happen by taking a Udemy course. You can’t rush this qualification.
但这并不是通过参加Udemy课程来实现的。 您不能急于获得此资格。
Because ultimately the only thing that makes you a Senior Developer is TIME.
因为最终使您成为高级开发人员的唯一因素是 TIME 。
Time!
时间!
It's over a period of years working through projects, making mistakes, writing code, sitting in meetings, solving problems, and using an often wide range of technologies.
在项目,错误,编写代码,参加会议,解决问题以及使用广泛的技术方面花费了多年的时间。
It’s learning coding concepts and foundations that make you flexible in any codebase, getting your fellow coworkers out of jams, and being accountable for your mistakes.
通过学习编码概念和基础,可以使您在任何代码库中保持灵活,使同事摆脱困境,并对错误负责。
All of these things take time.
所有这些事情都需要时间。
It’s a maturity that you build up over the years of being in the trenches.
您在战you中积累了多年的成熟度。
It’s a title that you EARN in the eyes of others, NOT one that you can give yourself.
这是您在他人眼中赢得的头衔,而不是您可以给自己的头衔。
结论 (Conclusion)
So if you are looking to become a Senior developer, keeping doing the work, putting in the time, making mistakes, and learning from it all. Enjoy your time as a Junior because that is ultimately the training ground (and that’s where all the fun happens (but that’s for another post)). Your TIME spent there will ultimately transform you one day into a Senior.
因此,如果您希望成为一名高级开发人员,请继续努力,投入时间,犯错误并从中学到一切。 享受您作为初中生的时间,因为这最终将是训练场(这就是所有乐趣发生的地方(但这是另一篇文章))。 您在那里所花费的时间最终将使您有一天成为一名大四学生。
讨论区 (Discussion)
Are you a senior developer? What did it take for you to get there? What advice do you have for Juniors wanting to be in your position in a few years?
您是高级开发人员吗? 您到达那里需要什么? 对于希望在几年后升任职位的大学生,您有什么建议?
翻译自: https://medium.com/swlh/the-one-and-only-factor-that-will-make-you-a-senior-developer-4fdd9d21b8c4
如果成为一名高级安卓开发