¿Necesito saber cómo codificar para convertirme en arquitecto de software?

“Cómo codificar” suena como una experiencia práctica que no es realmente necesaria. Por supuesto, un arquitecto debe comprender la estructura de codificación y lo que un desarrollador va a escribir. Un buen arquitecto puede desafiar el número de desarrolladores de diferentes cosas relacionadas con la falta de funcionalidad, como pérdida de memoria, rendimiento, seguridad de codificación, patrón, etc. Pero esto no significa que solo sepa cosas relacionadas con el software. También debe conocer el dominio empresarial en un nivel básico y también algunas metodologías prácticas para ejecutar un desarrollo de software sin problemas. He trabajado en muchos de los llamados “arquitectos”, pero casi solo somos desarrolladores senior. Entienden profundamente el lenguaje de programación, pero parece que no pueden hacer un dibujo de lo que van a codificar. Eso es cierto porque no piensan como un arquitecto. También entrevisté algunos roles arquitectónicos y muy a menudo pedí dibujar algo en el guión gráfico.

Volviendo a su pregunta, saber codificar no es imprescindible. Pero es mucho mejor ser arquitecto si entiende un fragmento de código que un desarrollador escribe para usted.

¿Necesito saber cómo codificar para convertirme en arquitecto de software?

Diría que tratar de convertirse en un arquitecto de software sin codificación es como tratar de ganar un campeonato de artes marciales mixtas con una pierna atada a la espalda: supongo que es técnicamente posible, pero que es poco probable que tenga éxito y no sea una forma inteligente de hacerlo.

Las soluciones a los problemas se vuelven más obvias cuando resuelve más problemas. Cómo va a funcionar el código se vuelve más claro a medida que escribe más código. Al no escribir ningún código, te estarías perjudicando severamente.

La forma de tomar decisiones informadas sobre las diferentes tecnologías es probarlas, ver qué hacen bien y ver qué hacen mal. Tienes que saber qué cosas son factibles y cuáles no. La única forma en que sé hacer eso es imaginar cómo llevar a cabo la tarea.

En lugar de probar un prototipo, un arquitecto sin codificación … ¿qué? ¿Pedirle a alguien más que les escriba el prototipo? ¿Decidir que la creación de prototipos nunca es necesaria? La mente se aturde.

Si. Y tienes que ser realmente bueno en eso (mejor que la mayoría de las personas que te rodean). Por lo general, las personas que se llaman “arquitectos” son básicamente ingenieros de alto nivel, y solo se puede llegar a ser un ingeniero de alto nivel haciendo mucha ingeniería (y eso significa codificación, así como diseño). Básicamente, se podría argumentar que alguien podría ser un arquitecto de software sin ser bueno en la codificación ya que no es la misma habilidad (aunque sería muy escéptico de que esto fuera cierto), pero en la práctica es como ser un general de infantería sin saber cómo disparar: las personas así son eliminadas de la consideración antes de llegar a un punto en el que ya no necesitan disparar.

De ningún modo. Cada vez que lanzo una pregunta de entrevista de codificación a un “arquitecto”, se niegan a aceptar el trabajo. Para lograr ese papel, necesita un historial de evasión del código real.

Hay una razón para esto. Los arquitectos de software están ahí para imponer procesos y tecnologías. En realidad, no necesitan conocer las entrañas del sistema o conocer la tecnología realmente bien. Su función es hacer que la alta dirección se sienta cómoda con la dirección técnica que dirige una empresa. Esto no requiere código. Esto requiere ventas.

El hecho de que haga una pregunta de este tipo debería darle una pista sobre la competencia técnica real de los arquitectos y su utilidad. Las compañías tecnológicas exitosas están abandonando el papel y están mejor sin ellas.

¿Necesito saber cómo codificar para convertirme en arquitecto de software?

Si, absolutamente. “Arquitecto de software” generalmente solo significa un ingeniero de software especialmente senior que toma decisiones de diseño. Llegan allí avanzando a través de una carrera de desarrollo de software. Ciertamente puede diseñar interfaces de usuario y procesos comerciales sin poder codificar, pero no puede diseñar código sin poder codificar.

Estoy seguro de que hay zoológicos corporativos s ** tbird por ahí donde alguien podría obtener un título de “arquitecto de software” sin ser realmente un desarrollador, pero eso sería una etiqueta sin sentido.

