From a programmer to architect skills map

Recently, veteran brother in the series share the idea grew from a programmer to architect, engaged in combing the architecture work needs to be familiar with or proficient in hard and soft skills, is now released out small partners invite you to explore together, I will continue to improve the follow-up added:

Map skills

Programming language

  • Strong typing: C ++, Java

  • Weak Type: Javascript, Python

  • 标记 type: XML, HTML, JSON, YAML

Development Framework

  • Presentation Layer: React, Vue, Flutter, Weex

  • FIELD layer: Spring, Spring Boot

  • Data layer: Hibernate, MyBatis, JPA

  • Base layer: Log4j, LogBack, Quartz, C3P0

programming

  • OOD OOD

  • Design Patterns Design Patterns

  • Domain-Driven Design DDD

Database class

  • Relational: MySQL, PostgreSQL, Oracle

  • NoSQL:Redis、MongoDB、HBase、Neo4j

  • SQL, stored procedures

  • Query optimization (indexing, storage, partitions)

operating system

  • Linux、Windows、Android、iOS

  • Process, storage, file, equipment, operations, etc.

Network protocol

  • Network Layer: IP

  • Transport Layer: TCP, UDP

  • Application Layer: HTTP, FTP, SMTP, NTP

Middleware category

  • Message type: ActiveMQ, Kafka, RocketMQ

  • Containers: Apache, Tomcat, Nginx

  • Indexing: Lucene, Solr, ElasticSearch

Security Mechanism

  • Authentication OAuth2.0

  • RBAC permissions authentication

  • Risk vulnerabilities: XSS, CSRF, SQL injection, script injection

  • Precautions: verification code, digital signatures, digital certificates

Infrastructure

  • Resource selection, capacity estimate: VPC, network domains, IP network segment, domain name

  • Firewall Policy

  • Load balancing strategy: F5, LVS, HAProxy, Nginx

Data architecture

  • Data Modeling

  • Storage solutions

  • Database Selection

  • HA solutions (separate read and write)

  • Backup program (hot, cold, from the master)

  • Disaster recovery plan (city, remote)

  • Synchronization scheme (real-time)

Application Architecture

  • Architecture Selection: C / S, B / S, SOA, micro-services (Dubbo Spring Cloud Service MeshServerless

  • Architectural view: logical, process, development, deployment, etc.

  • Interface design: RESTful, JMS, IPC, RPC

Distributed Systems

  • Scalability Design: vertical extension, horizontal expansion

  • Availability design: current limiting, fuse, downgrade

  • Consistency design: ACID, BASE, CAP and other theories, distributed transaction (lock), distributed consensus algorithm

    • Partition fault tolerance

    • Reliability design: service isolation, asynchronous calls, resource redundancy

Comprehensive Skills

  • Software Engineering

  • Project management

  • Self-marketing: writing, PPT, lectures, training, consulting

Architect, is the main direction of our programmers Daguai upgrade, it is not like a newspaper training courses can get individual skill, competence architecture work to slow the accumulation of a lot of skills, both hard skills as well as soft skills. Bite to eat fat. From the programmer to architect can not be done overnight, it is a gradual, steady improvement still exists between the order of advanced process, each stage has to master the skills of each stage, a number of skills. If you want to upgrade to the architect, you can reserve these skills consciously in their daily work.

Adhere to the original is not easy, if you feel valuable, trouble moving hands and pointing a " Like " or  forward  to more junior partner, veteran brother will be more motivated to adhere to. In addition, I will continue to share career planning, job interview, skills upgrading, to build influence and other experience, focus on  "  IT veteran brother  " program enabling life!

itlaobingge

Related posts index:


Guess you like

Origin blog.51cto.com/14622239/2476996