c# 从零开发第一个小软件_如何成功完成您的第一个软件开发人员工作

c# 从零开发第一个小软件

Your first job as a Software Developer can be the start of a great journey. It can also be a stressful time because of all the new people, new culture, and your new responsibilities. Few fresh starters know how to integrate into their first team and not every manager is able to offer them enough support.

作为软件开发人员的第一份工作可能是伟大旅程的开始。 由于所有新人,新文化和新职责,这也可能是一个压力大的时期。 很少有新手知道如何融入他们的一线团队,并不是每个经理都能为他们提供足够的支持。

I’d like to share some advice on how software engineers can integrate into their first team sooner, become valuable contributors, and avoid isolation, conflicts and unnecessary stress along the way.

我想分享一些有关软件工程师如何尽快融入他们的第一支团队,成为有价值的贡献者以及避免一路走来的孤立,冲突和不必要压力的建议。

Here is a quick summary:

快速摘要:

  • Learn the ropes — get familiar with the tools, processes, and the routine of your team;

    学习绳索-熟悉团队的工具,流程和例程;
  • Connect with your teammates — build professional relationships with people around you;

    与队友保持联系-与您周围的人建立专业关系;
  • Absorb knowledge — get familiar with the tech that your team is using and the product you are working on;

    吸收知识-熟悉团队正在使用的技术和正在开发的产品;
  • Understand your strengths and weaknesses — identify where you can help your team and where you need your team’s help;

    了解自己的优势和劣势-确定可以为团队提供帮助的地方以及需要团队帮助的地方;
  • Get Stuff Done — gradually take on more important work and deliver good results.

    完成工作-逐步进行更重要的工作并取得良好的结果。

学习绳索 (Learn the Ropes)

Get access to all important systems, familiarise yourself with the tools and processes in your team, set up your development environment and start writing code.

获得对所有重要系统的访问权限,熟悉团队中的工具和流程,设置开发环境并开始编写代码。

进入相关系统 (Get access to relevant systems)

Start with getting access to systems that you will be using every day: email, team chat, source control, task tracker, CI, and other services and apps that the organisation uses to collaborate and share documents internally.

首先,获得对每天将要使用的系统的访问权:电子邮件,团队聊天,源代码控制,任务跟踪器,CI和组织用于内部协作和共享文档的其他服务和应用程序。

Most likely you’d have your laptop already waiting for you and your email and chat account already created on day one. Ask your manager which systems you need access to and if there is a readme which you can follow to have everything setup sooner.

您很可能已经有笔记本电脑在等着您,并且在第一天就已经创建了电子邮件和聊天帐户。 询问您的经理,您需要访问哪些系统,以及是否有自述文件,您可以按照该自述文件来更快地进行所有设置。

设置您的开发环境 (Setup your dev environment)

After you get access to essential services you’ll need to set up your development environment to start writing code. Depending on the product and the team, that can be a manual process or it can be as simple as checking out the project code and running a script.

访问基本服务后,您需要设置开发环境以开始编写代码。 根据产品和团队的不同,这可以是手动过程,也可以像检出项目代码并运行脚本一样简单。

Your team may have a developer guide with instructions for setting up the dev environment. That guide may be a bit outdated. Teams don’t onboard new people frequently and often forget to update their documentation. Don’t forget to fix errors and omissions that you discover in those guides. Let your new teammates know about the issues you have found and fixed. Be a responsible individual and make their life easier as well.

您的团队可能有一个开发人员指南,其中包含有关设置开发环境的说明。 该指南可能有点过时了。 团队不会经常招募新人,并且常常忘记更新他们的文档。 不要忘记修复在这些指南中发现的错误和遗漏。 让您的新队友知道您已发现并解决的问题。 做个负责任的人,让他们的生活也更轻松。

Don’t hesitate to ask your manager and new colleagues for help. Every product has a bespoke development environment setup — it is okay to not know how things work at this stage.

请随时向您的经理和新同事寻求帮助。 每个产品都有定制的开发环境设置-在此阶段不知道事情如何工作是可以的。

The ideal scenario would be to have your environment setup on your day one to pick your first task and start working on it. If you are lucky to have a good manager, there will already be a list of small tasks waiting for you to help you get familiar with the product and make you feel more confident after completing them.

