程序员 rs编码_程序员应该知道的非编码技巧(带模因!)

程序员 rs编码

If you are anything like us, coding is what you love the most. But you also know there are many different aspects to be aware of beside coding that are important parts of a healthy development process. When you work as a developer you usually face clients or stakeholders that expect results and part of your job is managing their expectations. This is as important as delivering high quality code.

如果您像我们一样,编码就是您最喜欢的东西。 但是您也知道,除了编码之外,还有许多其他方面需要注意,它们是健康的开发过程的重要组成部分。 当您作为开发人员工作时,通常会遇到期望取得成果的客户或利益相关者,而您的部分工作就是管理他们的期望。 这与提供高质量代码一样重要。

We’ve compiled a list of, what based on our experience, are some important guidelines, ideas, tips and tools to use while developing software projects, that are not exactly related to coding, but will help you achieve great results and keep clients and users happy.

我们根据经验总结了一些重要准则,思想,技巧和工具,这些准则在开发软件项目时可以使用,它们与编码并不完全相关,但是可以帮助您取得丰硕的成果并保持客户和用户高兴。

These tips are useful for different stages of a project and for your overall programming methodologies, so keep them in mind all the time and use them wisely!

这些技巧对项目的不同阶段以及您的整体编程方法很有用,因此请始终牢记它们并明智地使用它们!

通讯方式 (COMMUNICATIONS)

What's my bidding

  • TALKING TO CLIENTS AND SHOWING RESULTS:
  • 与客户交谈并显示结果:

Getting clients to understand the value of what you are doing is 50% of the problem. Work on interesting and comprehensive examples for demos. Show as close as you can a real life scenario, clients will be able to understand much better the value of a feature if they see it with real world example and are not worried about technical details.

让客户了解您正在做的事情的价值是问题的50%。 为演示制作有趣而全面的示例。 尽可能逼近实际场景,如果客户在实际示例中看到某项功能而不必担心技术细节,他们将能够更好地理解该功能的价值。

  • MANAGING EXPECTATIONS:
  • 管理期望:

Sometimes a project starts with a requirements document. Requirement documents are like movie trailers and each deploy is like a movie premiere. It all looks great in the trailer, but after showing the movie we all know what could happen: It may suck.

有时项目从需求文档开始。 需求文档就像电影预告片,每次部署就像电影首映一样。 在预告片中一切看起来都很不错,但是放映了电影之后,我们都知道会发生什么:可能会糟透了。

In the software world, during the screening, the audience will go out (probably after seeing less than half of the movie), ask the director for changes in the script, special effects and even leading actors and requesting a new premier a week later and for free.

在软件世界中,观众在放映过程中会出去玩(可能在看完不到一半的电影之后),向导演询问剧本,特效甚至主角的变化,并在一周后要求出任新总理。免费。

So, avoid surprises! Always remember what the audience wants to see from the trailer and make it work in the final version of the movie. That one is for you too, Christopher Nolan.

所以,避免意外! 永远记住观众想从预告片中看到什么,并使其在电影的最终版本中起作用。 克里斯托弗·诺兰(Christopher Nolan)也适合您。

日常任务 (EVERY DAY TASKS)

ezgif.com-optimize (5)

  • MEETINGS:
  • 会议:

Meetings are our best friend and worst enemy. If you have experience using agile methodologies you know that meetings can be productive and fast. Just try to get things done and make sure you leave the room with a clear idea of what everyone is going to be working on.

会议是我们最好的朋友,也是最大的敌人。 如果您有使用敏捷方法的经验,那么您就会知道会议可以是富有成效和快速的。 只是尝试把事情做好,并确保您离开会议室时就清楚每个人将要做什么。

Long meetings can be a productivity killer and deplete what’s left of your precious development mojo, so careful with that.

漫长的会议可能会导致生产率下降,并耗尽您宝贵的开发Mojo的剩余资源,因此请格外小心。

Agile helps! Even using basic standup meetings via Slack and Hipchat could make a huge difference in team productivity and awareness of objectives, using only the necessary time.

敏捷帮助! 即使仅通过必要的时间,通过SlackHipchat使用基本的站立会议, 可能对团队生产力和目标意识产生巨大的影响。

  • ORGANIZATION
  • 组织

Knowing how to prioritize tasks and what’s their main objective is critical in all projects and require us to be very organized and share our progress with stakeholders, clients and the rest of the team.

在所有项目中,了解如何确定任务的优先级及其主要目标是至关重要的,并且要求我们组织得井井有条,并与利益相关者,客户和团队的其他成员分享我们的进展。

In terms of tools for organizing priorities in projects, possibilities are endless. Fortunately we narrowed down an endless space to only 2 options , so you can pick one and go on with your day: Trello or Asana. Yeah, that’s it. 

就用于组织项目优先级的工具而言,可能性是无限的。 幸运的是,我们将无尽的空间缩小到只有2个选项,因此您可以选择一个并继续自己的一天: TrelloAsana 是的,就是这样。

Learn how to use your organization tool and make it work for you not the other way around.

了解如何使用组织工具并使它为您服务,而不是相反。

  • PRIORITIES THAT MATTER:
  • 重要事项:

Here is a tip we’ve learned from working with many clients in different projects:

这是我们从与不同项目的许多客户一起工作中学到的技巧:

The way we see it, there are 3 priority types in projects:  

我们认为,项目中有3种优先级类型:

1 – Extremely Important.

1 –非常重要。

2 – Really Important.

2 –非常重要。

3 – Out of scope.

3 –超出范围。

