What skills do you need to master to become a good programmer?

After more than 10 years of product development, our company is mainly engaged in the research and development of Yueku enterprise network disk. After thinking about it, what are the technologies that need to be mastered to become an excellent programmer? Welcome to add, don’t be like a headless fly. Turn, it is very important to master some key technologies, such as these nine points shared:
1. Be proficient in using Java language for object-oriented programming, have good programming habits, and be familiar with commonly used Java APIs, including collection frameworks and multi-threading. (Concurrent programming), I/O (NIO), Socket, JDBC, XML, reflection, etc.

2. Be familiar with JavaWeb development based on JSP and Servlet, have an in-depth understanding of the working principles and life cycles of Servlet and JSP, be proficient in using JSTL and EL to write scriptless dynamic pages, and have the ability to use Web components such as listeners and filters as well as MVC architecture Experience in JavaWeb project development using patterns.

3. Have an in-depth understanding of Spring's IoC container and AOP principles, proficiently use the Spring framework to manage various web components and their dependencies, proficiently use Spring to manage transactions, logs, security, etc., and use SpringMVC as the presentation layer Technology and experience in Web project development using the persistence support provided by Spring, and familiar with Spring's integration of other frameworks.

4. Proficient in using ORM frameworks such as Hibernate and MyBatis, familiar with the core APIs of Hibernate and MyBatis, and having an in-depth understanding of Hibernate's association mapping, inheritance mapping, component mapping, caching mechanism, transaction management and performance tuning.

5. Proficient in using HTML, CSS and JavaScript for Web front-end development, familiar with jQuery and Bootstrap, having an in-depth understanding of the application of Ajax technology in Web projects, and using the front-end MVC framework (AngularJS) and JavaScript template engine (HandleBars) for projects Development experience.

6. Be familiar with commonly used relational database products (MySQL, Oracle), and be proficient in using SQL and PL/SQL for database programming.

7. Familiar with object-oriented design principles, have in-depth understanding of GoF design patterns and enterprise application architecture patterns and relevant experience in actual development, and be proficient in using UML for object-oriented analysis and design, including TDD (test-driven development) and DDD (Domain Driven Design) experience.

8. Familiar with the use of web servers and application servers such as Apache, NginX, Tomcat, WildFly, Weblogic, etc., and familiar with the configuration of multiple server integration, clustering and load balancing.

9. Proficient in using product prototyping tool Axure, proficient in using design modeling tools PowerDesigner and EnterpriseArchitect, proficient in using Java development environment Eclipse and IntelliJ, proficient in using front-end development environment WebStorm, proficient in using software version control tools SVN and Git, Proficient in using project build and management tools Maven and Gradle.

Guess you like

Origin blog.csdn.net/Yuku226/article/details/132740045