理想的情况是在第一天就设置好环境,以选择第一个任务并开始工作。 如果您幸运地拥有一位优秀的经理,那么已经有一系列小任务在等待您,以帮助您熟悉产品并在完成这些任务后感到更加自信。

熟悉工具和流程 (Get familiar with the tools and processes)

Your new team may have a manual that describes the expectations within the team. It may be called the “Team Handbook”, or “Working Agreements” or something like that. That (hopefully brief) manual should give you an idea of how the team is supposed to work: how to estimate tasks, deal with bugs, test their code, how and when to introduce new tech, ask for help, how to review each other’s code, whether people prefer to pair or work individually, how they do standups, retros and demos, what they value as professionals and as human beings and so on.

您的新团队可能会有一本手册,描述了团队内部的期望。 它可能被称为“团队手册”或“工作协议”之类的东西。 该手册(希望简短)应该使您了解团队的工作方式:如何估计任务,处理错误,测试他们的代码,如何以及何时引入新技术,寻求帮助,如何互相评审代码,人们是喜欢结对还是单独工作,他们如何进行站立,表演和演示,他们作为专业人士和人类的价值等等。

If a manual like that doesn’t exist, find a time to talk to your manager to find out those details.

如果没有这样的手册,请找时间与您的经理交谈以了解这些详细信息。

Most importantly, spend some time to understand how your team is using their chat, the task tracker, and the source control since you’ll be using those tools very frequently.

最重要的是,花一些时间来了解您的团队如何使用他们的聊天,任务跟踪器和源代码控制,因为您将非常频繁地使用这些工具。

了解团队的日常工作 (Understand the daily routine of the team)

From day one start paying attention to the patterns in the way the team works, the flow, the dynamics during the day: when they start and finish work, when they have lunch, when they have breaks, what informal activities they have during the week, whether they have after-work “clubs”, whether they play any sports together and so on. That will help you connect with your new colleagues through informal activities and hopefully make new friends.

从第一天开始,注意团队的工作方式,流程,白天的动态:何时开始和完成工作,何时吃午餐,何时休息,一周中有哪些非正式活动,是否有下班后的“俱乐部”,是否一起参加任何体育运动等等。 这将帮助您通过非正式活动与新同事联系,并希望结识新朋友。

与队友联系 (Connect with Your Teammates)

Get to know the people in your team — your relationships with them are critical to your success.

认识团队中的人-与他们的关系对您的成功至关重要。

找出您的队友擅长的领域 (Find out what your team-mates specialise in)

Start by asking your manager about what each of your team-mates typically works on. Try to find an opportunity to pair on a simple task with everyone in the first couple of weeks. You’ll get a chance to see how they work, pick up a few tricks, and get a bit of the knowledge about the product that exists only in people’s heads, not in team docs.

首先向您的经理询问每个队友通常从事的工作。 尝试在前几周内找到与每个人配对的简单机会。 您将有机会了解它们的工作原理,掌握一些技巧,并获得仅在人们的头脑中而不是团队文档中存在的有关该产品的知识。

Pay attention to which types of tasks your peers prefer to work on. You’ll get an idea who to ask for help if you get stuck with a similar task. Likewise, you’ll get an idea who you can offer your help. Pay attention to what they say at the standups and meetings to understand what is happening around you: what projects the team is working on, what the current priorities are, what you can help with.

请注意您的同事喜欢从事哪些类型的任务。 如果您遇到类似的任务,就会有想法向谁寻求帮助。 同样,您将了解可以为您提供帮助的人。 请注意他们在站立和会议上所说的话,以了解您周围正在发生的事情:团队正在从事的项目,当前的重点是什么,您可以提供哪些帮助。

提问题(但先做功课) (Ask questions (but do your homework first))

Don’t be afraid to ask questions if you don’t understand or don’t know how to do something. Just remember to spend some time (10–20 minutes might be enough) on finding the answer yourself first. In addition, ask people to teach you how to do things, not just do them for you.

如果您不了解或不知道该怎么做,不要害怕问问题。 只需记住要花一些时间(10至20分钟就足够了),自己先找到答案。 另外,要求别人教你如何做事,而不仅仅是为你做事。

A good way to ask for help is to tell something like: I need to do X but not sure how, I have tried this and that, already searched for Y in the source code and googled for Z but still no luck, maybe you can point me in the right direction?

