Soy experto en SQL, pero solo en SQL. ¿Qué debo aprender ahora?

Comencé donde estás. Hace años, conseguí un trabajo trabajando con hojas de cálculo y bases de datos, y aprendí macros. Es una introducción básica al desarrollo de software. Las herramientas GUI ofrecidas por los productos de Microsoft son bastante útiles.

Entiendo lo que dice sobre encontrar estas cosas difíciles de usar en su trabajo, ya que el aprendizaje en el trabajo es la mejor manera de dominar un tema a través de la práctica a largo plazo.

Probablemente deberías seguir aprendiendo Python y encontrar una manera de usarlo en el trabajo. Ahora soy un desarrollador web, y el 80% de lo que hacemos involucra PHP / MySQL. Python es tan bueno como PHP, especialmente desde el CLI, y también lo usamos. Sin embargo, debe consultar con sus compañeros de trabajo y averiguar qué idioma están usando, ya que podría no ser realmente Python. Todos deben usar el mismo idioma para poder revisar el código de cada uno si es necesario.

También puede intentar pedir consejo a su gerente o al departamento de recursos humanos. Te pueden dar una idea del panorama general:

  • ¿Hacia dónde se dirige tu empresa y qué necesitan?
  • ¿Para qué tipo de conocimiento podrían recompensarte?
  • ¿Qué otras responsabilidades puedes asumir para ampliar tus habilidades?

A menos que estés pensando en un nuevo trabajo. Puede obtener una buena idea de qué lenguajes de programación son utilizados por los administradores de procesamiento de datos mediante la visualización de los anuncios deseados. Eché un vistazo y noté:

  • Excel y SQL, al igual que usted está usando
  • Herramientas de análisis de datos como Google Analytics, New Relic y Looker
  • Lenguajes de programación como Python, R y Java.

Estas son buenas elecciones. Pero recuerda que no solo debes centrarte en las herramientas, sino en cómo usarlas. Siempre puede tomar una clase de programación, para aprender a pensar como un programador, o una clase de estadística, para repasar sus matemáticas, ya que mucho de lo que hace su trabajo parece orientado a las matemáticas.

Como programadores que trabajan, los principales tipos de conocimiento que utilizamos son el pensamiento crítico, la resolución de problemas y la comunicación. Conocer el lenguaje de programación es solo el comienzo. Nuestro proceso de trabajo principal es poder observar los detalles de programas grandes y complejos y mejorar pacientemente su operación a través de prueba y error.

Después de un tiempo, debe adquirir suficiente experiencia en la resolución de problemas reales, que puede “pensar como un programador” e imaginar una solución para un nuevo proyecto con solo mirar una pantalla en blanco. Una clase no puede enseñarte eso, así que realmente debes aprender de la experiencia de alguna manera.

Puedes intentar dedicar algunas horas de trabajo voluntario a GitHub para trabajar en algún proyecto de Python o R allí. Vea si puede resolver algunos de sus errores abiertos. Pero no le dedique demasiadas horas después de su trabajo diario, ya que comienza a sufrir de agotamiento.

Si puedes, es mejor aprender de la experiencia real y necesaria durante el día laboral. Tal vez pueda idear un pequeño proyecto nuevo para implementar en el trabajo que realmente usa Python o R para contribuir a los objetivos actuales y comenzar de esa manera.

Así que has aprendido a pensar y programar en conjuntos y relaciones. Ese es un enfoque importante ordenado. Lo más poderoso que puedes hacer es aprender un enfoque deliberadamente diferente y esforzarte para aprenderlo en su mundo nativo. Por lo tanto, elija entre imperativo, funcional, orientado a objetos, etc., y aprenda eso.

Cuando puede cambiar de conjuntos y relaciones a canalizaciones y filtros, actores y mensajes, objetos con datos y comportamiento (y todos los patrones en ellos), a bucles y condiciones y regresar con facilidad, ha dominado algunos paradigmas más importantes.

Cada uno es otra manera de pensar cómo resolver un problema. Cada uno es otro kit de herramientas limpio.

En cuanto al SQL, es muy útil ser bueno en eso, podría hacerlo bastante bien con solo una mínima exposición a otras formas de codificación si así lo desea. Pero la ventaja de querer aumentar las habilidades es que, en realidad, las formas alternativas de pensar cómo codificar fortalecen las habilidades existentes de manera significativa, lo que agrega flexibilidad y formas de resolver problemas que pueden no ocurrir sin esa exposición.

Tenía una cuadrícula de datos que tardaba sesenta segundos en llenarse. Si solo hubiera tenido formas de pensar imperativas, habría estado tratando de encontrar formas más rápidas de llenar la cuadrícula desde una mentalidad de bucles y condiciones puras. La exposición al pensamiento de SQL significó que consideré cómo estaba construyendo mis conjuntos en su lugar. La respuesta estaba en producir una función de valor de tabla que produjera una tabla precalculada que pudiera unirse a la consulta en lugar de calcular mi valor en cada fila. El tiempo se redujo a 00 segundos.

