软件服务顾问与实施顾问_作为软件顾问的前两年的经验

软件服务顾问与实施顾问

At the time of publishing this article, I complete 2 years of working as a developer in a software consultancy company. I thought this would be a nice opportunity for me to reflect back on my learnings/realisations over my last two years here at ThoughtWorks. Maybe you would find this relatable or maybe not, either way do give it a read.

在发布本文时,我已经在软件咨询公司完成了2年的开发工作。 我认为这对我来说是一个很好的机会,可以回顾我过去两年在ThoughtWorks的学习/实现 也许您会发现这与否相关,无论哪种方式都请阅读一下。

I joined ThoughtWorks as a graduate developer after finishing my Bachelor’s in Electronics and Communication. I didn’t go through any sort of internship programme during my college, and as a result I was clueless, to say the least, about enterprise software. Nevertheless, I have been fortunate enough to learn many things here at this wonderful company.

我在电子和通信专业获得学士学位后,以研究生开发人员的身份加入ThoughtWorks。 我上大学时没有参加过任何实习计划,因此,至少可以说,我对企业软件一无所知。 不过,我很幸运能在这家很棒的公司学到很多东西。

1.解决一般问题 (1. Tackling problems in general)

It is quite obvious to be overwhelmed when a difficult problem is presented to us. Working with some smart minds, I have realised that big problems are not solved by striking a dagger at the heart of the problem. Instead, the big problem is often broken down into smaller problems and solved incrementally to achieve the end goal. Properly dissecting a big problem is half the work done.

当向我们提出一个困难的问题时,不知所措是很明显的。 通过一些聪明的头脑,我已经意识到,大问题不能通过在问题的核心上打上匕首来解决。 相反,大问题通常分解为较小的问题,并逐步解决以实现最终目标。 正确剖析一个大问题是完成工作的一半。

2.深入研究一切 (2. Deep dive into everything)

Most of the times developers work under a deadline of finishing their task. As a result we only scratch the surface of a particular language, tool or framework to get things done on time. In this process, we end up having shallow knowledge of the technology we use.

在大多数情况下,开发人员都在完成任务的最后期限内工作。 结果,我们只刮擦特定语言,工具或框架的表面来按时完成工作。 在此过程中,我们最终对所使用的技术有了较浅的了解。

I found this very harmful in the long run and I’ve realised deep diving into tools and technologies we regularly use is the best way to move forward for a developer. Of course it requires a lot of effort. Neither Rome nor a good software engineer was built in a day.

从长远来看,我发现这非常有害,并且我已经意识到深入研究我们经常使用的工具和技术是开发人员前进的最佳方法。 当然,这需要很多努力。 一天之内都不造罗马,也不造就一个好的软件工程师。

3.质量胜于数量 (3. Quality over quantity)

Churning out lines of code isn’t a metric for productivity. I’d prefer writing five lines of tested code in a day that are readable, maintainable and extensible over writing unreadable and unmaintainable functions to get my work done quickly. Although getting work done fast is important, it’s equally important to not compromise on quality.

编写代码行并不是衡量生产力的指标。 我宁愿一天编写五行经过测试的,可读性,可维护性和可扩展性的代码,而不是编写不可读且不可维护的函数,以便快速完成工作。 尽管快速完成工作很重要,但同样重要的是不要牺牲质量。

I have been in situations where I have given priority to refactoring over delivering new features. In the long run, this genuinely helps.

我一直在优先考虑重构而不是提供新功能。 从长远来看,这确实有帮助。

4.测试比我们想象的还要多 (4. There’s more to tests than we think)

As a developer, tests are going to be your best friend. Be it unit, integration, contract or end-to-end, tests serve much more purpose than just determining the quality of software you or your team deliver. Well written tests are a safety net for refactoring code. As it is often said, tests are the best documentation of your code there is. Personally, I couldn’t agree more with this. I always look at tests when I am exploring functions or apis.

