Cómo ser un buen ingeniero de plataformas

Unirse a organizaciones profesionales de ingeniería relacionadas con los intereses de un ingeniero y debatir / aprender de ingenieros más experimentados en cada oportunidad es un primer paso importante.

Cualquier conocimiento es valioso, incluso el conocimiento que parece no estar relacionado con los campos, hace que un individuo sea más valioso como ingeniero y / o profesional.

Tal conocimiento general ayuda a comprender cómo está cambiando el mundo y a ver los posibles cambios en su campo de elección antes de que sucedan.

Mantenerse constantemente actualizado sobre la tecnología es una preocupación primordial para los ingenieros, pero las habilidades interpersonales deben seguir poco después.

Los ingenieros que son extremadamente exitosos y alcanzan niveles más altos en las empresas, a menudo confían en su capacidad para operar en una comunidad comercial más grande, así como en su conocimiento individual de ingeniería.

Los ingenieros de alto rango y altamente visibles deben ser un jugador de equipo efectivo, que pueda evaluar su rol en una operación y ajustar rápidamente su estrategia para mantener el ritmo de los negocios.

Si amas lo que haces, construye constantemente tus conocimientos de ingeniería, practica tus habilidades interpersonales y ten un poco de suerte, uno puede convertirte en un ingeniero muy exitoso.

Infraestructura como código
Consulte el artículo de Wikipedia ” Tabla de control ” para obtener la idea básica

En lugar de pensar en términos de habilidades lingüísticas particulares o incluso plataformas específicas, piense en términos de cómo definir “el problema” en un formato condensado y exponerlo en una tabla que pueda ser interpretada rápidamente (visualmente) y también ejecutada rápidamente por un Intérprete eficiente. Te sorprenderá cómo esta técnica se puede reutilizar sin cesar. Ponga su esfuerzo de ajuste de rendimiento en el intérprete. El intérprete se puede reescribir para nuevas plataformas, la lógica del problema permanece en gran parte o totalmente intacta (dependiendo del formato de datos).

Algunas citas del artículo: –

“” La ramificación de múltiples vías es una técnica de programación importante que con demasiada frecuencia se reemplaza por una secuencia ineficiente de pruebas if. Peter Naur me escribió recientemente que considera que el uso de tablas para controlar el flujo del programa es una idea básica de la informática que ha sido casi olvidado; pero espera que esté listo para redescubrir cualquier día. Es la clave de la eficiencia en todos los mejores compiladores que he estudiado “. ”

– ” Programación estructurada con declaraciones de ir ” por Donald Knuth
“” Hay otra forma de ver un programa escrito en lenguaje interpretativo. Puede considerarse como una serie de llamadas a subrutinas, una tras otra. De hecho, dicho programa puede expandirse en una larga secuencia de llamadas en subrutinas, y Por el contrario, una secuencia de este tipo generalmente se puede empaquetar en una forma codificada que se interprete fácilmente. La ventaja de las técnicas interpretativas es la compacidad de la representación, la independencia de la máquina y la mayor capacidad de diagnóstico. A menudo se puede escribir un intérprete para que la cantidad de el tiempo dedicado a la interpretación del código en sí mismo y la ramificación a la rutina apropiada es insignificante “”
– ” El arte de la programación de computadoras ” Volumen 1, 1997, página 202 por Donald Knuth, renombrado informático y profesor emérito del arte de la programación de computadoras [6] en la Universidad de Stanford.
“” El espacio requerido para representar un programa a menudo se puede reducir mediante el uso de intérpretes en los que las secuencias comunes de operaciones se representan de forma compacta. Un ejemplo típico es el uso de una máquina de estado finito para codificar un protocolo complejo o formato léxico en un mesa pequeña” ”
– ” Escribir programas eficientes [3]” por Jon Bentley
“” Las tablas de salto pueden ser especialmente eficientes si se pueden omitir las pruebas de rango. Por ejemplo, si el valor de control es un tipo enumerado (o un carácter), entonces solo puede contener un pequeño rango fijo de valores y una prueba de rango es redundante siempre que la tabla de salto es lo suficientemente grande como para manejar todos los valores posibles “”
– ” Generación de código de compilador para declaraciones de sucursal de múltiples vías como un problema de búsqueda estática ” por David.A. SPULER

