¿Me estoy engañando a mí mismo? Analista de negocios transición a programador


11

Trabajo actual: trabajar como analista de negocios líder para una empresa Big 4, liderando un equipo de desarrolladores y probadores que trabajan en un proyecto de re-plataformas a gran escala (4 desarrolladores en tierra, 4 desarrolladores en alta mar, varios probadores en tierra / costa afuera). También trabaje en una capacidad similar en otros proyectos de menor escala.

Alcance de mi función: reunir / escribir requisitos, crear especificaciones funcionales, diseñar la interfaz de usuario (básicamente mapear todos los aspectos frontales del sistema), trabajar en estrecha colaboración con los desarrolladores para comunicar / aclarar requisitos y encontrar soluciones cuando lleguemos a obstáculos , redactando casos de prueba (y realizando gran parte de las pruebas), trabajando con la alta gerencia y las principales partes interesadas, administrando beta testers, creando guías de usuario y liderando sesiones de capacitación, brindando soporte técnico clave.

También escribo bastantes macros en Excel usando VBA (varias de mis macros ahora se usan en toda la empresa, por lo que tal vez haya alrededor de 1000 personas que las usan) y uso SQL a diario, tanto en los archivos compactos de SQL del programa confía en nuestros datos de SQL Server y cualquier base de datos de Access que creo. Los desarrolladores sienten que soy bastante bueno en este rol porque entiendo mucho sobre programación, limitaciones inherentes del sistema, estructura de las bases de datos, etc., así que es más fácil para mí comunicar ideas y proponer sugerencias cuando enfrentamos problemas.

Lo que realmente me interesa es desarrollar software. Realizo una buena cantidad de programación en VBA y he estado queriendo aprender C # por un tiempo (el equipo de desarrollo usa C #, reviso el código ocasionalmente por mi propio bien, pero no he tenido ninguna experiencia práctica al usarlo). Estoy interesado no solo en el proceso de negocio sino también en el aspecto técnico de las cosas, por lo que el rol tradicional de BA realmente no abre mi apetito por el tipo de cosas que quiero hacer. En este momento tengo algunos pequeños proyectos que los gerentes me han dado y estoy encontrando nuevas formas de hacerlo (como crear aplicaciones de acceso personalizadas), por lo que hay un poco aquí y allá para mantenerme interesado.

Mi pregunta es esta: lo que me gustaría hacer es crear aplicaciones de Excel o Access personalizadas para pequeñas empresas como un negocio independiente (trabajando como una tienda individual; tal vez tener un contratista ocasional dependiendo de la complejidad de un proyecto). Obviamente, esto comenzaría como una empresa a tiempo parcial mientras tengo un trabajo diario, pero eventualmente se convertirá en un trabajo a tiempo completo. ¿Me estoy engañando a mí mismo al pensar que puedo pasar de un programador de VBA a tiempo parcial / BA a ir a un negocio independiente a tiempo completo (donde comenzaría simplemente escribiendo aplicaciones personalizadas de Excel / Access en VBA)? ¿O no se intenta este tipo de cosas hasta que alguien gana años de experiencia en programación a tiempo completo? ¿Y hay incluso un mercado para este tipo de aplicaciones entre las pequeñas empresas (y tal vez las medianas)?


3
Probablemente ahora estés en la cima de tu carrera. Puedes hacer el mismo trabajo con las mismas habilidades en 5 años sin leer un libro. Si fueras programador, comenzarás desde la parte inferior de la escalera y en 5 años, ¡incluso puede que no haya una escalera! No mezcles pasatiempo con carrera. Por supuesto, podrías ser un programador, pero ¿qué hacen la mayoría de los programadores promedio después de 10 años? Sobrevivir como programador en el mercado actual y ascender es muy difícil para la persona promedio debido a la alta competencia y los continuos desafíos tecnológicos.
No,

Estoy de acuerdo en que, como analista de negocios y persona de negocios, tengo la capacidad de seguir ascendiendo a una posición más alta. El problema es cuanto más alto va, generalmente más distante de la tecnología y la implementación que está. Me he entrevistado con varias empresas de consultoría para puestos de consultoría de gestión en el campo de la tecnología, pero este tipo de roles realmente no me interesan. Mi objetivo no es ser un programador puro; de hecho, no tengo interés en trabajar como desarrollador para ser contratado como empleado, sino que tengo una pequeña tienda de consultoría donde puedo abordar tanto el negocio como el lado del desarrollador.
Ryan

