domingo, julio 12, 2015

El sueldo de los programadores, al descubierto

image

La programación es una actividad en auge de la que siempre existe demanda, a costa de obligar a los profesionales a renovarse de forma continua. Cada poco tiempo surgennuevos lenguajes, sistemas operativos y métodos de programación, que obligan a volver a desgastar los codos para aprenderlos.

Sin embargo, curiosamente, si eres programador y quiere ganar el mayor sueldo posible, debes especializarte en uno de los lenguajes más antiguos que existen, aunque aún plenamente vigente: C++.

Trabajar en una startup en vez de en una empresa tradicional, y preferiblemente mayor de 51 empleados, también ayuda. Son algunas de las conclusiones a las que llega el estudio de los salarios de los programadores en 2014, elaborado por la firma Funders & Founders. Es interesante porque no se centra sólo Estados Unidos, sino que cubre todo el mundo, y los datos están extraídos de salarios reales.

El sueldo de los programadores

Comenzamos echando un vistazo al sueldo, en función del tipo de programador:

Sueldo de programadores

Como se puede ver en la gráfica, los programadores especializados en C++ son los mejor pagados con unos 110.000 dólares al año. Le sigue Python y C, otros veteranos. Los lenguajesbackend, centrados en la programación pura y dura, los más complicados, son los más reconocidos. Los lenguajes frontend, que se usan para crear lo que el usuario ve (páginas web, interfases, apps), son los peor pagados. Un programador de diseño en CSS se queda en los60.000 dólares.

El puesto de trabajo

Salario de los programadores

Dentro del mismo gremio de programadores, también hay clases. El que más cobra es, lógicamente, el CTO o Director de Tecnología de la empresa, seguido de los arquitectos/diseñadores de software. El desarrollador de aplicaciones móviles ha ascendido y ya superar al desarrollador de software backend, quedando en última posición el softwarefrontend.

La experiencia

Los novatos con menos de un año de experiencia ganan de media unos 65.000 dólares, cifra que sube a los 120.000 dólares con 20 años de experiencia. Curiosamente, los que tienen entre 7 y 10 años ganan más que los que acumulan entre 11 y 15 años de experiencia:

Sueldo de los programadores

Tipo y tamaño de la empresa

Los datos recopilados por Funders & Founders indican que los programadores de unastartup ganan más sueldo (95.000 dólares al año) que los de una empresa informática tradicional (82.600 dólares). Como era previsible, los freelancer o autónomos son los peor pagados (64.440 dólares).

También influye el tamaño de la empresa. Pagan más las que tiene más de 51 trabajadores. Las que menos, entre 11 y 20 empleados:

Sueldo de programadores

Los salarios, a escala mundial

¿Cobra lo mismo un programador español que otro estadounidense? Por supuesto que no. En esta infografía puedes ver los sueldos distribuidos por zonas:

Sueldos de los programadores

Un programador europeo gana alrededor de los 53.000 dólares (unos 48.000€) al año. Por contra, un norteamericano con el mismo trabajo gana 83.000 dólares. Un argentino se queda en los 31.000 dólares.

Son sueldos de programadores de oficina. Los que se apuntan al teletrabajo (color más difuminado) cobran más en unos países (Sudamérica) y menos en el resto.

El programador que más gana

Reuniendo todos los datos, obtenemos el perfil del programador con mejor y peor salario, realizando el mismo trabajo:

cuánto cobra un programador

Si vives en Estados Unidos, trabajas con C++ en una start-up de más de 51 empleados, tienes 20 años de experiencia, eres diseñador de software, te han ascendido a Director de Tecnologia y acudes a la oficina a currar tus ocho horas diarias, ganarás el máximo sueldo posible, alrededor de los 95.600 dólares.

Por el contrario, si vives en la India, desarrollas software frontend en CSS como ingeniero de QA y 6 años de experiencia, trabajas para una empresa de entre 11 y 20 empleados de forma remota, como freelancer, ganarás casi la mitad, 53.440 dólares.

Son variables muy parecidas a las que también condicionan otras profesiones tecnológicas.

[Fuente: Funders & Founders]