寻求帮助的一种好方法是说:我需要做X但不确定如何做,我已经尝试过了,已经在源代码中搜索了Y,并在Google中搜索了Z,但还是没有运气,也许你可以为我指明正确的方向?

Your colleagues will often be happy to share their knowledge, experience, and opinions with you. In general, many developers are always happy to chat about their preferred languages, frameworks, and tools especially when there is plenty of time for that. Don’t hesitate to ask.

您的同事通常会很乐意与您分享他们的知识,经验和意见。 通常,许多开发人员总是很乐于谈论他们喜欢的语言,框架和工具,尤其是在有足够时间的情况下。 不要犹豫了。

Remember, no-one in the team, and experienced developers in particular, won’t expect you to know everything. This is your first software developer job after all.

记住,团队中没有人,尤其是经验丰富的开发人员,不会期望您了解所有内容。 毕竟,这是您的第一个软件开发人员工作。

寻找与队友合作的机会 (Find an opportunity to collaborate with teammates)

Working with your teammates on task together is an easy way to build working relationships. The more people you work together the more knowledge and skills you get. Not everyone is easy to work together with: it can be about you and it can be about them. Some people can’t explain things well. Some are too impatient. Others may be shy or inconfident. Others may be a bit arrogant. That’s not ideal of course. However, after a few initially awkward pairing sessions you will eventually find one or two of your colleagues who will be easy enough for you to work with.

与队友一起完成任务是建立工作关系的简便方法。 在一起工作的人越多,您获得的知识和技能就越多。 并非每个人都容易与他人一起工作:它可能与您有关,也可能与他们有关。 有些人不能很好地解释事情。 有些人太急了。 其他人可能会害羞或不自信。 其他人可能会有点自大。 当然那不是理想的。 但是,经过几次最初尴尬的配对后,您最终会找到一个或两个同事,他们很容易与您一起工作。

了解有关您的同事的更多信息 (Learn more about your colleagues as humans)

As you are connecting professionally with your new teammates, spend some time learning more about them as humans: what kind of food they like, what kind of holidays they prefer, what their favourite movies are, etc. Ask them about the time they have spent in this company, their previous jobs and their technical background. Some of your colleagues may be in a running, cycling or video/board gaming group. You may want to join one, depending on your interests.

当您与新队友建立专业联系时,请花一些时间来学习有关他们的人类知识:他们喜欢什么样的食物,他们喜欢什么样的假期,喜欢的电影是什么,等等。向他们询问他们度过的时间在这家公司工作,以前的工作和技术背景。 您的一些同事可能在跑步,骑自行车或视频/棋盘游戏组中。 您可能想加入一个,具体取决于您的兴趣。

The more you know each other, and the more varied the activities that you do together are the stronger your mutual connection becomes. It is absolutely possible to have this connection even in a team distributed over several time zones.

彼此了解得越多,一起进行的活动越多样化,彼此之间的联系就越牢固。 即使在分布于多个时区的团队中,也绝对有可能建立这种连接。

扩大您的网络 (Expand your network)

A step further is to get to know people who your team collaborates with. Depending on the type and the size of your organisation, those could be: designers, product/project managers, analysts, support, your manager’s manager, your manager’s peers, DB/system/IT admins, engineers from other teams, customer representatives and so on.

进一步的步骤是认识与您的团队合作的人。 根据组织的类型和规模,可能是:设计人员,产品/项目经理,分析师,支持人员,经理的经理,经理的同事,DB /系统/ IT管理员,其他团队的工程师,客户代表等等。上。

Make sure you know their names and what they do. Ensure they know who you are and how you can be useful. Stronger connections in an organisation will help you deliver great results in the near future.

确保您知道他们的名字以及他们的工作。 确保他们知道您是谁,以及您如何成为有用的人。 组织中更紧密的联系将帮助您在不久的将来取得丰硕的成果。

成为一个友好而好奇的专家 (Be a friendly and curious professional)

Always be friendly, polite, and respectful to anyone in your organisation. It is a professional environment. Avoid criticising the way your team or other teams do things straight away — there is likely a reason for that, which you are unaware of yet. If some process seems strange or even illogical — you can always ask your manager or colleagues why it is so.

始终对您组织中的任何人都友好,礼貌和尊重。 这是一个专业的环境。 避免批评您的团队或其他团队立即做事的方式-可能有一个您尚未意识到的原因。 如果某个过程看起来很奇怪甚至不合逻辑-您可以随时询问您的经理或同事为什么这样做。

