开发人员的发展建议
I want to preface this article by saying that it came out of a recent personal experience that I had. I learned some invaluable lessons and I hope you read it to the end and get something out of it for your time.
我想通过说这是我最近的个人经历来作为本文的开头。 我吸取了一些宝贵的经验,希望您能读到最后并从中得到一些收获。
Three jobs and several years into my professional career, I feel like I have come a long way and learned some valuable lessons .
我从事了三个工作和几年的职业生涯,我觉得自己已经走了很长一段路,并且学到了一些宝贵的经验。
The most important of which has prompted me to write this article today.
最重要的是促使我今天写这篇文章。
See, in my employment searches, I’ve always focused on which tech stack a company used or if I thought I would be a successful employee from a technical perspective. If I liked the people and the job enough and my skill-set aligned, I would accept the job. I was happy just working as a developer with my head buried in code all day solving problems.
在我的求职搜索中,我一直专注于公司使用哪种技术堆栈,或者从技术角度来看我是否会成为一名成功的员工。 如果我足够喜欢员工和工作,并且我的技能组合一致,那么我会接受这份工作。 作为开发人员,我全神贯注于解决问题的全职工作使我很高兴。
When it was time to move on from my second company, I was looking for a role where I could program in Node.js. I found a place that met my technical requirements and seemed to be a good company (it was a non-profit after all). I thought this would be a happy place for me to work and settle down at for a few years at least.
当我要离开第二家公司时,我正在寻找一个可以在Node.js中编程的角色。 我找到了一个符合我的技术要求的地方,并且看起来是一家不错的公司(毕竟这是一家非营利组织)。 我认为这对我来说至少是一个工作和安定下来的好地方。
Wrong!
错误!
Three months in, I am unproductive, extremely stressed — headaches and anxiety and all that — and I have mentally checked out.
在三个月的时间里,我的工作效率低下,压力极重,包括头痛,焦虑以及所有这些,而且我已经进行了心理检查。
A seemingly perfect opportunity went sour pretty quickly and I have spent a lot of time reflecting on what went wrong.
一个看似完美的机会很快就变糟了,我花了很多时间思考出了什么问题。
人员和流程比技术更重要 (People and Processes Matter More Than Technology)
In my interviews, I usually get really excited to talk about new technologies. Yet I neglect the more important matters of people and processes.
在采访中,我通常会非常兴奋地谈论新技术。 但是我忽略了人员和流程中更重要的事情。
I’ve always thought my job was to write code. Technically, it is, but that’s only a part of what I do. I have to constantly communicate with team members and managers. I have to plan, organize, think… There are so many aspects to software development that don’t have anything to do with burying my head in a computer screen.
我一直以为我的工作就是编写代码。 从技术上讲,是的,但这只是我所做的一部分。 我必须经常与团队成员和经理沟通。 我必须计划,组织,思考……软件开发的很多方面与将我的头埋在计算机屏幕上没有任何关系。
期望与现实 (Expectations vs Reality)
Many companies have unrealistic expectations. For example, you don’t get 8 hours of productivity out of employees. Someone’s butt in a chair is not indicative of the value they provide to the company. It’s just not the right metric to be looking at. If a company is very strict about where you sit, how you long you sit there and when you take breaks, then you should think twice about working there.
许多公司有不切实际的期望。 例如,您不会从员工那里获得8个小时的生产力。 某人坐在椅子上的屁股并不能说明他们为公司提供的价值。 这不是正确的指标。 如果一家公司对您的位置,坐在那里的时间以及休息的时间非常严格,那么您应该三思而后行。
I recommend reading — or listening to — the book “Rework” about how to run successful teams. Even if you aren’t a manager or team lead, it provides some great insight on how successful companies run.
我建议阅读或聆听有关如何运作成功的团队的“返工”一书 。 即使您不是经理或团队负责人,它也可以为成功的公司运营提供一些很好的见解。
工作面试 (Job Interviews)
The questions I should have been asking interviewers this whole time are things like:
我应该一直问面试官的问题是:
- How do you manage your projects? 您如何管理您的项目?
- Do you work in sprints? What does a sprint look like? What ceremonies do you perform? 你在冲刺工作吗? 短跑是什么样子? 您执行什么仪式?
- What does the development process look like? 开发过程是什么样的?
- How long do developers normally stay at your company? Why do(n’t) they stay? 开发人员通常在贵公司停留多长时间? 他们为什么不留下?
- How does the team get along? If I asked any of the team members, would they have concerns about the cohesiveness of the team? 团队如何相处? 如果我问任何团队成员,他们会担心团队的凝聚力吗?
- When there is a problem, how is it addressed? 出现问题时,如何解决?
- What is the work-life balance like? How many hours do employees usually work? Overtime? 工作与生活的平衡如何? 员工通常工作几小时? 随着时间的推移?
- Are there opportunities for me to be mentored and learn from senior developers? (Especially important if this is in your first developer role.) 我有机会受到指导并向高级开发人员学习吗? (如果这是您的第一个开发人员角色,则尤其重要。)
- What kinds of ongoing training opportunities do you provide? 您提供哪些持续的培训机会?
- Can I speak privately with at least one developer on the team? 我可以与团队中至少一名开发人员私下交谈吗?
- Tech stack and some related questions… 技术栈和一些相关问题…
These are solid questions to ask but remember: sometimes there is a discrepancy between what interviewers say and reality.
这些是要提出的扎实问题,但请记住:有时采访者的言论与现实之间存在差异。
It’s always preferable to meet at least one developer from the company before the interview — like at a meetup or something . If that’s not possible, it’s best to ask to speak with one of them without management around. If management does not want you to do that, it’s a sign that they know the developers are unhappy there. You should take that as a red flag.
在面试之前,最好与公司的至少一位开发人员会面-例如在聚会或类似场合。 如果无法做到这一点,那么最好在没有人管理的情况下要求与其中一位交谈。 如果管理层不希望您这样做,则表明他们知道开发人员对此不满意。 您应该将其视为危险信号。
The people who work there and how they treat those people is the most important thing. If the team is happy and gets along really well, chances are, it’s a good company to work for. The process and project management style are also important. Although, if they have happy people, I would guess they have good processes as well.
最重要的是在那里工作的人以及如何对待这些人。 如果团队快乐并且相处得很好,那么机会就是,这是一个很好的公司。 流程和项目管理风格也很重要。 虽然,如果他们有快乐的人,我想他们也会有良好的流程。
Remember: “It’s always a people problem.”
请记住:“ 这始终是人的问题。 ”
权衡利弊 (Weighing Pros and Cons)
It’s good to make a list of everything you desire in a job and company. Once you have a list, mark the items as “important” or “nice to have”. As you are interviewing, ask questions to find out about each item on the list so you can compare.
列出您在工作和公司中想要的一切都很好。 有了列表后,将项目标记为“重要”或“很不错”。 在面试时,提出问题以了解列表中的每个项目,以便您进行比较。
Don’t be wowed by HR and managers talking up the place — perfect companies do not exist! The best thing to do is write out the pros and cons for each company where you are entertaining employment opportunities. If you haven’t found any cons yet, you haven’t looked hard enough. There are problems in every company.
人力资源部和经理们不要为这个话题而惊叹—完美的公司不存在! 最好的办法是写出每个您在其中就业机会的公司的利弊。 如果您还没有发现任何缺点,那么您看起来还不够努力。 每个公司都有问题。
Make sure you Google.
确保您是Google。
Read everything on their company site, look at reviews on Glassdoor, and reach out to current employees on LinkedIn.
阅读他们公司网站上的所有内容,查看Glassdoor上的评论,并通过LinkedIn与现有员工联系。
It’s good to make this effort up front since choosing the right place is so important for your career success, happiness, and mental health.
最好先做好这项工作,因为选择正确的位置对您的职业成功,幸福和心理健康至关重要。
After all your research, you can compare every company with your ‘desire list’ and with each other company you interviewed at.
完成所有研究后,您可以将每个公司与您的“需求列表”进行比较,并与接受采访的其他公司进行比较。
If it’s your first job, you won’t be able to be as picky. Still, you should be able to have most of your core wants met — at the very least you should be expecting mentorship and a solid team.
如果这是您的第一份工作,那么您将不会变得挑剔。 不过,您应该能够满足大多数核心需求-至少您应该期望得到指导和强大的团队。
结论 (Conclusion)
Before this company, I was running a local meetup group, giving lots of talks and some workshops, and doing so many other things. Then I started working at this company and all my energy was suddenly zapped away. I had to force myself to do things I enjoyed before. I felt miserable. All because I didn’t the time up front to ask the right questions and find out the right information.
在这家公司工作之前,我负责一个本地聚会小组,进行很多演讲和一些研讨会,并做许多其他事情。 然后我开始在这家公司工作,我的所有精力突然消耗away尽。 我不得不强迫自己做我以前喜欢的事情。 我感到很痛苦。 都是因为我没有时间提前提出正确的问题并找到正确的信息。
Don’t make that mistake!
不要犯那个错误!
I wish you the best in your development career.
祝您事业发展顺利。
If you are interested in how good agile project management can work, here is an example.
如果您对良好的敏捷项目管理的工作方式感兴趣,请参考以下示例 。
I am very fortunate to have formed relationships in the local coding community. As soon as I put it out there that I was looking for new a job ASAP, I receive several offers within about a week. Here is another article I wrote about the importance of networking and going to meetups.
我很幸运在本地编码社区中建立了联系。 当我提出要尽快寻找新工作时,大约一周之内便收到了几份工作邀请。 这是另一篇文章 我写了关于网络和参加聚会的重要性的文章。
** Thanks to Nick Birch for proofreading this article. Some of the advice I have mentioned came from a fellow developer and friend, Jared Wilcurt.
**感谢Nick Birch对本文进行校对。 我提到的一些建议来自开发者兼朋友Jared Wilcurt 。
翻译自: https://www.freecodecamp.org/news/choosing-a-developer-job-some-advice-a64c60b795a4/
开发人员的发展建议