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

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

内容简介: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)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

程序员代码面试指南:IT名企算法与数据结构题目最优解

程序员代码面试指南:IT名企算法与数据结构题目最优解

左程云 / 电子工业出版社 / 2015-9 / 79.00元

这是一本程序员面试宝典!书中对IT名企代码面试各类题目的最优解进行了总结,并提供了相关代码实现。针对当前程序员面试缺乏权威题目汇总这一痛点,本书选取将近200道真实出现过的经典代码面试题,帮助广大程序员的面试准备做到万无一失。“刷”完本书后,你就是“题王”!__eol__本书采用题目+解答的方式组织内容,并把面试题类型相近或者解法相近的题目尽量放在一起,读者在学习本书时很容易看出面试题解法之间的联......一起来看看 《程序员代码面试指南:IT名企算法与数据结构题目最优解》 这本书的介绍吧!

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

RGB HEX 互转工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具