Remember one important thing, while growing your connections at work, make sure your colleagues see you as a friendly and curious professional who gets stuff done, not just someone who they mostly have a small talk with.

记住一件重要的事情,在增进工作联系的同时,请确保您的同事将您看作是一个友好而好奇的专业人员,能够完成工作,而不仅仅是与他们经常聊天的人。

吸收知识 (Absorb Knowledge)

Spend the first several months on learning as much as you can about your work.

在开始的几个月里,您会花更多的时间来学习自己的工作。

您正在构建的应用程序如何工作以及为什么以这种方式构建 (How the application you are building works and why it was built this way)

This is about understanding how the systems that you are working on actually work. For example, if you are a front-end developer, you need to understand how customers use the product, who the typical customers are, why UI is built this way, how it talks to the back-end, how and why designers made it look this way, what kind of work is coming in the near future for you and why, what the priorities are for your team for the next several months.

这是关于了解您正在使用的系统如何实际工作。 例如,如果您是前端开发人员,则需要了解客户如何使用产品,典型客户是谁,为什么以这种方式构建UI,如何与后端对话,设计师如何以及为何制造它这样看来,您近期将要从事什么样的工作,为什么,在接下来的几个月中您的团队的工作重点是什么。

If you are a full-stack dev, in addition to all that you need to understand at least relevant parts of the backend architecture, what the database structure looks like, which APIs the system talks to, how the system is monitored, how exceptions are handled, how it is tested, and so on.

如果您是全栈开发人员,则除了至少需要了解后端体系结构的相关部分之外,还需要了解数据库结构的外观,系统与之交互的API,如何监视系统,如何处理异常处理,如何测试等等。

逐步学习您的团队正在使用的技术,工具和技术 (Gradually learn the tech, tools and techniques your team is using)

This is the crucial part of your learning and the key to your success. You were hired to develop the software — the better you can do it, the more useful you are to your team and organisation.

这是学习的关键部分,也是成功的关键。 您被雇用来开发软件–您做得越好,对您的团队和组织就越有用。

Learn as much as possible about the programming languages that you are using. Find out which frameworks and third-party libraries the project includes, read their documentation and do a few tutorials on how to use them efficiently. Ask your colleagues how their code editors are configured, they may recommend some plugins to increase your productivity.

尽可能多地了解所使用的编程语言。 找出该项目包括哪些框架和第三方库,阅读它们的文档,并做一些有关如何有效使用它们的教程。 询问您的同事如何配置他们的代码编辑器,他们可能会建议一些插件来提高您的工作效率。

寻求机会在产品的不同部分上工作 (Seek opportunities to work on different parts of the product)

If you can choose which tasks to work on, it is best to start with the tasks related to the parts of the product which could be easiest for you to understand and then gradually explore related areas.

如果您可以选择要处理的任务,则最好从与产品各部分有关的任务入手,这可能最容易理解,然后逐步探索相关领域。

For example, if you are only familiar with Javascript and CSS then it would be safest for you to work on small front-end tasks only to gradually build confidence and then start working on either more complicated parts of the front-end or on parts of the backend code that the front-end interacts with.

例如,如果您仅熟悉Javascript和CSS,那么最安全的方法是从事小型前端任务,从而逐渐建立信心,然后再开始从事前端的更复杂部分或者某些部分的工作。与前端交互的后端代码。

As you get more confident and familiar with the codebase you can offer your help with something that would be new to you to pair with another experienced developer.

随着您对代码库更加自信和熟悉,您可以与其他经验丰富的开发人员一起为您提供新的帮助。

了解团队的整体情况 (Understand the bigger picture around your team)

In addition to that, try to understand the bigger picture around your team — what your group works on, what the organisation business looks like. What the goals are and so on.

除此之外,尝试了解整个团队的整体情况-团队工作的内容,组织业务的样子。 目标是什么,等等。

Knowing that will help you make technical decisions and prioritise “the right” work. For example, if your team is tasked with building a proof of concept for a new product, there is no need to polish the code. The goal is to ship it to market ASAP and if it takes off you can deal with the tech debt created along the way (you know the drill).

知道这将帮助您做出技术决策并确定“正确”工作的优先级。 例如,如果您的团队的任务是为新产品构建概念证明,则无需完善代码。 我们的目标是尽快将其交付市场,如果起飞,您可以解决在此过程中产生的技术债务(您知道演习)。

