java第一个项目开发_您的第一个开发人员工作应了解的10件事

java第一个项目开发

After two years of freelancing, I made the shift back into the corporate world. It’s been a little over a year now and I’ve learned a lot of things. Things that would have saved me a lot of time and energy if I had known them beforehand.

经过两年的自由职业,我重新回到了企业界。 现在已经一年多了,我学到了很多东西。 如果我事先知道这些事情,那将为我节省很多时间和精力。

Perhaps you’ve just landed your first software developer job or are a few weeks in. You may be confident in your coding skills and logic, but there are many other relational and non-technical facets to this career that you may not be prepared for.

也许您刚刚找到了第一个软件开发人员工作或已经工作了几个星期。您可能对自己的编码技能和逻辑充满信心,但是在此职业中还有很多其他关系和非技术方面的信息,您可能并没有为此做好准备。 。

Well, let me lighten that load a bit for you.

好吧,让我为您减轻一些负担。

Here are 10 things, from my experience, that will you need to know:

根据我的经验,这是您需要知道的10件事:

1.了解如何正确寻求帮助 (1. Learn How to Properly Ask for Help)

Believe me, there is a right and wrong way to do it.

相信我,这样做有对与错。

When you start this job, you will inevitably run into roadblocks. You’re going to get stuck. And when you do, and your available juniors can’t help, you’ll have to find a mid or senior-level developer for direction.

开始这项工作时,不可避免地会遇到障碍。 你会被卡住的。 当您这样做时,而您的可用初级人员却无能为力时,您将不得不寻找中级或高级开发人员进行指导。

So how do you properly ask them for help?

那么,您如何正确地向他们寻求帮助?

Let’s start with the wrong way.

让我们从错误的方式开始。

This wrong way is to say, “Hey, Jim, I have this problem and I can’t figure out what to do. Can you help me?”

这种错误的方式是说:“嘿,吉姆,我有这个问题,我不知道该怎么办。 你能帮助我吗?”

What’s the issue here?

这里有什么问题?

Well, you haven’t done your homework. You aren’t giving them context to work with. You also aren’t demonstrating that you have made some genuine efforts to find the answer yourself.

好吧,您还没有完成作业。 您没有给他们提供合作的环境。 您也不表示您已经做出了真正的努力来自己找到答案。

Every dev is expected to attempt the work first, then ask. If you have, you should approach them in this manner instead:

每个开发人员都应先尝试工作, 然后再提出要求。 如果有的话,您应该以这种方式处理它们:

“Hey, Jim, I have this task and I seem to have hit a roadblock. Here are the things I have tried: X, Y, Z. Do you have any thoughts?”

“嘿,吉姆,我有这项任务,我似乎遇到了障碍。 这是我尝试过的事情: X,Y,Z。您有什么想法吗?”

This is the key. You need to be able to demonstrate the approaches you have taken yourself. Otherwise, they are going to have to start problem-solving from scratch and no one likes to do that. They are going to assume that you haven’t sufficiently wrestled with the task.

这是关键。 您需要能够证明自己采取的方法。 否则,他们将不得不从头开始解决问题,没有人喜欢这样做。 他们将假设您尚未充分解决该任务。

The key is to inform them of the steps you have taken to resolve it. Often, the information you provide will give them a hint that they can use to help you get unstuck.

关键是要告知他们您采取的解决措施。 通常,您提供的信息会提示他们可以用来帮助您解决问题。

Remember, they are just as busy, if not busier, than you. Do the work first.

请记住,他们比您还忙,甚至不忙。 先做吧

2.编码只是您工作的一部分 (2. Coding Is Only Part of Your Job)

We all have this vision of going into work, sitting down, and coding all day long. Just you, your code, and your coffee.

我们所有人都有着整天上班,坐下并编码的愿景。 只有您,您的代码和咖啡。

But that never happens. (In fact, I don’t think anyone could sustain it!)

但这永远不会发生。 (实际上,我认为没有人能够维持下去!)

