Friday, May 26, 2023

Being an effective developer in a company


Lessons learned when developing software in a company:

Add value

  • Add value. Look to solve problems, not just build stuff. 
  • Be Pragmatic.
  • Be a professional; ego trips and flame wars have no lasting value, professionalism does
  • Learn, there is always a better way.
  • while(developing) { Have a personal process and refine it }
  • keep a journal/log/todo at all times. keep a running queue or stack (depending on how you organize)

Be a good teammate

  • don't try to keep everything in your head, put designs and thoughts in paper to formalize.
  • Extremely high rate of return on information sharing. Collaborate.
  • Utilize tools so you don't have to make new ones that do the same thing.

Specs

  • Implement to spec. If so spec exists, document. The document is now the spec.
  • Writing code is part of the solution, after the problem is understood.
  • Write to the API before creating it, make it something you would want to use.

Quality

  • Time to do it right. If the time doesn't exist now, when will it?
  • Are you making good software, or just trying to make some software work? Making a quick patch just pushes the time to do it correctly into the future. Fixing will make the problem go away forever.
  • There is always work to do in areas of performance and code clarity/quality. Schedule this as part of the time spent.

Complexity

  • Aggressively attack complexity or it will catch up with you.
  • Don't be too clever for your own good if clever adds complexity. Be clever in simplifying. Complexity will cause brittle code and crusty developers, avoid needless mental work in code.

No comments:

Post a Comment