了解你的长处和短处 (Understand your Strengths and Weaknesses)

After you spend 4–6 weeks with your team try to look back and identify your strengths and weaknesses that are relevant to your job. In addition to that, try to establish some kind of a feedback loop with your manager and more experienced colleagues to speed up your learning. Let’s see what that means exactly.

在与团队一起工作4至6周后,请尝试回顾并确定与工作相关的优势和劣势。 除此之外,尝试与您的经理和更有经验的同事建立某种反馈回路,以加快学习速度。 让我们看看这到底意味着什么。

找出你擅长的 (Find out what you do well)

Look at the tasks that you have done well so far and answer questions like:

查看到目前为止您做得很好的任务,并回答以下问题:

  • What aspects were done particularly well?

    哪些方面做得特别好?
  • Was it acknowledged by your teammates?

    你的队友承认了吗?
  • Would you want to work on similar tasks more?

    您是否想更多地从事类似的工作?
  • What further opportunities does your team have for you to practice what you can do well?

    您的团队还有哪些进一步的机会让您练习可以做得好的事情?

Knowing your strengths is important. That allows you to pick the tasks where you can shine and help your team succeed. Building on your strengths you can go wider or deeper in a few months but at first you need to understand what those strengths are. Examples could be:

了解自己的优势很重要。 这样一来,您就可以挑选出可以发挥自己才能并帮助团队成功的任务。 利用您的优势,您可以在几个月内进一步扩大或更深入,但是首先,您需要了解这些优势。 例如:

  • being well familiar with a particular technology, like React, SQL, etc,

    熟悉特定技术,例如React,SQL等,
  • attention to details that helps you to write code that nicely handles non-obvious edge cases in user interface,

    注意细节,帮助您编写可很好地处理用户界面中非显而易见的边缘情况的代码,
  • good “detective skills” to identify and fix obscure bugs,

    良好的“侦探能力”,可以识别并修复晦涩的错误,
  • ability to write simple and maintainable code.

    编写简单且可维护的代码的能力。

找出你做得不好的地方 (Find out what you don’t do so well)

Similarly, look at the tasks that were too difficult for you and try to answer questions like:

同样,查看对您来说太难的任务,并尝试回答以下问题:

  • Which tasks were too difficult because of your lack of specific technical skills?

    由于您缺乏特定的技术技能,哪些任务太困难了?
  • Which tasks were too difficult because information was unavailable and you didn’t know who to ask for help?

    哪些任务太难了,因为无法获得信息并且您不知道该向谁寻求帮助?
  • Which tasks were difficult because of factors beyond your control: scope, size, urgency?

    由于无法控制的因素,哪些任务比较困难:范围,大小和紧迫性?
  • What can you do better when working on similar tasks in the future?

    将来在执行类似任务时,您可以做些什么?
  • Who can you ask for help in the future?

    您将来可以向谁寻求帮助?
  • How can you identify a difficult task in the future?

    您将来如何确定一项艰巨的任务?

Knowing your weaknesses is important as well. That allows you to know when to ask for help early when you start working on the task and minimise the risk of failure for yourself and for the team. That also allows you to identify areas in which you may want to improve your skills.

知道自己的弱点也很重要。 这样一来,您便可以知道在开始执行任务时应何时提早寻求帮助,并最大程度地降低自己和团队失败的风险。 这也使您可以确定需要提高技能的领域。

Note, that focusing on your strengths and managing your weaknesses is a more sensible strategy than to try to excel in as many areas as possible. There is just not enough time for that. For example, if you are confident with the product front-end then when working on a feature that spans over the front-end and backend of the application you may ask to work together with a more experienced back-end or full-stack developer to complete the task sooner and with higher quality. You can do the same when you decide to try working across the entire stack.

请注意,专注于自己的优势和应对自己的劣势是比试图在尽可能多的领域中脱颖而出更明智的策略。 只是没有足够的时间了。 例如,如果您对产品的前端有信心,那么当使用跨应用程序的前端和后端的功能时,您可能会要求与经验丰富的后端或全栈开发人员一起工作,以更快,更高质量地完成任务。 当您决定尝试遍及整个堆栈时,可以执行相同的操作。

与您的经理讨论您的优点和缺点 (Discuss your strengths and weaknesses with your manager)