Your expertise is needed in other areas as well.

在其他领域也需要您的专业知识。

You see, coders are brainstormers, thinkers, architects. You’ll find yourself planning new projects, brainstorming new features, whiteboarding, and unfortunately, in a lot of meetings.

您会发现,编码人员是集思广益,思想家,建筑师。 您会发现自己正在计划新项目,集思广益,开发了新功能,添加了白板,但不幸的是,在很多会议中。

So while you should ready your coding skills, be sure to develop high-level thinking and be ready to make your non-programming, intellectual contribution to the company.

所以,当你准备好您的编码技能,一定要发展高层次的思考和准备,让您的非编程,公司智力贡献。

3.不要在您的第一个星期或一个月内成为英雄 (3. Don’t Try to Be Heroic in Your First Week or Month)

You might show up on your first day feeling super confident. You may actually be an awesome developer that has a lot to offer the company. You may be tempted to show off your skills and do things to prove that you were a good hire.

您可能会在第一天就显得超级自信。 您实际上可能是一个很棒的开发人员,可以为公司提供很多服务。 您可能很想炫耀自己的技能,并做一些事情来证明自己是个好员工。

Don’t.

别。

Don’t jump in there and start volunteering for big, important things.

不要跳入那里,开始为重要的重要事情做志愿者。

When someone goes, “Hey, team, we need someone to migrate all this data over to this other environment and also such and such,” and it’s your first day, do not raise your hand. Sit back and let someone else do it.

当有人所说,“嘿,团队,我们需要有人来所有这些数据在迁移到这个其他的环境,也如此这般,”这是你的第一天, 不要扬起你的手。 坐下来,让别人去做。

Your time will come. You will be able to prove your worth soon enough. But not at this point.

你的时间到了。 您将能够尽快证明自己的价值。 但是目前还没有。

Refrain from trying to be heroic and potentially screwing things up from the outset.

不要试图成为英雄,从一开始就搞砸事情。

A guy at my work did this. He accidentally deleted an entire resource group and its contents in Azure on his third day.

我工作中的一个人做到了。 他在第三天不小心删除了整个资源组及其在Azure中的内容。

He’s had a hilarious nickname since.

从那以后,他有了一个有趣的绰号。

Humble yourself.

谦虚

4.确保您对使用Git感到满意 (4. Be Sure You’re Comfortable With Using Git)

Almost all software companies use version control, and more times than not, git.

几乎所有软件公司都使用版本控制,而git则更多。

I guarantee that it will be assumed from the outset that you know it.

我保证从一开始就假定您知道它。

Whatever languages you’ve been hired to program in, they may give you a little flexibility, a little time to warm up. Sometimes they will even train you.

无论您雇用哪种语言来编程,它们都可能给您带来一点灵活性,也让您有一点时间进行热身。 有时他们甚至会训练您。

Well, with git this won’t happen. It will most likely be assumed that you know it. (And if you don’t, then you can wow them with your extra abilities.)

好吧,用git不会发生。 很可能会假设您知道。 (如果不这样做,那么您可以通过额外的能力让他们赞叹。)

Also, be sure you know how to use it in a team setting as well as best practices, like pulling the latest changes before pushing.

另外,请确保您知道如何在团队环境中使用它以及最佳实践,例如在推送之前先获取最新更改。

5.总是给自己更多的时间去完成一项比您认为要去做的任务 (5. Always Give Yourself More Time to Finish a Task Than You Think It’s Going to Take)

With freelancing, you often have smaller budgets. These smaller budgets make you naturally feel like you need to work quicker. You feel the time crunch. (I mean, who wants to work for free?)

有了自由职业者,您的预算通常会更少。 这些较小的预算使您自然感觉自己需要更快地工作。 您感到时间紧迫。 (我是说,谁想免费工作?)

Well in the corporate environment, budgets are usually much bigger. You have more time to get things done.

在公司环境中,预算通常会更大。 您有更多时间完成工作。