Por lo tanto, para mí, mi opinión es ir agregando otros métodos de pensamiento sobre la programación en su mente.

En cuanto a los idiomas, puede encontrar tantas opciones que puede ser tan conveniente elegir las que usa su empleador actual O su posible empleador 🙂

Aprender la programación . Eso lleva diez años, así que sé paciente. No solo pienses en términos de aprender idiomas o APIs.

Recomiendo leer SICP y Introducción a Algoritmos y el Libro del Dragón y el Manual de GC y Programación del lenguaje de programación.

Por supuesto, sigue mejorando tus habilidades. Aprenda más sobre Linux. Estudia y contribuye a algunos proyectos de software libre.

Bueno antes que nada, felicidades. Encantado de conocer a un experto, ni menos autodidacta. O tal vez por lo autodidacta. ¿Combinaste eso con algo? ¿Como conseguiste algunos buenos certificados? No me malinterpretes La falta de certificado no significa que usted no sabe. Dicho esto, me parece que tener varios certificados en una pequeña tarjeta de plástico de Microsoft es mucho más valioso que mi tarjeta de crédito.

¿Y cuántos años has estado ocupado escribiendo SQL?

¿Te importaría compartir alguno de tus mejores códigos? ¿Tal vez alguna función elegante, procedimiento almacenado, alguna solución inteligente? No todo el disco duro volcado, por supuesto. Sólo algunos consejos.

Y sobre cosas que aprender.

Tu nombre es Workbench. Pero eso está sintonizado para mySQL. SQL es un término comúnmente utilizado por Microsoft y Oracle. Así que tal vez sea hora de echar un vistazo en esas direcciones.

Dado que su mundo gira en torno a SQL, ¿por qué no optar por Node? Su próximo paso natural sería comenzar a utilizar los datos.

Python es bueno, personalmente no me gusta como lenguaje de producción fuerte, pero está bien como relleno de currículum.

No especificó cuál es su objetivo pero, bajo el supuesto de que desea obtener un trabajo de programación, haga esto:

1) Lleve a Python al nivel en el que pueda usar cómodamente las listas, los conjuntos y los diccionarios de Python, donde pueda pegar unas cuantas frases if and foreach y escribir programas que lean datos de archivos y los escriban en la base de datos SQL, y al revés . No profundice demasiado en los aspectos orientados a objetos de Python o en las diversas bibliotecas de matemáticas que existen.

2) Ir a lenguaje orientado a objetos: C # o Java. Centrarse en las operaciones del lado del servidor. GUI es un universo en sí mismo, déjalo en paz. Una vez más, siéntase cómodo utilizando matrices de C #, colecciones, lectura / escritura de archivos, llamadas a SQL desde C #. Profundice un poco más en la naturaleza orientada a objetos de C # y / o Java hasta el punto en que pueda pasar preguntas de la entrevista sobre los conceptos básicos de la POO.

3) Haga un círculo para concentrarse en SQL en un sabor particular: Oracle o SQL Server. Llévelo al nivel donde puede escribir procedimientos almacenados.

4) Por último, sugiero echar un vistazo a Microsoft SSIS y SSRS (vienen con SQL Server). Una vez que se sienta cómodo con las posibles preguntas de la entrevista, estará listo para un horario de máxima audiencia como desarrollador de bases de datos / backend / ETL y tendrá suficientes palabras de moda para incluir en su currículum.

Buena suerte

Depende de lo que quieras aprender y estudiar, y del trabajo que estés buscando. Aprende las cosas que se adaptan a la posición que deseas. Digamos que quieres convertirte en un científico de datos. Luego busque qué idiomas desean las empresas y aprenda. Ya tienes una gran ventaja al ser un experto en SQL. Sin embargo, la mayoría de la gente diría que nunca ha terminado con un idioma, lo cual es muy cierto.

De vuelta a la ciencia de los datos, aprender Python es un buen comienzo para un nuevo idioma. Python se usa cada vez más a menudo, y definitivamente es bueno aprender. A continuación, aprenda R, que le proporcionaría más bajo en el aspecto estadístico de la ciencia de datos.

Como puedes ver, aprender cosas depende de lo que quieres en la vida. Como ejemplo extremo, los matemáticos no tienen mucho uso para aprender sobre la salud pública. Elige lo que quieres aprender que te ayudará en el futuro.

¿Debes aprender para hacer qué?

¿Para impresionar a tu novia?

¿Para aprender más sobre la programación solo por el bien de ella?

¿Para obtener un trabajo mejor pagado?

Yo diría que aprende desarrollo web, ya que hoy todas las aplicaciones son aplicaciones web,

Algunos recomendarían PHP, pero creo que eso te hace olvidar. Pero es fácil de aprender, así que tal vez ese debería ser tu camino de todos modos y luego aprender un idioma real.

Prefiero Smalltalk, pero algunas personas prefieren C, otras C ++, otras Java.

Si fuera a elegir, diría Smalltalk y Java.

A algunas personas les gustan Ruby y Rails, porque puedes obtener trabajos bien remunerados.

Así que depende de lo que realmente quieras.