¿Qué debo aprender: desarrollo de iOS o big data?

¿Por qué es una o? He trabajado en TI por más de 30 años. He perdido la cuenta de la cantidad de tecnologías que me he enseñado. No existe una tecnología única que sea la bala de plata que le brinde una carrera exitosa y lucrativa en TI. Por el contrario, aprender a aprender rápidamente muchas tecnologías diferentes es el secreto para una carrera exitosa en TI.

Trabajo para una empresa de consultoría que emplea a unos 75 consultores en las áreas de BigData, NoSQL, Enterprise Search y Web / UI. Se espera que nuestros consultores aprendan y entrenen en más de una de las áreas de práctica. Nuestros consultores que no son de Hadoop se enseñan a sí mismos Hadoop descargando el sandbox de Cloudera o Hortonworks y leyendo White’s Hadoop: The Definitive Guide. Rara vez trabajamos con una empresa que quiere consultar en un área de práctica. Las empresas están ahorrando cantidades masivas de datos y necesitan un marco BigData para administrar los datos, una solución Enterprise Search para buscarlos y una interfaz UX o solución web para servir los datos. Podríamos usar una solución NoSQL o Hadoop para administrar los datos.

Sin lugar a dudas, se encontrará trabajando para una empresa que necesita una solución BigData para administrar sus datos y una aplicación iOS para servir a los usuarios. Quizás deberías aprender ambos.

Big Data: para descubrir patrones ocultos, correlaciones desconocidas, tendencias del mercado, preferencias del cliente y otra información comercial útil. Los resultados analíticos pueden conducir a nuevas oportunidades de ingresos de marketing más eficaces, un mejor servicio al cliente, una mejor eficiencia operativa, ventajas competitivas sobre las organizaciones rivales y otros beneficios comerciales.

El objetivo principal del análisis de big data es ayudar a las empresas a tomar decisiones comerciales más informadas al permitir que DATA Scientist, modeladores predictivos y otros profesionales de análisis analicen grandes volúmenes de Big Data, Data Science – Clases de capacitación de cursos combinados en línea | Big Data, Data Science – Cursos de cursos combinados en línea de datos de transacciones, así como otras formas de datos que pueden ser aprovechados por los programas convencionales de inteligencia empresarial (BI). Eso podría incluir registros del servidor web y datos de Internet Click Stream, contenido de redes sociales e informes de actividad de redes sociales, texto de correos electrónicos de clientes y respuestas de encuestas, registros detallados de llamadas de teléfonos móviles y datos de máquinas capturados por sensores conectados a INTERNET. Algunas personas se asocian exclusivamente Big Data con datos semiestructurados y no estructurados de ese tipo, pero las firmas consultoras como Gartner Inc. y Forrester Research Inc. también consideran que las transacciones y otros datos estructurados son componentes válidos de las aplicaciones de análisis de Big Data.

Los grandes datos se pueden analizar con las herramientas de software comúnmente utilizadas como parte de las disciplinas de Advance Analytics, como la minería de datos de análisis preventivo, el análisis de texto y el método estático. El software de BI convencional y las herramientas de visualización también pueden desempeñar un papel en el proceso de análisis. Pero los datos semiestructurados y no estructurados pueden no encajar bien en el Data Warehouse tradicional basado en la base de datos relacional. Además, es posible que los almacenes de datos no puedan manejar las demandas de procesamiento que plantean los conjuntos de grandes datos que deben actualizarse con frecuencia o incluso continuamente, por ejemplo, datos en tiempo real sobre el rendimiento de aplicaciones móviles o de oleoductos y gasoductos. Como resultado, muchas organizaciones que buscan recopilar, procesar y analizar grandes datos han recurrido a una nueva clase de tecnologías que incluye Hadoop y herramientas relacionadas como Yarn Spook, Spark y Pig, así como bases de datos No Sql. Esas tecnologías forman el núcleo de un marco de software de código abierto que admite el procesamiento de conjuntos de datos grandes y diversos en sistemas en clúster.

En algunos casos, los sistemas Hadoop Cluster y No SQL se están utilizando como pistas de aterrizaje y áreas de preparación de datos antes de que se carguen en un almacén de datos para su análisis, a menudo en forma resumida que es más propicio para las estructuras relacionales. Sin embargo, cada vez más, los proveedores de big data están impulsando el concepto de una toma de datos de Hadoop que sirve como el depósito central para los flujos entrantes de datos sin procesar de una organización. En tales arquitecturas, los subconjuntos de datos se pueden filtrar para su análisis en almacenes de datos y bases de datos de análisis, o se pueden analizar directamente en Hadoop utilizando herramientas de consulta por lotes, software de procesamiento de flujo y tecnologías SQL y Hdoop que ejecutan consultas interactivas y ad hoc escritas en SQL Las posibles trampas que pueden hacer tropezar a las organizaciones en iniciativas de análisis de big data incluyen la falta de habilidades analíticas internas y el alto costo de contratar profesionales analíticos experimentados. La cantidad de información que generalmente está involucrada, y su variedad, también pueden causar dolores de cabeza en la gestión de datos, incluidos la calidad de los datos y los problemas de coherencia. Además, integrar sistemas Hadoop y almacenes de datos puede ser un desafío, aunque varios proveedores ahora ofrecen conectores de software entre Hadoop y bases de datos relacionales, así como otras herramientas de integración de datos con capacidades de big data.