You can hardly identify all your relevant strengths and weaknesses yourself. That is why it is important to discuss them with your manager and possibly with some senior colleagues.

您几乎无法自己确定所有相关的优点和缺点。 因此,与您的经理以及可能与一些高级同事讨论这些问题很重要。

One way to do that is to share your opinion on what you believe you can do well already and what you need to improve and then ask them what their opinion on that is.

做到这一点的一种方法是,就您认为自己已经可以做好的事情以及需要改进的地方分享您的意见,然后询问他们对此有何看法。

A better way would be to regularly discuss them with your manager at your 1–1s if you have them.

如果有的话,一种更好的方法是与您的经理定期在1-1讨论他们。

定期向您的经理寻求反馈 (Regularly ask your manager for feedback)

In many organisations managers have weekly or fortnightly 1–1 meetings with each of their team members. These meetings are a great opportunity to discuss how they feel about work, their performance, ask their opinion on various issues, and of course provide and receive some feedback.

在许多组织中,经理每周或每两周与每个团队成员举行1-1次会议。 这些会议是一个很好的机会,可以讨论他们对工作的感觉,绩效,对各种问题的看法,当然可以提供和接收一些反馈。

If your manager has regular 1–1s with you and your teammates, use that time to ask questions about your performance, find out what you can improve on, and what you already do well enough.

如果您的经理与您和您的队友有固定的1-1,请利用这段时间问有关您的绩效的问题,找出您可以改进的地方,以及您已经做得很好的地方。

If you want to speed up your learning and have enough free time to spend on that, ask your manager to recommend books, courses, and articles that in their opinion would be useful for you to get better at your job. If you would like to work more with some of your colleagues or work on specific types of tasks to get more familiar with certain technology or part of the product — 1–1s are a great place to discuss all that.

如果您想加快学习速度,并有足够的空闲时间花在这上面,请让您的经理推荐书籍,课程和文章,他们认为这些书籍,课程和文章将对您的工作有所帮助。 如果您想与您的一些同事进行更多的工作,或从事某些特定类型的任务,以更加熟悉某些技术或产品的某些部分,则1-1是讨论所有这些问题的好地方。

If your manager doesn’t do regular 1–1s with their team — you can always ask to have fortnightly 20–30 minute catch-ups to discuss all those things that were mentioned above. Most managers would agree. Even if they don’t, you can always ask them some of those questions more or less frequently.

如果您的经理不定期与他们的团队进行1-1讨论,您总是可以要求每两周进行20-30分钟的讨论,以讨论上述所有问题。 大多数经理都会同意。 即使他们没有,您也可以经常或多或少地问他们一些问题。

定期向您的高级同事寻求反馈 (Regularly ask your more senior colleagues for feedback)

This will help you build trust between you and your colleagues, get more tasks where you can show your abilities and get support in more difficult areas. Your teammates will know better what to expect from you and how they can help you succeed. It is a win-win situation.

这将帮助您在同事之间建立信任,获得更多任务来展示自己的能力,并在更困难的领域获得支持。 您的队友将更好地了解您的期望以及他们如何帮助您成功。 这是一个双赢的局面。

完成工作 (Get Stuff Done)

Starting with small tasks, gradually move to delivering more complex features and improvements to build your credibility in the team, expand your knowledge, and build new skills.

从小任务开始,逐步过渡到提供更复杂的功能和改进,以建立团队信誉,扩展知识并建立新技能。

从待办事项中处理简单到中等难度的任务 (Work on simple to moderately difficult tasks from the backlog)

It is safest to start on small tasks like bug fixes, minor isolated enhancements and relevant refactoring. Always pick high-priority tasks. Avoid wasting your time on things with low priority as they are not contributing to team goals even though they may seem important.

最开始的小任务是最安全的,例如错误修复,较小的隔离增强和相关的重构。 始终选择高优先级的任务。 避免将时间浪费在低优先级的事情上,因为即使它们看起来很重要,它们也无助于团队目标。

Your goal should be to consistently deliver good results while gradually increasing complexity of tasks until you get as familiar with the code base as your team-mates with a comparable level of experience.

您的目标应该是持续交付良好的结果,同时逐渐增加任务的复杂性,直到您与具有类似经验的团队成员熟悉代码库为止。

建立团队中开发人员的信誉 (Build your credibility as a developer in your team)