Heed this advice from the outset: Don’t play the hero when giving time estimates on your tasks.

从一开始就要听取以下建议:在估算任务时间时不要扮演英雄。

Things never go as smoothly as you think they will. Things can often break at the last minute, an unexpected meeting may be called, or a system goes down.

事情永远不会像您认为的那样顺利进行。 事情往往会在最后一刻中断,可能会召开意外会议,或者系统崩溃。

Make a habit of giving yourself more estimated time than you really think it will take. Give yourself some padding. If you feel like you might be done by the end of the day, tell them you’ll have it ready by the end of the week. Then when it’s ready earlier, we all celebrate!

养成给自己更多估计时间的习惯,这超出了您的实际预期。 给自己一些填充物。 如果您觉得自己可能会在一天结束时完成工作,请告诉他们您将在一周结束前准备好。 然后,当它准备得更早时,我们大家都会庆祝!

6.预先熟悉敏捷/混乱方法 (6. Become Familiar With the Agile/Scrum Methodology Beforehand)

Scrum is an Agile process for managing complex tasks.

Scrum是用于管理复杂任务的敏捷过程。

You have this team of people. You have tasks that need to be done. And Scrum is a very popular way of managing these.

你有这群人。 您有需要完成的任务。 Scrum是一种非常流行的管理方式。

You’ve probably heard of it already or at least its terminology: Daily standups, sprint cycles, grooming sessions, retrospectives, PBIs, etc.

您可能已经听说过它,或者至少听说过它的术语:每日站立,冲刺周期,梳理会话,回顾,PBI等。

In short, you have a sprint cycle. Let’s say it’s two weeks. It begins with sprint planning where tasks are assigned out to developers and the goal is to complete these tasks by the end of the cycle.

简而言之,您有一个冲刺周期。 假设是两个星期。 它从sprint计划开始,将任务分配给开发人员,目标是在周期结束之前完成这些任务。

Each day you have a standup where everyone individually reports their progress, and there’s a time to call out blockers, problems, etc.

每天您都有一个站起来的机会,每个人都各自报告他们的进度,并且有时间指出阻碍因素,问题等。

You don’t need to become an expert in this — just get a high-level understanding and be prepared to join in from day one (probably with an introduction).

您无需成为专家,只需具备高水平的了解并准备从第一天开始就可以参加(可能需要进行介绍)。

7.如果其他人知道如何做比你更好的事情,那并不意味着你应该去问他们如何做 (7. If Someone Else Knows How to Do Something Better Than You, It Doesn’t Mean You Should Go and Ask Them How to Do It)

This is similar to #2 above.

这类似于上面的#2。

If you get assigned a task and you know that some other dev is better at it or can do the task in half the time, it does not necessarily mean that you should ask them for help or ask them to do it instead.

如果您被分配了任务,并且知道其他一些开发人员在此方面做得更好,或者可以在一半时间内完成任务,那么这并不一定意味着您应该向他们寻求帮助或要求他们去做。

So imagine that you get assigned a task. Another dev in the company actually built that feature but now you are asked to modify it in some way.

因此,假设您已分配任务。 公司中的另一位开发人员实际上构建了该功能,但是现在您需要以某种方式对其进行修改。

You may think it best to walk over there and ask them to explain it to you or even ask them to do it themselves. I mean, they could get it done faster since they understand it better, right?

您可能认为最好走到那儿,让他们向您解释,甚至让他们自己做。 我的意思是,因为他们更好地理解了它,所以他们可以更快地完成它,对吧?

Wrong. The task has been assigned to you and it’s actually a great opportunity for you to get up to speed on new parts of the app that you are unfamiliar with.

错误。 该任务已分配给您,实际上,这对您来说是一个很好的机会,可以加快您不熟悉的应用程序新部分的速度。

Take on the effort. Charge ahead. Add a new skill to your repertoire.

努力吧。 提前充电。 为您的曲目添加新技能。