Seems easy enough. First tip: think about 3 after (and if) 1 and 2 are done.

似乎很容易。 第一个技巧:考虑1和2完成后(如果有)的3个问题。

But what’s the problem? Problem is: many times clients will only be aware of 1 and 3. 2; you have to figure it out for yourself and make sure the client understands why it’s necessary and why it’s called “Really Important”. Quick example: It’s extremely important for me to get payments from users. That’s what the client knows. We know that in order to achieve that It’s really important to integrate with a payment system, have user models that can be used with it, saving all transaction data, being able to get all events so in case of a payment or subscription failure we can react, and so on and on. 

但是有什么问题呢? 问题是:很多时候客户只会知道1和3。2; 您必须自己弄清楚问题,并确保客户理解为什么有必要这样做以及为什么它被称为“非常重要”。 快速示例:从用户那里获得付款对我来说非常重要。 那就是客户所知道的。 我们知道,为了实现这一点,与支付系统集成非常重要,拥有可以与之配合使用的用户模型,保存所有交易数据,能够获取所有事件,因此在支付或订阅失败的情况下,我们可以React等等。

Explain clearly why it’s important to work on some base code that will lead to the extremely important part and make sure the client knows how much effort it takes. They need to know that they are not asking just for one feature but for all the base code it requires.

清楚说明为什么对一些导致至关重要的部分的基础代码进行工作很重要,并确保客户知道需要付出多少努力。 他们需要知道,他们并不仅在要求一项功能,还要求其所需的所有基本代码。

准备和定义项目 (PREPARING AND DEFINING THE PROJECT)

ezgif.com-optimize (5)

  • ESTIMATING WORK:
  • 估算工作:

Estimating projects is the easiest way to make mistakes. As a mega experienced client told us once “Estimations are the biggest lie in software development”. Nevertheless it’s usual to have no choice but to estimate something.

估计项目是犯错误的最简单方法。 正如一位经验丰富的大型客户告诉我们的那样,“估算是软件开发中最大的谎言”。 然而,通常只能选择一些估计值。

Agile again will give us very interesting hints here. One thing we use a lot here is thinking about small sprints and creating tasks and stories for it. Estimating what’s going to happen in a few days with a clear work plan is way easier than a 4 months plan.

敏捷将再次在这里给我们非常有趣的提示。 我们在这里经常使用的一件事是考虑小型冲刺并为其创建任务和故事。 与4个月的计划相比,通过清晰的工作计划来估计几天后会发生什么。

Always try to base your estimates on previous projects and similar things you have worked on or ask someone who has.

始终尝试将您的估计基于以前的项目以及您从事过的类似工作,或者询问曾做过的事情。

  • RESEARCH:
  • 研究:

Research then do.

研究然后做。

The best way to start working on something is to hold on a minute and see what’s out there that can help you be more productive and reach better results. Put on the researcher hat once in awhile, and stand in the shoulders of the Open Source giants,  that usually leads to great solutions.

开始做某事的最好方法是坚持一分钟,看看那里有什么可以帮助您提高生产力并取得更好的结果。 偶尔戴上研究人员的帽子,站在开源巨头的肩膀上,这通常会带来很好的解决方案。

正在进行的开发 (ONGOING DEV)

ezgif.com-optimize (6)

  • LOVE <3 THE DEVELOPMENT PROCESS:
  • 爱<3开发过程:

Teamwork doesn’t mean just getting along with everybody, it also means organizing work so that the whole team moves forward in the right task to reach the big objective. This is especially hard when working remotely, but becomes easy if we establish a good development process that everyone follows. It’s important that your mind works in this framework, knowing the development process and also being aware of their vulnerabilities and improvement opportunities.

团队合作不仅意味着与所有人相处,还意味着组织工作,以便整个团队朝着正确的任务前进,以实现重大目标。 在远程工作时,这尤其困难,但如果我们建立每个人都遵循的良好开发过程,这将变得容易。 重要的是,您的思维必须在此框架中工作,了解开发过程,并意识到其漏洞和改进机会。

As software evolves, often processes do too, so it’s the team responsibility knowing what new challenges appear and preparing to tackle them in time.

随着软件的发展,流程通常也会这样做,因此,团队责任是了解出现了哪些新挑战并准备及时应对。

  • MAINTENANCE:
  • 保养:

After you have a running server with your code on it you may engage in maintenance mode. Always code thinking that you may have to review the code months or years after, so document, comment and be good with your future self. If code is not flexible enough you will find yourself doing some ugly patches and after some time it may become unmanageable.

在运行了带有代码的服务器之后,您可以进入维护模式。 始终以代码为基础,认为您可能需要在几个月或几年后复查代码,因此请记录,评论并与自己的未来保持良好联系。 如果代码不够灵活,您会发现自己做了一些丑陋的补丁,经过一段时间,它可能变得难以管理。

  • TESTS:
  • 测试:

It’s important to have tests and code reviews as part of the process. Apart from the automated ones it’s healthy to use the system yourself and try to be in the shoes of a user.

将测试和代码审查作为该过程的一部分很重要。 除了自动化的系统之外,您自己使用系统并尝试当成用户的鞋子是健康的。

A thorough test could mean the difference between “Eating your own dog food” and “Drinking your own champagne”.

彻底的测试可能意味着“吃自己的狗粮”和“喝自己的香槟”之间的区别。

等等… (AND SO ON…)

翻译自: https://www.pybloggers.com/2016/01/non-coding-tips-a-coder-should-know-wmemes/

程序员 rs编码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值