作为开发人员,测试将是您最好的朋友。 无论是单元测试,集成测试,合同测试还是端对端测试,测试的目的不仅仅是确定您或团队交付的软件的质量。 编写良好的测试是重构代码的安全网。 正如通常所说的那样,测试是最好的代码文档。 就个人而言,我完全同意。 探索功能或api时,我总是看着测试。

As a developer, writing tests should be equally important as delivering a feature. Even better, start with Test Driven Development(TDD) if you’re not doing it already. This helps in giving a direction to the design of your code as well. If you’re oblivious to tests, you’re probably doing it wrong.

作为开发人员,编写测试与提供功能同等重要。 更好的是,如果您还没有开始,请从测试驱动开发(TDD)开始。 这也有助于指导您的代码设计。 如果您没有进行测试,则可能是做错了。

5.沟通是关键 (5. Communication is key)

As a software consultant, it is of paramount importance to be good at communicating with other technical and non technical people. More often than not, I have found myself working with non technical people and it becomes extremely important to make sure that non technical jargon is used while demonstrating the work I do. Bridging the gap between technicality and business is what makes a good software consultant.

作为软件顾问,擅长与其他技术人员和非技术人员进行沟通至关重要。 我经常发现自己与非技术人员一起工作,并且在演示我所做的工作时确保使用非技术术语变得非常重要。 弥合技术与业务之间的鸿沟,才是一名优秀的软件顾问。

6.对抗冒名顶替综合症 (6. Battling impostor syndrome)

This one’s very important to me personally since I have always had a problem with believing in myself. I would always think that my peers and colleagues are better than me and I am not worth my salt. Working with smart folks can solidify this misconception (or atleast it did in my case).

这对我个人而言非常重要,因为我一直对自己的信念有疑问。 我总是认为我的同龄人和同事比我更好,我不值得一干。 与聪明的人一起工作可以巩固这种误解(或者在我看来至少是错的)。

It’s important to understand that none of this is actually true and these thoughts are a manifestation of our fears and insecurities. Every person has something unique to bring to a team and although it’s important to have a good career, one shouldn’t turn it into a rat race. The destination remains the same, the journeys different.

重要的是要明白,这一切都不是真的,这些想法是我们恐惧和不安全感的体现。 每个人都有给团队带来的独特之处,尽管拥有良好的职业生涯很重要,但不应将其变成一场激烈的竞争。 目的地保持不变,旅程不同。

7.工作与生活的平衡很重要 (7. Work life balance is important)

You might think that work life balance is not really important for someone who is starting out in the industry but I don’t think that’s true. A healthy mind requires adequate involvement in work and leisure. Sure, at times, long hours of work are necessary but making it a habit can be very hazardous.

您可能会认为工作生活的平衡对于刚开始从事该行业的人来说并不是很重要,但我认为这不是真的。 健康的思想要求充分参与工作和休闲。 当然,有时需要长时间工作,但养成习惯可能非常危险。

Personally, I have felt more focused at work when I have drawn a fine line between my work and leisure hours.

就个人而言,当我在工作时间和休闲时间之间划清界限时,我会更加专注于工作。

I’ve written this article because I’ve been fortunate enough to work with some smart people and learn some amazing things along the way. This is just the start of a long and interesting journey as a software consultant and I can say that I am eagerly looking forward to what this industry has to offer to me or rather what I have to offer to the industry. Thanks.

我写这篇文章是因为我很幸运地与一些聪明的人一起工作,并在此过程中学习了一些有趣的东西。 这只是作为软件顾问漫长而有趣的旅程的开始,我可以说,我热切期待这个行业向我提供的服务,或者更确切地说,是我向该行业提供的服务。 谢谢。

翻译自: https://medium.com/swlh/learnings-from-my-first-2-years-as-a-software-consultant-8978eece7f2e

软件服务顾问与实施顾问

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值