8.始终预先询问有关新功能或任务的问题 (8. Always Ask Questions Upfront About New Features or Tasks)

I struggle with this one.

我为此挣扎。

Let’s say I’m in a meeting and someone goes, “Hey, Travis, a client needs this change made to the navigation bar of their site. It needs to look like such and such. Can you do it?”

假设我正在开会,有人说:“嘿,特拉维斯,客户需要对他们站点的导航栏进行此更改。 它需要看起来像这样。 你能做到吗?”

For some reason, if it makes sense to me I’ll be off to the races. I assume I don’t need further details, and I start coding away.

出于某种原因,如果对我来说有意义,我将参加比赛。 我假设我不需要更多细节,因此我开始编写代码。

This is a huge problem.

这是一个巨大的问题。

A good developer asks questions like:

一个好的开发人员会提出以下问题:

“OK, why do they want that feature?”“How do they think that feature will benefit their business or site?”

“好吧,为什么他们要使用该功能?”“他们如何认为该功能将使他们的业务或网站受益?”

Or if it's not a good idea, they may say:

或者,如果这不是一个好主意,他们可能会说:

“You know, I think that would muddy up the CTA button by doing that. Perhaps it may be better placed here instead.”

“您知道,我认为这样做会使CTA按钮更加混乱。 也许最好将它放在这里。”

Good developers ask questions to draw out more details and direction and good developers also push back when they see bad practices.

好的开发人员会提出问题以画出更多细节和方向,而好的开发人员也会在看到不良做法时退后一步。

This goes back to #1 above where coding is only a part of the job.

这可以回到上面的#1,其中编码只是工作的一部分。

It’s always good to get a crystal clear view of what exactly needs to be done before starting on it.

在开始之前清晰地了解确切需要做的事情总是很好的。

9.不要在下班时间通过电子邮件发送或发送松弛消息 (9. Don’t Email or Send Slack Messages On Off-Hours)

People have Slack on their phones and notifications are most likely to be turned on.

人们的手机上存在闲置状态,最有可能打开通知。

If you have a neat idea and it’s 9:00 p.m., don’t send it out and interrupt your coworker when they’re reading their kids to sleep. Wait until the morning.

如果您有个好主意,并且在晚上9:00,请不要将其发送出去,不要在同事正在阅读孩子睡觉时打扰您的同事。 等到早晨。

People have lives outside of work.

人们在工作之外生活。

I know this isn’t really a popular rule and many people don’t care, but I would encourage you to keep the Teams or Slack notifications flowing during business hours only. People will appreciate it.

我知道这并不是真正流行的规则,很多人不在乎,但我鼓励您仅在工作时间内保持“团队”或“松弛”通知的状态。 人们会感激的。

10.负责 (10. Be Accountable)

Learn to be fully accountable for the tasks you are assigned to or the teams you’re asked to lead.

学会对分配给您的任务或负责领导的团队完全负责。

If something goes wrong, take accountability for it. Don’t blame the work of others. Don’t blame factors that you were able to control.

如果出现问题,请对此负责。 不要责怪别人的工作。 不要责怪您能够控制的因素。

This builds up integrity. It invites co-workers to view you as reliable and accountable. People can trust you and the fact that you can get things done.

这样可以建立完整性。 它邀请同事将您视为可靠和负责任的人。 人们可以信任您,您可以完成任务。

Don’t be that developer that blames other people all the time. It’s never a good outcome.

不要成为一直责怪他人的开发人员。 这永远不是一个好结果。

结论 (Conclusion)

There you have it, 10 important things that may help you out in that new software role.

您已经掌握了10项重要的功能,它们可能会帮助您发挥新软件的作用。

What other lessons have you learned in your dev job that you would also share with those just getting into the industry?

您在开发工作中还学到了哪些其他经验教训,并且还可以与刚进入该行业的那些经验教训分享?

翻译自: https://medium.com/better-programming/10-things-you-should-know-for-your-first-developer-job-5b89f37e2b58

java第一个项目开发

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值