📝Criteria change in software development


Criteria change


§ Software Development

Vastly different criteria are applied in different areas of programming:

  • programming contests

    • depending on the level of a contest, may require either basic knowledge of programming (ifs and loops) + very basic mathematics, or sophisticated algorithms and data structures and problem solving (of course, it’s not binary but rather a spectrum)

    • you never code longer than one day. your code is read-never

    • writing fast is more important than reading. You use macros to short-cut typing

    • there is no-one to ask for help

  • university

    • ?

  • job

    • job applies a completely different criteria. Depending on the area, you likely don’t need data structures and algorithms.

    • you work in a team

      • most often than not, team members can help you find a solution

    • size of projects is noticeably bigger

    • readability becomes important

    • estimating

    • technical debt

    • deadlines

  • levels. even on the job, the criteria change depending on the level

    • juniors are expected to know the language

    • middle level developers are expected to know “best practices,” patterns, etc.

    • senior developers are expected to have a very broad and deep understanding of programming and selected technology. They should also be good at working in a team, teaching other developers, etc.

  • as you grow, you also change roles. they all require different skills

    • coder

    • tead lead

    • architect

    • manager