Las empresas están utilizando el poder de los conocimientos proporcionados por Big Data para establecer instantáneamente quién hizo qué, cuándo y dónde. El mayor valor creado por estos conocimientos oportunos y significativos de grandes conjuntos de datos es a menudo la toma de decisiones empresariales efectivas que permiten los conocimientos.

¿Por qué está restringido solo a estas dos opciones? ¿Por qué no nos has dado lo que realmente * te gusta * hacer? Sin saber en qué eres bueno o qué * quieres * hacer, esta pregunta en realidad no tiene sentido.

Aquí está la cosa: puede ‘aprender’ cualquier pila que pague más o sea la prueba más futura. Pero si eres malo, ¿cuál es el punto? Si lo odias, ¿por qué hacerlo? Si no lo disfruta o no tiene talento, la gente notará que su trabajo no es de alta calidad. En ese punto, el trabajo ya no es “pagar más” o es “prueba de futuro”.

¿Qué es más divertido: las matemáticas o la química? Eso depende de la persona, ¿verdad? Lo mismo se aplica a su pregunta.

Aquí hay una lista de buenas carreras en el campo:

– Front-end con Javascript

– Back-end con rieles

– Full-stack con JS y Rails

– iOS – Obj-C por otro año, luego Swift después

– Android

– Científico de datos

– Ingeniero de datos

Si eres bueno en lo que haces, la gente pagará el mejor dinero por ti. He visto personas que reciben salarios bajos porque apestan en su trabajo. Si ingresas al desarrollo de iOS solo porque los desarrolladores ganan más dinero pero eres horrible en eso, obtendrás salarios más bajos de lo que tendrías si fueras un desarrollador de Javascript * genial *.

Hazte un favor y haz tu propia investigación sobre lo que quieres hacer. Ese es el mejor consejo para ‘prueba de futuro’, ‘paga más’ y ‘más divertido’. Como programadores, deberíamos estar planeando trabajar constantemente con lenguajes / pilas / servicios dinámicos. Intentar pruebas futuras es inútil (a menos que entres en un lenguaje moribundo ahora como PHP). Se espera que si se reemplaza lo que está utilizando, se volverá a entrenar en un nuevo idioma y volverá a ser útil.

Eso depende de ti. Creo que ambos son una prueba para el futuro, porque si el público descubre que Apple tiene que decapitar a los bebés vivos para hacer que los iPhones y iOS caigan en desgracia, las habilidades generales que aprendes en el desarrollo móvil son transferibles a otras tecnologías que definitivamente estarán disponibles. . Objective-C y Swift realmente no cambian demasiado esa ecuación, especialmente si ya tienes C # como base.

Yo diría lo mismo sobre big data. Las tecnologías continuarán evolucionando, pero la comprensión general sobre cómo se tratan los grandes datos, la arquitectura de cubos, cómo hacer que funcionen a la velocidad correcta en el lugar correcto, todos esos conceptos deberían ser portátiles.

Entonces, la verdadera pregunta es, ¿te gusta el front-end o el back-end? Hay muchos proyectos móviles que parecen back-end, pero en su mayor parte es conveniente pensar en las aplicaciones móviles como una vista elaborada y un sistema de entrada para un servicio en la nube. La mayor parte del trabajo se centra en algo que se siente como un front-end. Big data es principalmente lo que sucede en el servidor. Se requieren muchas habilidades en los sistemas de visualización, pero estas tienden a configurar los datos de tal manera que los admitan.

Me gustaría usar iOS (o Android) si prefieres front-end o big data para back-end. Ambos parecen opciones duraderas de carrera.

Puedes escribir una aplicación iOS con una sola mano, pero probablemente no ganarás dinero debido a la gran competencia que existe. Si gana dinero más o menos, todo el dinero será suyo. Sin embargo, el dinero podría no ser una prueba futura … estamos en un período de inmensos cambios sociales y tecnológicos.

BIG DATA es más del tipo de equipo y, en mi opinión, la mayoría de las organizaciones no poseen este nivel de datos, pero a medida que el IoT se vuelve real, imagino que habrá más y más oportunidades y habrá muchas oportunidades para trabajar con estos tipos de sistemas. Si sigue esta ruta, puede construir de manera realista algún widget con su equipo y obtener una gran cantidad de equidad, pero incluso eso no es una garantía.

Una buena ruta podría ser, para fines de demostración / desarrollo de habilidades, servir un conjunto de datos masivo sobre una plataforma de nube bajo demanda (AWS) de bajo costo que utilizó una de las innumerables soluciones de BIG DATA (por ejemplo, la pila de cloudera) a través de un iOS aplicación, que mataría a dos pájaros de un tiro.

Cualquiera que te interese más. La diversión es relativa, el pago también lo será y entre los dos puede ser insignificante. El desarrollo de iOS no va a ninguna parte, tampoco lo es Big Data. Creo que respondiste tu propia pregunta. Lo más probable es que pueda pasar del desarrollo web al desarrollo móvil mucho más fácilmente.