
Ask HN: Software Engineer to Technical Architect - parvatzar
How can a Software Engineer (Web developer) move into the role of a Technical Architect. Would like to hear from those of you who took this path.
======
techjuice
This would require learning more about the entire system along with gaining
business experience. This means you will need to have a pretty good grasp on
the security and various operating systems and their benefits (Unix, Linux,
Mac, Windows, z/OS, etc.) Along with various programming languages to
understand the pros and cons of each for solving program requirements (Python,
Ruby, C, C++, Rust, Objective-C, Swift, JavaScript, Java, etc.) along with the
various forms of databases (ORACLE, MSSQL, MySQL, MariaDB PostgreSQL,
Cassandra, MongoDB, etc. and their associated query languages).

You may also need to know about the various virtualization technology and
which one would be better depending on if you need the system to be private,
internet facing or both (VMWare, Citrix, KVM, Hyper-V, etc.). You will also
need to understand TCP/IP, UDP and the associated networking terminology and
equipment available, as you normally also need to know about switching and
routing, storage arrays, storage systems, hard drive and SSD types and the
pros and cons of them.

As ultimately you would be the person to design an entire system with
security, scalability, confidentiality, availability and integrity in mind and
be able to break up the work into tasking and plans for the organization.
Normally a title like this is reserved for those creating large systems due to
the vast amount of experience that is required. An example would be a
technical architect to build a nation wide fully automated and redundant web
hosting platform for hosting the top government websites with the requirement
of the sites never being down and never loosing data.

This means you will need to learn how to build highly secure and robust
automated build systems for code and infrastructure. This way if you loose a
system you can auto schedule the purchase and installation of new hardware or
spin up a new virtual machine without having to do this manually.

Best job to get you started is a job as a network or systems administrator. I
would recommend starting with a small business that hosts a few websites, then
move up to larger businesses. If you want the ultimate challenge I would
recommend working for a government agency that hosts thousands of high profile
sites that cannot be unavailable and require 100% uptime.

You could do all of these things internally but you will not get the real life
business environment people to people experience. As it is hard to make
estimates on tasks you have never done before or worked with experienced
people that do those tasks on a regular basis. You do not have to master all
of these things but you should have done many of them with your own hands in a
full-time job at some point.

Base requirement is being in a senior level position in the IT and security
field, since it does require a nice bit of years of experience of hands on
work and project management experience to be good at the job.

