How to learn from projects

        In daily work, I often have the illusion that I have participated in many projects, but my skills have not improved much.

        The reason is most likely that the usual work content is non-core business, and it is more about "driving screws" in CRUD. Unable to access core high-quality businesses or participate in architectural design, resulting in slow technology growth.

        So how do you continuously improve your technical level in daily project development?

        It’s not about having too many projects, it’s about doing one project and understanding one project thoroughly.

        So how do you understand a project thoroughly? Here I think about two levels:

  • Focus on common infrastructure implementations;
  • Pay attention to good practices in business code;

Focus on common infrastructure implementations

        Although different projects and their business fields will be different, some infrastructures are actually similar. Therefore, after we finish tightening the screws, we might as well pay attention to the implementation of these common basics.

        Here are some common modules worth paying attention to :

  • Module division, dependency relationship, package structure division
  • Login authentication
  • Permission control
  • Task scheduling (scheduled tasks)
  • Logging system
  • Code generation (low-code)
  • gateway
  • RPC (cross-system)
  • Message center (queue)
  • cache
  • Persistence (ORM)
  • File storage
  • Monitoring alerts (observability)
  • Idempotence
  • Limiting
  • Concurrency security control (lock implementation)
  • Distributed transactions
  • Internationalization (multilingual)
  • Version control (collaborative approach)
  • multiple organizations
  • Sub-database and sub-table

Pay attention to good practices in business code

        Although different projects have different businesses, and because the business scope is so broad that it is difficult to master them all, they generally have their core businesses. Therefore, business code development is not all CRUD. Some excellent business practices are still worth learning .

        Here are some business practices worthy of attention:

  • Order business
  • Payment service
  • State machine solution
  • workflow engine
  • Flash sale business
  • Concurrency security related business
  • Mass data related business

        If we are only satisfied with our own CRUD development, even if we participate in multiple projects, it will be like driving screws in multiple places.

Therefore, you might as well learn how others build airplanes while screwing .

Guess you like

Origin blog.csdn.net/weixin_40709965/article/details/132239997