Ajuste de almacenamiento
Solo recuerde que adquirir dinámicamente almacenamiento / memoria es mucho más costoso de lo que la mayoría de la gente piensa. Cuanto más fina sea la granularidad de los datos, mayor será el costo de rendimiento (en OOP). Obtenga algunos fragmentos de memoria grandes (para subdividir mediante indexación) en lugar de muchos más pequeños (pequeños objetos).

La asignación del montón es una tarea no trivial, un microasignador de código abierto, por el desarrollador de juegos John W. Ratcliff, consta de casi 1,000 líneas de código. [Https://code.google.com/p/microallocator/source/browse/trunk /MicroAllocator.cpp]
Ver también: – [http://citeseerx.ist.psu.edu/vie…

Espero que esto sea útil!

Acabo de recibir alguna entrada sobre mi pregunta.

esta es una guía para ser un buen ingeniero de plataformas

– Gestión de la comunicación.

Aprender escritura de negocios **

Aprender comunicación empresarial **

Aprenda sobre cómo ser un presentador impactante **

Obtenga información sobre cómo ofrecer presentaciones potentes y ganadoras **

 Habilidades de presentación de Harvard Managementor

 Harvard Managementor – Habilidades de presentación

 Harvard Manage mentor – Habilidades de escritura

 Sombra a un compañero y observa cómo facilitan las reuniones / presentan a una audiencia

 Conozca los 7C de la comunicación

 Aprenda las habilidades de comunicación no verbal poderosa

 Voluntario para facilitar las reuniones de equipo / presentaciones de líderes en foros internos

 Lista de verificación de planificación de presentación

 Representar al departamento / unidad en una reunión / foro interno de alto nivel, por ejemplo, PGC, PIC

 Prepare la presentación para las reuniones de Townhalls / Dept

 Prepare la presentación para las partes interesadas de negocios

Self (Auto lectura / Actividad en el trabajo) Use métodos de taller efectivos para organizar talleres / reuniones

Lea este libro a continuación para obtener más ideas.

Presentation Skills 201: Cómo llevarlo al siguiente nivel como presentador seguro y atractivo – por William R Steele

Habilidades de las personas: cómo afirmarse, escuchar a los demás y resolver conflictos – Por Robert Bolton

Comunicación: la clave para un liderazgo efectivo – por Judith Ann Pauley y Joseph F. Pauley

Sea dueño de la sala: presentaciones comerciales que persuaden, involucran y obtienen resultados, por David Booth

-Gestión de los interesados

Aprenda habilidades de compromiso comercial **

 First Hand Day (FHD) con la unidad relevante para la cual está diseñado el sistema / proceso

 Aproveche un entrenador de Buscador de Fortalezas para comprender sus fortalezas y las de sus partes interesadas

 Cree un mapa de partes interesadas / clientes para comprender a sus partes interesadas

 Planifique estrategias para construir relaciones a largo plazo, tanto interna como externamente

 Colaborar con las partes interesadas para identificar prioridades comerciales críticas para la unidad comercial y planificar estrategias de arquitectura tecnológica posteriores

 Desarrolle y presente un caso comercial a los gerentes senior para un nuevo proyecto de TI de una manera que demuestre un impacto convincente en los resultados comerciales

 Encargarse de interactuar con proveedores y / o socios para representar con precisión las necesidades y garantizar el cumplimiento de las políticas

 Ser miembro de un foro o comité

 Únete a una asociación profesional

Herramientas para administrar sus partes interesadas para obtener apoyo para lograr sus objetivos.

 Representa a tu empresa en un foro externo

 Representa al país en los foros de tu grupo empresarial

 Desarrollar planes de compromiso para pares, colegas, partes interesadas

Libros para leer

Medición de lo que importa: herramientas simplificadas para alinear equipos y sus partes interesadas, por Rod Napier y Rich McDaniel

El arte de la guerra de Sun Tzu

Gestión de la relación con las partes interesadas: por Lynda Bourne

-Resolución de problemas

Aprender habilidades analíticas **

Aprende el pensamiento creativo **

 Herramientas para identificar la causa raíz de un problema

 Comprender las técnicas y herramientas de lluvia de ideas para crear soluciones

 Utilice herramientas para comprender el problema y llegar a una solución común con otros con una discrepancia mínima

 Realizar un análisis de costo / beneficio del proyecto

 Identificar oportunidades para la mejora / optimización de procesos y realizar evaluaciones de impacto

 Desarrollar una comprensión detallada de las herramientas de resolución de problemas y aplicarlas en su propia área

 Usar diagramas de afinidad para organizar ideas de diferentes fuentes y llegar a una solución para un problema

 Explore las tendencias actuales y futuras del mercado con el objetivo de asesorar a la empresa sobre el uso innovador de la tecnología e implementar las mejores prácticas de la industria

 Desarrollar una red de pares para discutir regularmente los problemas y compartir las mejores prácticas.

 Cree un kit de herramientas de lluvia de ideas y procesos de creación de soluciones

 Administre proyectos complejos usando las herramientas

Libros para leer

Piensa mejor: una guía innovadora para el pensamiento productivo, por Tim Hurson

Thinkertoys: Un manual de técnicas de pensamiento creativo – por Michael Michalko

El reverso de la servilleta: Resolviendo problemas y vendiendo ideas con fotos – por Dan Roam

cont.

Poder imaginar o crear una mejor manera de hacer algo, ya sea mejor significa más rápido, más eficiente o menor potencia, es fantástico. Sin embargo, aún mejor es poder articular sus ideas de manera clara y concisa a otras personas. Este proceso es similar, en algunos aspectos, a comunicar instrucciones a las computadoras en código. Sin embargo, es raro encontrar un desarrollador que invierta en habilidades del lenguaje humano.

Los grandes ingenieros de plataformas pueden comunicar bien sus ideas y escuchar a los demás. eso significa invertir en herramientas de comunicación, escribir, hablar y escuchar.

Asegúrese de invertir algo de energía allí.

More Interesting

¿Qué es una biblioteca y cómo uso diferentes bibliotecas en C ++?

¿Me convertiré en un buen desarrollador de software después de seguir B.Tech Computer Engineering?

Cómo comenzar en un proyecto de swing de GTK + o Java

¿En qué debería centrarme más, la codificación competitiva o el desarrollo de software y cosas basadas en aplicaciones reales?

¿Es posible aprender la programación profesional y los conceptos básicos de CS utilizando Internet y los libros como la única fuente?

¿Por qué no existe un formato universal procesable por máquina para intercambiar estructuras de datos y algoritmos en plataformas y lenguajes de programación?

¿Cuáles son los méritos o dificultades del software, Xilinx ISE Versión 13.4?

¿Cuál es la mejor tecnología / lenguaje de desarrollo de software para especializarse que paga realmente bien?

¿Cuáles son algunos libros de computadora que debes leer? No me refiero solo a libros técnicos, sino principalmente a libros de informática.

En Java, ¿por qué falla @Override para los métodos estáticos?

¿Algunos programadores junior son mejores que algunos programadores senior?

Ahora está disponible un software gratuito de código abierto similar al componente principal de su software, ¿qué debe hacer?

¿No debería usar una biblioteca de códigos por simplicidad?

¿Cuál es la mejor manera de diseñar un programa de autoeducación que aprenda a crear / construir software?

¿Cuál es la última tecnología / tendencias en pruebas de software?