Building your credibility is important. As this is your first job, your manager and teammates may be cautious with giving you tasks which failure may let the team down. It will take some time to earn trust.

建立信誉至关重要。 因为这是您的第一份工作,所以您的经理和队友可能会谨慎地执行任务,否则任务可能会让团队失望。 获得信任将需要一些时间。

You can build credibility by showing that you can do the job well and write reliable code as it was mentioned above. You can build credibility faster if you are discussing your strengths and weaknesses with your manager and experienced teammates.

您可以通过证明自己可以做得很好并编写可靠的代码来建立信誉,如上所述。 如果您要与经理和经验丰富的队友讨论自己的优缺点,则可以更快地建立信誉。

避免处理不属于待办事项的任务 (Avoid working on tasks that are not part of the backlog)

Avoid working on things that are not part of the sprint plan for your team as it may look like you don’t understand your team priorities.

避免进行不属于团队冲刺计划的工作,因为看起来您似乎不了解团队的优先事项。

Also, avoid trying to show off by rewriting parts of the application just because you don’t like the current implementation. There is a chance that you don’t know all the details and will either make mistakes and introduce bugs or take a lot of time of your colleagues who will have to review your code.

另外,避免仅仅因为您不喜欢当前的实现而试图通过重写应用程序的一部分来炫耀自己。 您有可能不了解所有详细信息,并且可能会犯错误并引入错误,或者花费很多时间来审查您的代码的同事。

If you would like to refactor something or introduce a new approach or technology, it is always better to ask the opinion of your colleagues first. There might be a good reason why they are not doing this (yet). Or, on the contrary, they might like your suggestion.

如果您想重构某些东西或引入新的方法或技术,最好先征询同事的意见。 他们可能还没有这样做,这可能是有充分的理由的。 或者相反,他们可能喜欢您的建议。

It never hurts to ask something like, “have you considered doing this?” or “You probably have considered doing this, out of curiosity why you decided to use the current approach?”.

询问“您是否考虑过要这样做?”这样的问题从没有什么坏处。 或“出于好奇,您可能已经考虑过这样做,为什么决定使用当前方法?”。

In general, it is best to avoid telling your teammates that they are doing things wrong before understanding the context and their reasons.

通常,最好在了解背景和原因之前避免告诉队友他们做错了事。

逐步以更高的优先级执行更复杂的任务 (Gradually move to more complex tasks with higher priority)

In a few months, as you get familiar with your new responsibilities, environment and the codebase, try to find a small but relevant project to work on. Your manager should be able to find an opportunity for you. It can be a large feature, or refactoring, or migration to some new library or API.

几个月后,当您熟悉新的职责,环境和代码库时,请尝试找到一个小型但相关的项目进行工作。 您的经理应该能够为您找到机会。 它可以是一项大型功能,也可以是重构功能,也可以是迁移到某些新库或API的功能。

By the time you reach this stage, you should have an idea of how your team works, who of your colleagues is easy for you to work with, what the expectations from your team are.

到这个阶段时,您应该对团队的工作方式,与您一起工作的同事很容易理解,团队的期望值有所了解。

Use this information to pick a project that is moderately challenging as you will still be discovering “unknown unknowns” along the way. Your goal is to successfully deliver this piece of work and continue building your credibility. Not to take on too many responsibilities just to let your team down. Pick bigger challenges once you complete your first one.

使用此信息选择一个具有中等挑战性的项目,因为您在此过程中仍会发现“未知未知数”。 您的目标是成功完成这项工作,并继续树立信誉。 不要仅仅为了让您的团队失望而承担太多责任。 完成第一个挑战后,选择更大的挑战。

To sum this up, to succeed at your first jobs as a software developer, always deliver your best work, use every opportunity to learn, discover and develop your strengths, gradually build your credibility within the team, and grow professional relationships with your colleagues. I hope you’ve found this little guide helpful. Best of luck at your first job!

综上所述,要在成为软件开发人员的第一份工作中取得成功,请始终提供最佳的工作,利用一切机会学习,发现和发展自己的优势,逐步在团队中树立信誉,并与同事建立专业关系。 希望本指南对您有所帮助。 祝您第一份工作好运!

翻译自: https://levelup.gitconnected.com/how-to-succeed-at-your-first-software-developer-job-ba9e32b16984

c# 从零开发第一个小软件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值