Being A Professional Programmer

Aaron Wang

WhAt is a Professional?

  • Does his/her job well, with right methods
  • Deserves better paycheck
  • Earns good reputation, trusted by others
  • Not all workers are professionals

amateur Programmer

  • Has mental or technical issues to do their job well
  • Writes messy code
    • Doesn't care, as long as it works, in happy path
    • Doesn't know how to do better
  • Has to be pushed to move forward
  • Unpleasant to work with
    • Life is harder
    • Make their bosses worries a lot

Professional Programmer

  • Writes solid code
    • Cares, does much more than make it just work
    • Always tries to do better
  • Self driven
  • Pleasant to work with
    • Life is easier
    • Trustworthy, no worries

What is Solid code?

  • Correct and robust
  • Clean == Maintainable
    • Easy to understand, pleasing to read
    • Easy to modify and extend
  • High performance
  • Scalable
  • Secure
  • ...

Clean code FEATUREs

  • Elegant
  • Meaningful and consistent naming
  • Simple, do one thing well
  • Paying attention to details
  • Straightforward control flow
  • Crisp abstration
  • No copy-paste

Some examples

Why code has to be clean?

  • Code is for human to read firstly, then it's for machine to execute
  • Time spent on reading code is much more than writing them
  • Bad code tends to get worse, broken window theory
  • Bad code hurts productivity tremendously, may even lead to the death of a project 
  • In real project, we have to plan for the long term

How to write clean code?

  • We'll go through the book together
  • Raise your own 'code-sense', discipline
  • Require a lot thinking, discussion and practices
  • Defend your code quality from requirement pressure

What does it take to be A professional?

  • Attitude, you have to choose to be a professional
  • Awareness, know which is the right direction
    • What kind of code is bad?
    • What's the clean way to do this?
  • Practices

MOre

https://github.com/inetfuture/technote/blob/master/README.md

Thanks!

Being a Professional Programmer

By Aaron Wang

Being a Professional Programmer

  • 928