Sí, y debes ser un experto en eso. La mayoría de los trabajos que involucran programación pondrán a prueba sus habilidades durante el proceso de selección, muchos de ellos con pruebas de codificación automatizadas o pruebas de codificación de pizarra o ambas. Mientras tenga la habilidad requerida, usted es un candidato decente para el trabajo.

Otra cosa que verá su potencial empleador es su experiencia previa. Incluso si solo consiste en proyectos personales, estos pueden ser muy perspicaces. Así que empieza a construir cosas lo antes posible.

¿Tienes que saber cómo armar un auto para diseñar uno? ¿Tienes que saber martillar para diseñar muebles? ¿Tienes que saber cómo verter hormigón para construir un edificio?

Estrictamente hablando no, pero sin algún conocimiento de las habilidades básicas, simplemente no vas a tener una comprensión real de lo que se puede hacer y lo que no. Y eso significa que continuamente preguntarás por las cosas equivocadas. No podrás innovar y no tendrás credibilidad con las tropas.

Si y no.

La simple verdad es: sí, debe ser al menos un codificador competente.

Sin embargo, el desarrollo de software es un proceso complejo que requiere muchas habilidades secundarias, la codificación es solo una de ellas. De hecho, la “codificación” en sí misma se compone de varias habilidades secundarias.

Por lo tanto, debe tener una idea de la codificación; necesitas ser al menos competente en eso. Pero hay codificadores que son buenos en el buceo profundo y hay codificadores que son buenos en el panorama general. Pero “bueno en el panorama general” significa que debe tener competencia básica en * todos * (o al menos la mayoría) de las piezas del panorama general.

Si bien no es necesario saber cómo cortar una tabla o conectar tuberías para ser un arquitecto de edificios, no hace daño, especialmente si está tratando de usar nuevos materiales y métodos.

Podría decirse que la arquitectura de software se parece más a la ingeniería estructural, ya que es mejor que sepa lo que está sucediendo y pueda comunicarse con los constructores reales, o termine con cosas como el colapso de la pasarela Hyatt Regency

Debe poder comunicarse con personas que trabajan en código para ser un arquitecto de software, y eso casi con certeza requiere poder hacerlo usted mismo.

Personalmente, dudo en darle algo a otra persona para que lo haga, a menos que sepa cómo lo codificaría yo mismo. Recientemente, alguien me preguntó cuándo codifico más y dije: “cuando necesito hacer un punto”.

More Interesting

¿Cómo son las ubicaciones de la minería en NIT Rourkela?

¿Debo insistir después de ser rechazado en una entrevista?

¿Es cierto que los estudiantes pares en Singapur generalmente tratan de ponerlo en una situación peor para salir a la cima?

Tengo 15 años en los Estados Unidos y me pregunto qué debo hacer para convertirme en un jugador de fútbol profesional. ¿Cuáles son mis opciones?

¿Cuál es el escenario laboral después de un MBA de EE. UU.?

¿Cuánto tiempo hasta que los desarrolladores de Ruby sean tan baratos como los desarrolladores de PHP? ya está sucediendo? ¿debería aprenderlo o solo me quedan un par de años y estoy mejor con SSJS?

Tuve la oportunidad de viajar al lugar del cliente (India) para realizar la validación del proyecto, como probador de software ¿será beneficioso para mi carrera?

¿Qué consejo le darías a alguien que quiera obtener su licencia de moto?

Cómo ejercer como abogado en la etapa junior

¿Qué empresas de personal contratan contratistas para Google, Facebook, Apple y otras grandes empresas tecnológicas?

¿Cuál es la diferencia entre la EM de la universidad de EE. UU. Y la doble titulación integrada (BTech + MTech) de un IIT? Quiero tomar un curso de doctorado en Estados Unidos de Ciencias de la Computación, ¿tengo que tomar algunos cursos adicionales ya que estas universidades no reconocen la doble titulación como una maestría?

¿Cuál es el crecimiento profesional en Wipro Technologies como ingeniero de proyectos?

Mi jefe, el gerente de ingeniería, se jubilará en 4 años. ¿Puedo pedirle al Director de Ingeniería que me prometa el puesto y lo ponga por escrito?

¿Los ingenieros mecánicos que especifican en el diseño tienen que dibujar?

¿Cuál es el trabajo más respetado en India IAS, médico o ingeniero y por qué?