"Una pequeña tienda de consultoría donde puedo abordar tanto el negocio como el desarrollo" me parece demasiado riesgo. Verá, el mercado está lleno de soluciones estándar y tantas compañías y contratistas que están listos para construir sistemas por tan solo $ 200 o menos. No creo que 'pequeño' pueda durar mucho tiempo dada la economía y la rápida tasa de cambio en la tecnología a menos que tenga una estrategia para atraer clientes y centrarse en una tecnología que cambia lentamente.
No,

77
@EmmadKareem, "no mezcles pasatiempo con carrera" ... quieres decir: asegúrate de que casi toda tu vida despierta la pases haciendo algo que no te gusta y alrededor del 5% haciendo lo que te gusta ... suena como un gran plan para la felicidad (pero ciertamente uno común)
JoelFan

44
@EmmadKareem, creo que hay muchos programadores que han trabajado 10, 20 o más años y están contentos con sus carreras
JoelFan

Respuestas:


15

No, no te estás engañando a ti mismo, ¡se puede hacer! Uno de los muchachos aquí hizo eso, aunque no conozco los detalles de cómo, pero creo que comenzó como un suscriptor, se convirtió en un BA para suscribir el desarrollo de software interal, luego de alguna manera pasó al desarrollo a tiempo completo. Supongo que ya tenía una formación técnica, como tú.

Podría funcionar mejor si intenta hacerlo primero con su empleador actual que hacerlo solo. Tendría mucho más apoyo y ayuda. Tal vez hable con su gerente y pregúntele cómo podría pasar a un rol de desarrollo dentro de la organización, probablemente en el mismo equipo para comenzar. De esa manera, ya conoce a todos y ellos lo conocen a usted y de lo que ya es capaz y pueden ayudarlo a capacitarlo más. Si tienes mucha, mucha suerte, tu empresa tendrá un presupuesto para enviarte a cursos para ponerte al día aún más rápido.


2
Me gustaría repetir que definitivamente se puede hacer: en una posición anterior, trabajé con un contratista que hizo exactamente eso. Comenzó a hacer aplicaciones de Access para una empresa desde un puesto que no era de desarrollo, luego se convirtió en un consultor externo para ellos, y finalmente lo convirtió en su propio negocio y parece estar funcionando bastante bien.
bunglestink

4

VBA y Access es la parte inferior de la escalera de programación. Si yo fuera tú, dispararía más alto ya que tienes habilidades SQL. Considere aprender SQL Server Reporting Services y crear informes o SSIS y realizar el procesamiento ETL. Esas son habilidades con una demanda bastante alta en este momento y está en una buena posición para hacerlas, ya que puede ser relativamente fácil ingresarlas en un entorno corporativo, especialmente si actualmente no hay nadie más que maneje esos roles para su empresa. Vería la experiencia del analista de negocios como una gran ventaja para un redactor de informes.


2

Se puede hacer. No será fácil, especialmente si quieres ser bueno en esto, ya que el desarrollo de software es una disciplina de ingeniería con problemas y dificultades no obvias que necesitarás aprender a reconocer y evitar. Eso tomará algunos años de estudio y práctica serios, pero si puede entender los conceptos, definitivamente puede convertirse en un programador, incluso si su experiencia es diferente.


¿Algún curso de estudio recomendado? Soy más autodidacta, así que en este momento me estoy suscribiendo a un programa abierto de MIT (Introducción a Comp Sci) que utiliza Python como lenguaje de enseñanza, principalmente para poder obtener una teoría de programación sólida y pensar más líneas de un programador. También continúo expandiendo mi conocimiento de Excel / Access / VBA a través de proyectos reales en el trabajo.
Ryan

@Ryan Estás confundido acerca de una cosa: no existe una teoría de programación sólida. La programación es un oficio muy inmaduro (¡artesanía es la palabra adecuada!), Es realmente demasiado joven. Los programadores leen muchos libros, pero las revoluciones en este campo suceden durante un mes. Lo que significa que la actitud de aprendizaje es el único requisito previo :)
K.Steff

1
@ Ryan: Soy principalmente autodidacta. Mi "curso de estudio" fue "este programa apesta. Podría hacerlo, y hacerlo mejor que el autor. Así que veamos, tengo un compilador, ¿cómo empiezo a implementar características?"
Mason Wheeler