[Fuente: http://computerhoy.com/]

Saludos.

Ing. Alex Taya

ing.alextaya@outlook.com

https://www.facebook.com/ing.alextaya

lunes, abril 27, 2015

10 Habilidades Que Todo Programador Debe Tener

Desde muy temprana edad he estado envuelto en el mundo de la tecnología. Si hay algo que no me deja de fascinar sobre este mundo es lo rápido que avanza el sector del software. La industria del software ha mutado a pasos agigantados desde su nacimiento. En los años 80 el software giraba en torno a las PC de escritorios y Mainframes. En la actualidad la tendencia es hacia soluciones para dispositivos móviles y la web.

Programador

Como consecuencia de este avance tan rápido que experimenta la industria del software, he dedicado tiempo en reflexionar sobre las características excenciales que permitan a un programador mantenerse en la industria por un largo periodo de tiempo y al mismo tiempo ser exitoso en su profesión. A continuación explicaré algunas de las características que todo programador debe tener para ser exitoso en el híper competitivo campo de la industria del software.

  • Curiosidad: Un buen programador siempre está ávido de conocimientos. Hasta que no conoce el problema en profundidad no se detiene de trabajar. Es esta característica la que permite que un programador pueda adquirir el conocimiento y habilidades para entender cualquier tecnología subyacente en la que necesite escribir código. Sé curioso y alimenta tu mente con información útil. Nunca pares de leer.
  • Pensamiento claro: Un pensamiento claro es un ejercicio de lógica. Por esta razón es que los programadores con excelente bases matemáticas superan en rendimiento en la mayoría de las veces a sus pares que carecen de estos conocimientos. Ejercita tu lógica a través de las matemáticas.
  • Leer y comprender rápido: La rapidez en la lectura y compresión de la información es vital para la productividad de cualquier programador. Un programador NO sólo escribe código, parte de su trabajo incluye la lectura de código, documentación y especificaciones de proyectos. Los programadores que leen de manera lenta son improductivos pero los que no tiene buena lectura comprensiva son peligrosos.
  • Atención a los detalles: He notado que la característica de atención a los detalles está estrechamente relacionada con la curiosidad. Un programador que no presta atención a los detalles principalmente en el proceso de escritura de código es altamente improductivo. La falta de esta habilidad se refleja en aquellos que escriben código desordenado, sin comentarios y no implementan las medidas de seguridad adecuadas para garantizar la integridad del software.
  • Aprender rápido temas fuera de la programación: Exceptuando que seas un programador trabajando dentro de una compañía de software desarrollando herramientas únicamente para programadores, es necesario que estés en comunicación con otras personas fuera del mundo del código binario. Esto incluye conversar con contadores, abogados, financieros, etc. Por lo tanto, un programador debe adquirir conocimientos en las áreas con la que se relaciona en el trabajo. Así como un periodista debe poseer el conocimiento mínimo necesario para escribir un artículo sobre economía, de esta misma forma un programador debe tener conocimientos mínimos de finanzas para poder ayudar a un director financiero a resolver un problema de software.
  • Autodidacta: El programador que depende que su empleador para que financie los entrenamientos está condenando al fracaso. La realidad es que en las empresas casi nunca hay presupuesto para entrenamientos en el área de tecnología. Un excelente programador es autodidacta. La habilidad de aprender por sí mismo paga en el largo plazo. El mundo del desarrollo de software es muy amplio y no se detiene, el programador actual debe estar en constante evolución aprendiendo nuevas herramientas y lenguajes. Un programador que dure dos años sin capacitación está desfasado.
  • Pasión: Existen programadores de 9-5. Estos son aquellos que escriben código de forma rutinaria en su trabajo. Fuera de su trabajo no existe el código. Esto no está mal pero es un reflejo de falta de pasión. Los mejores programadores respiran código las 24 horas. Esta “pasión” es la que permite aplicar trucos y buscar soluciones creativas al momento de enfrentar problemas complejos.
  • Adaptabilidad: Es muy difícil que un proyecto de software termine con las mismas especificaciones que se delinearon al comienzo del proyecto. Las cosas cambian y los grandes proyectos también. Un programador debe saber cómo adaptarse a los cambios. Los programadores que no se adaptan fracasan.
  • Comunicación efectiva: Comunicación efectiva no es sinónimo que hables perfectamente tu idioma; es más que eso. Es necesario que un programador tenga la capacidad de comunicar las ideas de forma clara y precisa. Los programadores que NO logran que sus ideas sean comprendidas principalmente por aquellas personas no técnicas, tienden a tener dificultades en sus carreras. Una persona que no comunique efectivamente NO puede escalar a posiciones gerenciales en una empresa.
  • Explora código: Un forma rápida y eficiente de incrementar tus habilidades en programación es a través de la exploración de código escrito por otros. Algunos de los mejores programadores del mundo colaboran en proyectos Open Source. Involúcrate y aprender de los gurúes.

Antes que te vayas me gustaría que contestes las siguientes preguntas:

¿Qué otras características crees que debemos incluir en este listado?

¿Cuál de estas habildades consideras que es la más importante?

Tus opiniones son importantes para nosotros.

Por favor, deja tu comentario aquí debajo en este post.

Si te gustó este artículo, por favor compártelo con tus amigos. Les estarás haciendo un gran favor.

¡Hasta pronto!

Fuente: http://blog.capacityacademy.com/2015/04/15/10-habilidades-todo-programador-debe-tener/

Saludos.

15 Libros Que Todo SysAdmin Debe Leer

El siguiente listado de libros es el resultado de una encuesta realizada en el sitio web ServerFault.com, una comunidad en línea exclusiva para SysAdmin y DevOps. La pregunta de la encuesta fue:

“¿Cuál ha sido el libro más influyente que todo SysAdmin debería leer?”

Sysadmin

A partir del resultado de miles de respuestas proporcionadas por SysAdmin y DevOps de todos los background posibles, tenemos aquí un listado de los libros más influyentes en el mundo de la administración de servidores Unix / Linux.

NOTA: La posición de los libros dentro del listado NO implica una ponderación mayor en importancia.

Mientras ibas escribiendo este listado de libros iba recordando mis inicios en la administración de servidores Linux. No había nada más divertido y excitante para mí que aprender cosas nuevas sobre la administración de servidores Linux.

Recuerdo hasta el primer día que compré un libro de Linux. No recuerdo el nombre exactamente del libro pero si el lugar —una tienda de computadora que existía en Santo Domingo llamada Herrera Pérez— y la distribución que trajo el libro grabado en CD: Slackware 3.0. Slackware fue por varios años mi distribución Linux por default hasta que después cambié aRed Hat 6.0.

Creo que todo aquel que quiera escalar al próximo nivel en su carrera como SysAdmin debería invertir el tiempo y los recursos en adquirir los conocimientos plasmados en estas joyas de libros.

Antes que te vayas me gustaría que contestes las siguientes preguntas:

¿Cuál de los libros listados consideras el más importante y por qué?

¿Qué otro libro consideras fundamental incluir en este listado?

Tus opiniones son importantes para nosotros.

Por favor, deja tu comentario aquí debajo en este post.

Si te gustó este artículo, por favor compártelo con tus amigos. Les estarás haciendo un gran favor.

¡Hasta pronto!

Fuente: http://blog.capacityacademy.com/2015/04/23/15-libros-todo-sysadmin-debe-leer/

Saludos.

¿Qué significa “Dual Core” y Quad Core”? Para qué te sirve saberlo?

cpu

En un momento, nuestras computadoras tenían una unidad de procesamiento central (CPU) con un solo núcleo. En estos días, la mayoría de las CPUs te encontrarás que son de doble núcleo, cuatro núcleos, o incluso ocho núcleos. Vamos a explicar exactamente qué es un núcleo, doble núcleo vs cuatro núcleos, y cual es la importancia que tiene su uso en las computadoras y en en los móviles.

puedes que tengas que elegir entre un CPU menos costoso con un menor número de núcleos o un CPU más caro con más núcleos para la compra de un ordenador portátil, tablet, o incluso un teléfono inteligente. Saber la diferencia entre doble núcleo vs CPU de cuatro núcleos – y lo que significa para tí – te ayudará a tomar decisiones inteligentes al comprar un nuevo hardware.

¿Qué es un Core o núcleo?

Cada “núcleo” es en realidad una unidad central de proceso separado, que es la parte de la CPU que en realidad hace el trabajo. Por ejemplo, un chip de doble núcleo puedes verse como un solo chip del CPU, pero en realidad tiene dos unidades centrales de procesamiento físicos en el chip.

Las Unidades centrales de procesamiento adicionales permiten a una computadora hacer varias cosas a la vez. Si alguna vez has utilizado un CPU de un solo núcleo y has  actualizado a un CPU de doble núcleo, debiste haber notado una diferencia significativa en la forma en que responde el equipo.

Por ejemplo, digamos que estás extrayendo un archivo y navegas por la web al mismo tiempo. Si has tenido un CPU de doble núcleo, una central trabajaría en la extracción del archivo, mientras que el otro núcleo haría su trabajo de navegación web. Navegación por Internet sería mucho más rápida. 

Ya sea que esté haciendo varias cosas a la vez o no, tu equipo está a menudo haciendo las tareas del sistema en segundo plano y que puedes beneficiarse de núcleos adicionales para mantener el sistema operativo siempre funcionando de forma óptima. Por ejemplo, Google Chrome hace con cada página web un proceso separado. Esto permite que Google Chrome utilice diferentes CPUs para diferentes sitios web en lugar de utilizar un solo CPU para todas las tareas relacionadas con el navegador.

Velocidad de reloj vs Cores

Los CPUs tienen una velocidad de reloj – piensa en ello para comparar como la rapidez de un CPU funciona.
Por ejemplo, el procesador Core i5-3330 de Intel tiene una velocidad de reloj de 3 GHz y es un procesador de cuatro núcleos, lo que significa que tiene cuatro núcleos. Los cuatro núcleos en este procesador i5 de Intel están cada uno funcionando a 3 GHz.

Duplicar los núcleos no se duplica la velocidad

Muchos programas de computadora son de un único subproceso, lo que significa que su trabajo no se puedes dividir entre varias CPU. Deben  ejecutarse en un solo CPU. Esto significa que la duplicación de los núcleos no duplicará su rendimiento.

Si  tienes una aplicación de un solo subproceso se ejecuta en 3 GHz con CPU de cuatro núcleos, lo cual significa que la aplicación funcionará a 3 GHz – no 12 GHz. Se utilizará un núcleo y los otros tres núcleos estarán inactivos, esperando otras tareas a realizar.

Crear aplicaciones que puedan escalar a través de varios CPUs a la vez es en realidad un problema difícil en la informática. Se está convirtiendo en un problema más crucial, ya que el futuro parece ser tener equipos con más y más núcleos en lugar de un menor número de núcleos para hacer táreas más rápidas.

Algunas aplicaciones pueden aprovechar múltiples núcleos. La arquitectura multi-proceso de Google Chrome permite llevar a cabo acciones en varios núcleos diferentes a la vez. Algunos juegos de ordenador pueden dividir tus cálculos a través de múltiples núcleos diferentes a la vez.

Sin embargo, la mayoría de las aplicaciones que se utiliza es probable que sea de un único subproceso. Un CPU de cuatro núcleos no ejecutará Microsoft Office el doble de rápido que un CPU de doble núcleo. Si todo lo que hacen es ejecutar Microsoft Office, el rendimiento puedes ser muy similar.

Más núcleos ayuda si lo que buscas es hacer más más de una cosa a la vez o si tienes una aplicación multiproceso que puede tomar ventaja de ello. Por ejemplo, si se está ejecutando varias máquinas virtuales, mientras que se codifica vídeos,se extraen archivos, y haciendo otras cosas el CPU exige en tu ordenador, un CPU octo-core que puede ser capaz de mantenerse muy activo, mientras que un CPU de cuatro núcleos puedes tropezar bajo tal carga.

Dual Core, Quad Core & mas

Frases como “doble núcleo”, “quad core” y “núcleo octo” todo sólo se refieren al número de núcleos que un CPU tiene:
Core dual: dos núcleos.
Quad Core: Cuatro núcleos.
Hexa Core: Seis núcleos.
Octo Core: Ocho núcleos.
Deca Core: Diez núcleos.
Control y monitoreo Cores

En realidad se puede ver asignar a qué programas pueden ejecutarse usando un CPU, desdeel administrador de tareas de Windows. CTRL+ALT+DELETE, das clic en detalles, luego clic derecho en alguna aplicación y selecciona Establecer afinidad.

Serás capaz de seleccionar qué CPUs (núcleos) la aplicación puede ejecutarse en. No deberá ser necesario ajustar esto todo el tiempo, aunque puede ser útil cuando se desea restringir una aplicación exigente a ciertos núcleos o evitar errores en los juegos de PC antiguos.

Desde el administrador de tareas, también puedess utilizar la ficha Rendimiento para ver el uso de todos tus núcleos de CPU.

Hyper-Threading

CPUs Intel utiliza una tecnología denominada “la tecnología Hyper-Threading”. Con hyper-threading, cada núcleo físico se presenta al sistema como dos núcleos lógicos. En la imagen anterior, no estamos utilizando un CPU octo-core – estamos usando un CPU quad-core con tecnología Hyper-Threading.

Esto mejora el rendimiento hasta cierto punto, pero un CPU de cuatro núcleos con hyper-threading no es tan bueno como un CPU octo-core.

Fuente: http://tecnobitt.com/que-significa-dual-core-y-quad-core-para-que-te-sirve-saberlo/

 

Saludos.

domingo, abril 05, 2015

Desarrollo de Sistemas Contables I–UAP

image
Descargar ==> http://1drv.ms/1PavIUW
  image
Descargar ==> http://1drv.ms/1PavRHM
     

Saludos.

Arquitectura .Net

image
Descarga ==> http://1drv.ms/1PauBV5
  image
Descarga ==> http://1drv.ms/1Fv9DuD
     
image
Descarga ==> http://1drv.ms/1Fv9G9R
  image
Descarga ==> http://1drv.ms/1Fv9F5V
     

Saludos.

Nómina de Matrícula 2015–Práctica Excel

image

Descargar ==> http://1drv.ms/1Fv8P99

Saludos.

Carta de Bill Gates a los empleados de Microsoft por el 40 cumpleaños

por Jose Palacios · abril 4, 2015

Carta de Bill Gates a los empleados

Ayer os traíamos uno de algunos de los artículos que haremos, más nostálgicos o menos, en conmemoración por los 40 años de la compañía Microsoft. Han sido unos años frenéticos de altibajos donde siempre ha estado presente y siempre ha habido alguien que amenazaba su hegemonía. Hoy os traemos la traducción de la carta de Bill Gates a los empleados de Microsoft.

Hoy es un día especial: Es el 40 cumpleaños de Microsoft

Desde el principio, Paul Allen y yo teníamos como objetivo que hubiese un ordenador en cada casa. Se trataba de una idea audaz y mucha gente pensó que estábamos locos al pensar que eso era posible. Es increíble pensar hasta donde ha llegado la informática desde entonces, y todos podemos estar orgullosos del papel que juega Microsoft en esa revolución.

Sin embargo, hoy pienso más en el futuro de Microsoft que en el pasado. Creo que su evolución será mucho mayor en los próximos diez años que nunca antes. Ya vivimos en un mundo de múltiples plataformas y el mundo de la informática profundizará todavía más. Estamos cerca del punto donde los robots sean capaces de ver, moverse e interactuar con naturalidad. De este modo se abrirán muchas nuevas aplicaciones que beneficiarán a la gente todavía más.

Bajo el liderazgo de Satya, Microsoft está mejor posicionada que nunca para liderar estos avances. Tenemos los recursos necesarios para trabajar y solventar los problemas que haya en el camino. Estamos preparados en todas las facetas de la computación actual y tenemos el compromiso más profundo para investigar en la industria. En mi papel como asesor técnico de Satya, analizo productos y estoy impresionado por la visión y talento que veo. El resultado es evidente en productos como Cortana, el Traductor de Skype y HoloLens – y estas son solo algunas de las innovaciones que están por venir.

En los próximos años, Microsoft tiene la oportunidad de alcanzar a todavía más personas y organizaciones alrededor del mundo. La tecnología está aun fuera del alcance de mucha gente, debido a su complejidad o coste, o simplemente no tienen acceso. Espero que penséis en como hacer posible que el poder de la tecnología esté disponible para todos, para conectar a todos y hacer que la informática de consumo esté disponible en todos lados así como la noción de lo que un PC ofrece.

Hemos logrado muchas cosas juntos durante nuestros primeros cuarenta años y hemos ayudado a incontables empresas y personal a alcanzar su máximo potencial. Pero lo que ahora importa es que vamos a hacer después. Gracias por hacer de Microsoft una gran compañía ahora y durante las próximas décadas.

Fuente | NeoWin

http://www.microsoftinsider.es/66853/bill-gates-escribe-a-los-empleados-de-microsoft-por-el-40-cumpleanos/

¿Qué es un Algoritmo?

Más información ==>  https://m.facebook.com/story.php?story_fbid=779713015547334&id=332220556963251