Things I wish I had known when I started programming, Part 4 (2019)

栏目: IT技术 · 发布时间: 3年前

内容简介:Yepp, more things I wish I'd known when I started, 4th edition.You can find the first article in the serieshere.And the previous articlehere

Yepp, more things I wish I'd known when I started, 4th edition.

You can find the first article in the serieshere.

And the previous articlehere

Love maintenance work or at least learn to appreciate it

Very few things are more despised by programmers than doing maintenance work and working with legacy apps.

This can be counterproductive, as most of the work available involves doing exactly that. Companies have running systems, some built a long time ago, and someone needs to maintain that code. This is especially true if you are starting at an entry position, where you'll most likely work on some old application the company has been running for more than a decade.

We love working on new projects for several reasons:

  • We can choose which technology to use.
  • We can flex our creatives muscles and create something cool.
  • There's a lot of freedom when designing the solution.
  • You get to work on The Next Big Thing and all the credit it carries.

The huge difference between how we perceive maintenance work and new project development is a sad thing. On one hand, most of the really important job with high impact happens on those legacy systems, whereas The Next Big Thing often goes bust. On the other hand, that cool new app will be legacy as soon as it hits production and you start receiving new requirements.

We should start seeing maintenance work under a more positive light. After all, most of the value provided to end users happens on those systems. We could exercise our creative muscles by refactoring and improving the design, or increasing the test coverage, all proper challenges for developers of any level.

Learn to love maintenance work, it's most likely what you'll spend doing most of the time as a programmer.

Make accomplishments visible

You are an awesome developer, always finishing tasks on time, writing ultra-complete test suites and providing to customers exactly what they want. You do a great job every day and work extra hard to ship those last-minute features. Then, that time of the year when promotions are given arrives and you... you are still in the same position?

I know it can be extremely frustrating, and you might end up resenting management. After all, aren't you always doing an outstanding job? how dare they pass this chance to show me how much they appreciate my hard work!

In reality, managers are just too busy to keep track of your accomplishments. It's your responsibility to make your contribution visible to management.

It doesn't even require too much effort. Keep a list of the most important things you accomplish every week, and send small reports at the end of the week listing what you accomplished. You don't need to generate a fancy document: an email with bullet points will do.

It has two important advantages:

  • Management doesn't need to pester you to get an idea of what you are doing at work.
  • You keep a registry of your accomplishments, which is useful for negotiating raises and other things.

Take a proactive stance on the way management evaluates you, one of the biggest mistakes you can make is to outsource that responsibility to people who are already too busy with other things. Management will appreciate it, and so will you.

Fight the imposter syndrome

Congratulations!

You got your first software development job. The idea of being interviewed made you feel very anxious, but you studied hard and aced the whole thing. Finally, you arrive at the office on your first day and...

And it's terrifying. Suddenly, you feel like a Jon Snow who knows nothing, and self-doubt starts to creep in. What if they find out I am not that smart? do I really deserve this job? am I a fraud? how long will it take them before they find out I'm a fraud and the horrible mistake they made by hiring me?

The following weeks don't help that much. Perhaps it's a technology you are not that familiar with, or maybe they ask you to work on some dark corner of their massive legacy application. Solving the tasks take you twice (or more) as long as the estimate, and you grow more and more anxious.

Been there, more than once.

It's all normal, the good old imposter syndrome. It's this feeling that you are fake, and that you don't deserve to be there. It will go away after a couple of weeks and you'll start to feel more confident. Ramp-up takes time, and in truth, no one really expects you to be 100% productive from the start. Your employer knows it will take some months before you know what you are doing, so don't punish yourself that hard.

Keep working hard, in no time you will become an important part of the team and your contributions will start to have an impact. We've all felt it, and I guarantee you it will go away. So keep up the good work!

Oh but I also knew all these things.

It's ok, maybe in the next article you'll find something you didn't know yet.

Thank you for reading, I hope you learned one or two new things or at least got something new to think about.


以上所述就是小编给大家介绍的《Things I wish I had known when I started programming, Part 4 (2019)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C程序设计语言

C程序设计语言

(美)Brian W. Kernighan、(美)Dennis M. Ritchie / 徐宝文、李志译、尤晋元审校 / 机械工业出版社 / 2004-1 / 30.00元

在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用广泛。本书原著即为C语言的设计者之一Dennis M.Ritchie和著名计算机科学家Brian W.Kernighan合著的一本介绍C语言的权威经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。原著第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。人们熟知的“hello,World"程序就是由本书......一起来看看 《C程序设计语言》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

SHA 加密
SHA 加密

SHA 加密工具