2

Ya sea que tome años o años, depende en gran medida de usted, su horario, pero lo más importante, su nivel de interés, que tiende a estar vinculado a la aptitud. Si vives o trabajas en una ciudad y tienes la opción de viajar en masa, tómalo y usa ese tiempo de viaje incorporado para leer libros de tecnología. Cualquier cosa que te interese.

En cuanto a la audacia de pensar que puedes, no te preocupes. Decidir que probablemente podría manejar esa <insertar pila de complejidad desconocida aquí> es lo que hacen los desarrolladores. Eso no es arrogancia, es solo dar el primer paso.

Arrogante en tierra de desarrolladores se llama a sí mismo un desarrollador profesional cuando tiene una solución para todo y no ha aprendido nada nuevo desde la universidad. Ese es el problema con el desarrollo. Cuando dejas de aprender, tu carrera comienza a ir cuesta abajo, por lo que el interés es clave. Parece que tienes eso.

Así que adelante.

Tienes tu objetivo a la vista. El resto es dividir los grandes problemas de miedo en pequeños no tan temibles. Repita ad nauseum y será un desarrollador a tiempo completo que desearía que hubiera problemas más grandes / más aterradores de lo que solía haber antes.


Observación secundaria: la arrogancia es útil en las etapas iniciales. Si supiera de qué se trataba realmente la programación cuando comencé, probablemente me habría rendido dos horas después del 'hola mundo'.
K.Steff

1

Yo diría (si quieres empezar) ir con SICP - Estructura e interpretación de programas de computadora. Debería vincularlo, pero es más que solo un libro; hoy en día también puedes encontrar otras personas para estudiar el curso en línea. Es un libro realmente difícil: completar todos los ejercicios es algo que la mayoría de los desarrolladores no pueden hacer (desafortunadamente), pero es el mejor libro disponible. MIT OCW también es bueno, pero en mi humilde opinión, es una versión diluida de SICP para programación. Python está diseñado para ocultar la complejidad, en lugar de hacerte disfrutar de una manera enfermiza (como lo hace SICP).

Además, debe distinguir entre la programación como profesión y la programación como habilidad. Uno requiere dedicación a cosas como código hermoso, limpio y extensible, mientras que el otro no requiere más que habilidades algorítmicas (que en realidad es bastante). El "dictador benevolente" de Python, Guido van Rossum, argumenta que la programación será una habilidad esencial en los próximos años, pero las habilidades de desarrollo de software no lo serán, en ningún caso. La mayoría de los no desarrolladores escriben código para tirarlo (los desarrolladores también hacen esto a menudo). La cuestión es que la programación como carrera incluye muchas más cosas que la programación y es importante enderezar sus prioridades.

Lo más importante: asegúrese de amar la programación, no solo como me gusta. Es más que un trabajo de 9 a 5, es adoptar la filosofía de aprendizaje constante : la mayoría de los ingenieros se capacitan durante su BS o MSc y no ven cambios significativos en su campo de especialización. Una carrera de por vida en programación te hará ver al menos 10 cambios de paradigma (no solo lenguajes, sino herramientas, bases de datos, etc.), por lo que es mejor que estés listo (y dispuesto) a aceptar esto.


+1 para "filosofía de aprendizaje constante". La programación se trata principalmente de aprender y mejorar cada día. Si te gusta hacer esas 2 cosas, entonces probablemente tendrás una buena experiencia y tendrás éxito.
B Seven

1

Creo que estás en una buena posición para hacer esto.

La mayor parte de mi carrera he estado profundamente inmerso en el aspecto técnico de las cosas, sin embargo, durante años de observar que muchos proyectos tienen éxito o fracasaron, he llegado a la conclusión:

Si no comprende a los usuarios de su empresa y sus requisitos, su proyecto fallará.

Nunca he visto una excepción a esta regla y ninguna cantidad de dinero, hardware o genio de la programación parece hacer ninguna diferencia. Los proyectos verdaderos con una buena comprensión de los requisitos pueden fallar debido a hardware, software mal elegidos, falta de presupuesto o falta de habilidades, pero en su mayor parte estos proyectos pueden o podrían haber sido rescatados.

Por lo tanto, su buena base en BA y los requisitos le darán una perspectiva que algunas de sus universidades tecnológicas más talentosas pueden carecer, el resto lo puede aprender.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.