Consejo profesional: quédese con PHP o comience una nueva carrera en otra cosa (.Net?) [Cerrado]

34

Estoy planeando mudarme a Nueva York en 6-12 meses como máximo, así que me veo obligado a encontrar un nuevo trabajo. Cuando estoy planeando comenzar mi vida en otra ciudad, probablemente también sea un buen momento para pensar en los cambios de carrera.

He encontrado muchas opiniones diferentes sobre PHP vs .Net vs Java y este no es el tema aquí. No quiero comenzar una nueva pelea sobre qué idioma es mejor. Conocer un lenguaje de programación no es lo más importante para ser un desarrollador de software. Para ser un desarrollador realmente bueno, necesita conocer POO, patrones de diseño, pruebas ... y un lenguaje es solo una herramienta para hacer que las cosas sucedan.

Volviendo a mi pregunta. Tengo una experiencia mixta en TI: 1 año como técnico de soporte de TI (administración y soporte de Windows), alrededor de 2 años de experiencia en programación integrada (VB.Net 2005) y durante los últimos 2 años estoy trabajando con PHP / MySQL. Trabajé con la tienda web Magento, asistí en algunos proyectos en Symfony, modifiqué algunos sitios de Drupal.

Mis principales preocupaciones son las siguientes:

  1. ¿Continúo mejorando mis habilidades en PHP, por ejemplo, para comenzar a aprender algunos marcos PHP importantes como Zend, Symfony tal vez obtenga alguna certificación PHP?
  2. ¿O empiezo a aprender .NET o Java? Estoy más familiarizado con .NET, así que probablemente lo elija si la elección cae entre .NET y Java (o podría convencerme de elegir Java :).

En cuanto a la carrera, no sé cuál es la mejor opción. Aprender un nuevo marco y lenguaje requiere más tiempo que mejorar mis habilidades existentes en PHP. Pero con .NET tiene muchas posibilidades (desarrollo de Windows 7 Phone, Silverlight, WPF) y posiblemente mayores posibilidades de encontrar mejores trabajos.

Los trabajos PHP están peor pagados que .NET, al menos, según mi investigación (corrígeme si me equivoco). Pero si empiezo ahora con .NET, soy solo un principiante y mi salario será bajo. Necesito al menos más de 2 años de experiencia en algún idioma para tratar de encontrar un trabajo que pague más de $ 50-60k en Nueva York. Mi objetivo principal en los próximos 2-3 años es tratar de encontrar un trabajo en la categoría de $ 60-80k. No me malinterpretes, no solo estoy persiguiendo dinero, sino que el dinero es un factor importante cuando intentas formar una familia.

Tengo 27 años y siento que no hay mucho espacio para tomar decisiones equivocadas con respecto a mi carrera, por lo que cualquier consejo será bienvenido.

Actualizar

Gracias a todos por dedicar tiempo a ayudarme con mi problema. Todas las respuestas y comentarios han sido muy útiles. He decidido seguir con PHP, pero también aprender C # y Silverlight 4. Veremos a dónde me llevará la vida.

Christian P
fuente
Aprende ambos. Comience un proyecto en cada uno. No toma tanto tiempo.
systemovich
Prueba Code Igniter. Es super fácil de aprender y está bien documentado.
B Seven
2
No hay daño en aprender 2-3 idiomas.
Rudy
Dado que esto fue golpeado por alguien, tengo que preguntar: ¿VB.NET integrado? ..
Simon Whitehead
@SimonWhitehead no está incrustado exactamente, pero no pude encontrar una mejor palabra para explicarlo. Era una aplicación escrita en VB.NET para una pieza de hardware industrial (hecha por mis compañeros de trabajo y yo) que se comunicaba con dos DAC (tarjetas de adquisición de datos).
Christian P

Respuestas:

64

Tengo 51 años y he usado al menos 15 idiomas y / o marcos desde que obtuve mi primer concierto después de graduarme en 1987.

Salud.

Nunca entré a la gerencia porque no quería hacerlo, pero sé cómo programar y sé cómo mantener a los equipos motivados y entregar un buen código. Necesita trabajar en las habilidades de las personas y buscar un trabajo interesante que lo estire. Nunca dejé de aprender o divertirme, pero hubo momentos en que estaba en el camino que podría haber hecho para parar, pero no para codificar, viajar.

Mientras pueda ganarse la vida y cumplir con sus compromisos personales sin comprometer sus principios, siempre y cuando disfrute de lo que hace (un lujo que la generación de mis padres no tenía) simplemente continúe.

.Net y Java son generalmente corporativos (porque son caros para hacer cosas útiles, pero escalan muy bien), PHP generalmente es startup, yo hago Ruby (generalmente startups que salieron de los estudios de diseño por alguna razón) para mucha gente como independiente Si te quedas con PHP, aprende las cosas de OO, porque creo que finalmente comenzará a ser la forma en que las personas hacen las cosas, a pesar de que es una reimplementación ligeramente mejor de lo que tienes con Java y podrían haberlo hecho mucho más dinámico. Las personas que hacen Python y quieren viajar pueden terminar haciendo todo tipo de cosas científicas y de juegos interesantes en todo el mundo. Perl sigue siendo un corredor también y tiene un perfil similar.

Olvídate del idioma, la selección y la industria que te gusta, elige una empresa administrada por seres humanos y diviértete entregando valor a las personas que lo aprecian. No te arrepentirás.

Francis Fish
fuente
99
PHP es muy débil en OO. Comenzó como un lenguaje de plantilla y se nota.
Keyo
55
@Keyou, no significa que no debas impulsar el uso de las funciones de php OO, ya que lleva el lenguaje a otro nivel :)
jonathan
@Keyo Quién dijo que PHP es débil en OO para su información PHP OO ahora está muy cerca de Java Vea PHP5.5 y sigue mejorando
Hmmm
120

¿Qué tiene que ver la elección del lenguaje de programación con tu carrera?

Esta pregunta es como preguntar: "Tengo dos opciones para un lugar para trabajar. ¿Debería trabajar en la que el jefe tiene acento noruego o la que tiene acento español?"

Hay consideraciones de carrera mucho más importantes.

  1. ¿Empresa nueva o establecida?
  2. ¿Compañía de productos o compañía donde TI es una función de soporte?
  3. ¿Aprenderás cosas nuevas o repasarás las viejas?
  4. 9 a 5 o "¿trabaja las 80 horas que desee?"
  5. ¿Buenos compañeros de trabajo o malos compañeros de trabajo?
  6. ¿Compañeros inteligentes o compañeros estúpidos?
  7. ¿Traje y corbata o camiseta?

Esta lista podría continuar por horas. La elección de un lenguaje de programación es tan relevante para la carrera de un programador como la elección de peinarse hacia la izquierda o hacia la derecha. Todo es desarrollo de software, sin importar el dialecto del lenguaje de programación que esté hablando.

Joel Spolsky
fuente
19
Usted tiene un punto. Pero el tipo de lenguaje de programación en la mayoría de los casos está estrechamente relacionado con el perfil de la empresa. En mi opinión, el PHP se usa principalmente en empresas de nueva creación y las principales empresas establecidas utilizan .NET para su desarrollo.
Christian P
29
la verdadera respuesta: pase unos meses ganando una reputación de desbordamiento de pila de cinco dígitos, y recibirá ofertas de trabajo en el rango de $ 100K + sin una entrevista.
Joel Spolsky
37
@Joel: por mucho que me encante StackOverflow (y estando a pocas semanas de alcanzar una reputación de cinco dígitos solo por diversión), si alguna vez recibo una oferta de trabajo de 100K por eso, te compraré una cerveza :-)
Diego Mijelshon
25
Para algunas personas, el lenguaje tiene todo que ver con su carrera. Me encantaría trabajar para muchas grandes empresas, pero no a expensas de escribir un idioma que me frustraría / reduciría la productividad. No estoy diciendo que solo estoy contento escribiendo un idioma, pero definitivamente hay idiomas que no me gustaría codificar a tiempo completo, y sería estúpido para mí aceptar un trabajo, por ejemplo, con la escritura flexible. Objetivo- C sobre un trabajo de 9-5 escribiendo C #. Puede que no comparta esta opinión, está bien. Pero no asumas que los programadores que lo hacen son idiotas. Tu lista de consideraciones importantes es tuya .
Danny Tuppeny el
39
@Joel. ¿Puedo tener un trabajo de 100K? Tengo un representante de 5 dígitos y actualmente estoy desempleado.
aaronasterling
23

Aprenda tantos idiomas como pueda, preferiblemente al menos uno de cada área principal de desarrollo.

  • Lenguajes de programación con secuencias de comandos (ya tiene PHP, pruebe Ruby, Python u otra cosa)
  • Compilado en lenguajes de máquinas virtuales con marcos enriquecidos: .Net, Mono, Java
  • Compilado en metal desnudo: C / C ++
  • Lenguajes funcionales: Lisp, F #, Haskell

Cada uno de estos le enseñará algo sobre los fundamentos del desarrollo de software. Por supuesto, además de eso, necesitará experimentar diferentes enfoques de diseño (OO, funcional, basado en datos), diferentes métodos de trabajo en equipo (ágil, tdd, en comparación con tipos más rígidos), diferentes plataformas, diferentes mecanismos de implementación (nativo , basado en framework, web). La lista continua. La fluidez del idioma es solo una pequeña parte del todo.

Para todas estas cosas, debe hacer al menos un producto real que los use para ser competente.

Algunas personas le dirán que necesita especializarse en una tecnología (PHP, .Net, Java) y desarrollar una carrera en gran medida en torno a esa para progresar. No estoy de acuerdo con esto en absoluto. Tomaré un desarrollador que ha estado alrededor del bloque varias veces con diferentes plataformas y tecnologías en una que ha pasado 10 años haciendo algo cualquier día de la semana. La razón es que la tecnología cambia cada año, y el desarrollador que es capaz de elegir una nueva tecnología, leer la API y aplicar su experiencia de una manera más general que simplemente conocer las funciones de la biblioteca de memoria, será mucho más productivo en el a largo plazo. Ok, entonces ese veterano .Net de 10 años estará fuera de los bloques de salida en .Net más rápido, pero esa ventaja inicial se pierde en aproximadamente un mes. Eso'

Steve Streeting
fuente
3
También agregaría a su lista, lenguajes lógicos (Prolog), lenguajes matemáticos (que son un subconjunto de funcional como regla) (Mathematica, R), lenguajes prefijo / postfix (PS, Forth), ensamblador y hardware (para FPGA y similares).
Orbling
8
Estoy de acuerdo ... es divertido aprender nuevos idiomas. Pero cuando intenta mejorar su conocimiento general de desarrollo de software mientras aprende un nuevo marco PHP y un lenguaje adicional (C #) que desea usar en el futuro, aprender nuevos idiomas por diversión no es una opción o al menos no es una opción sin grandes sacrificios en otras partes de tu vida.
Christian P
44
Estoy de acuerdo Christian, esta respuesta es un poco extrema. Pero quizás la conclusión de esta respuesta no debería ser: "Aprende un montón de idiomas nuevos ahora mismo o simplemente puedes despedirte de tus sueños". Más bien debería ser: "Sí, debería intentar conseguir un trabajo en un idioma que no conoce, porque es una mejor inversión profesional a largo plazo". Además, es la mejor manera de dominar realmente un idioma.
Neil Traft el
1
@Orbling: tienes razón, la lista no estaba completa, solo elegí las principales 'carreras' para evitar que se convierta en una lista demasiado desalentadora;)
Steve Streeting
3
En cuanto al extremo: no te sugería que aprendieras todos estos idiomas en un año :) Dado que la pregunta era en el contexto de una carrera, no creo que esto sea poco realista. Todos tenemos que asumir la responsabilidad de nuestro propio desarrollo profesional, e incluso si haces un proyecto de pasatiempo en un año utilizando una tecnología que no has usado antes, te será de gran ayuda. El código abierto es una excelente manera de hacer esto también, porque significa que puede participar en un proyecto real sin comenzar desde cero y obtener ayuda de sus pares en la comunidad.
Steve Streeting
7

Sugeriría buscar un trabajo PHP porque eso es lo que mejor haces.

También te sugiero que comiences a educarte en las nuevas tecnologías que quieres aprender para que eventualmente puedas comenzar a buscar trabajo usando esas, pero no lo hagas en un plazo tan corto porque encontrarás que estas cosas son enormes y los empleadores esperan que conozcas lo suficiente de estos gigantes para ser productivo. Eso requiere tiempo y práctica . No subestimes la cantidad de tiempo y la cantidad de práctica que tendrás que hacer.

Para darle una estimación de lo que el potencial empleado "puedo programar en Java" debería ser capaz, puede echar un vistazo al Tutorial Sun Java . Espero que esté familiarizado con al menos la mitad de los conceptos enumerados, donde familiar significa poder usarlo en un programa escrito por usted y usarlo correctamente . Esperaría que tome más de 6 meses de tiempo libre estudiando para alcanzar ese nivel.


fuente
77
¿6 meses? ¿De Verdad? El tipo de programadores que contrato aprenden el idioma y la plataforma en su primera semana en el trabajo, por lo que NUNCA me importa el idioma que alguien sabe cuando solicitan un trabajo en Stack Overflow o Fog Creek.
Joel Spolsky
44
@ Joel, ten en cuenta que estoy hablando de recoger cosas en tu tiempo libre . Solo, sin un mentor alrededor. Esta podría no ser una manera tan eficiente de aprender cosas nuevas como estar físicamente en sus oficinas con usted y sus empleados cerca ... ¿Quizás quiera contratar a christian.p para demostrar que estoy equivocado?
3
@Joel Cuando su aplicación está escrita en su propio idioma creado a medida, no tiene muchas opciones, ¡eh! ;-)
Darrel Miller el
3
@Orbling. ¿No es un poco fácil para ellos? ¿Por qué no algo como "por favor encuentre y corrija el error en este código de producción de BrainF * ck! Mis 5 colegas y yo lo observaremos y calcularemos cuánto tiempo le llevará".
55
@Joel: sospecho que cuando Christian esté buscando un nuevo trabajo en una nueva ciudad, encontrará que no todos los empleadores son tan independientes del idioma como usted en Stack Overflow / Fog Creek. De hecho, me arriesgaría a adivinar que, lejos de no importarle los idiomas que sabe, el 95% o más arrojará su currículum al instante si no coincide con las palabras clave correctas.
Carson63000
6

Odio parecer un troll, pero el idioma que debes aprender es el inglés. Hay un montón de errores en tu publicación y eso se ve descuidado. Si estuviera contratando y ese fuera tu currículum, no me importaría qué lenguajes de programación dijiste que sabías, asumiría que tu descuido con el idioma inglés se trasladaría a tu trabajo de programación.

No parecía que vienes al inglés como segundo idioma (por supuesto, podría estar equivocado), pero hubo suficientes errores gramaticales y ortográficos para detener a la mayoría de los gerentes de contratación. Como solo van a ver tu palabra escrita al principio, debes arreglarla.

Doug Johnson-Cookloose
fuente
66
Está fuera de tema, pero gracias por el aviso. El inglés es de hecho mi segundo idioma. Lo creas o no (o tal vez sea obvio para ti) pero aprendí a hablar / hablar inglés solo (sin cursos de idiomas).
Christian P
3
Como es su segundo idioma, le va bien. Obviamente, haga que alguien revise su currículum solo para estar seguro, pero sé que si tuviera que hacer mis comentarios en francés, por ejemplo, no sería tan lúcido y bien redactado como el suyo en inglés. No estaba siendo sarcástico, solo tratando de ser útil. Hay muchos estadounidenses que no se molestan con su ortografía y gramática y les perjudica en el mercado.
Doug Johnson-Cookloose
1
Sé que mi inglés necesita mejoras y estoy haciendo todo lo posible para mejorarlo. Pero estoy agradecido por sus comentarios porque sé que cuando solicito un trabajo es la impresión general lo que importa. Entonces, si mi escritura es descuidada, perjudicará mis posibilidades generales de conseguir un trabajo.
Christian P
1
Érase una vez, si solicitaba un trabajo a través de un reclutador, se tomarían el tiempo para pulir su currículum y asegurarse de que la ortografía, la gramática y el estilo general fueran correctos. Pero recientemente he estado entrevistando a algunos candidatos, y parece que los reclutadores ya no se molestan, simplemente pegan su logotipo en la esquina superior derecha y envían el currículum. Por lo tanto, le recomiendo que busque un amigo en el que confíe para revisar su currículum y cartas / correos electrónicos de solicitud.
Carson63000
1
@ Carson63000 Mi experiencia de contratación a través de reclutadores es que cuando intentan "ayudar" a menudo hacen un desastre completo de los currículums de los candidatos. Como resultado, tuve que darles a los candidatos con CV descuidado el beneficio de la duda. Dada la opción, habría eliminado por completo a los idiotas reclutadores de la ecuación.
Daniel Cassidy
5

La respuesta a largo plazo a esta pregunta es básicamente lo que dijeron nuestro estimado anfitrión (Joel Spolsky) y Steve Streeting. La programación en su núcleo no se trata de idiomas, se trata de usar la computadora para resolver problemas, y es un oficio que se debe aprender, trabajar y pensar con el tiempo. Saber codificar no hace que uno sea un programador.

Pero preguntaste un tema pragmático y sensible al tiempo ... ¿qué debes hacer AHORA?

Te sugiero que profundices en PHP hasta el movimiento. Profundiza en ello, duro, realmente duro, 20 horas a la semana fuera del trabajo duro. Con PHP es bastante fácil ... obtener una cuenta de hosting y un dominio y comenzar a construir aplicaciones. Con un esfuerzo enfocado, 6 meses es una eternidad. Durante ese tiempo, sé realmente bueno en eso. Esto lo ayudará a encontrar un buen trabajo una vez en Nueva York, y muy probablemente lo convertirá en un mejor programador para arrancar.

Por cierto ... si aún no lo sabía, hay un sitio de empleo de TI en la familia StackExchange.

ENTONCES, cuando la transición de la vida se haya calmado un poco, comience a seguir el libro de jugadas del Sr. Streeting y a aprender sobre el oficio de la programación en lugar del comercio de la codificación. Use algo de tiempo fuera del trabajo para leer y hacer cosas en otras plataformas y con otras herramientas.

tomjedrz
fuente
1

Creo que el punto principal es que, con el tiempo, un ingeniero de software debería llegar al estado en el que el lenguaje es en gran medida irrelevante para la tarea en cuestión, excepto en sus limitaciones.

Si conoces un idioma o no, no debería marcar la diferencia, siempre que tengas un manual, solo para acelerar durante el primer día más o menos mientras te orientas.

Dicho esto, los lenguajes propietarios tienden a tener menos documentación y ejemplos repartidos por la web y, por lo tanto, es más difícil acostumbrarse y plantear un problema si desea llevar su trabajo a casa.

Orbling
fuente
3
El idioma rara vez es difícil. Aprender el ecosistema y las mejores prácticas me lleva bastante tiempo ...
@ Thorbjørn Muy cierto, puede llevar algún tiempo adquirir las mejores prácticas dentro de un idioma. Aunque eso depende mucho de cómo lo aprendas, algunos idiomas son mucho más difíciles de encontrar para encontrar información.
Orbling
1

Mi consejo es encontrar un trabajo haciendo lo que le interesa y disfrutar haciendo. Si disfruta de PHP, ¿por qué no continúa desarrollando sus habilidades de PHP? Es mucho más fácil aprender y desarrollar habilidades para hacer algo que le interesa.

¿Alguna vez has visto .NET o Java antes? De lo contrario, eso podría sugerir que no está interesado en esos idiomas, pero quizás podría pasar una semana más o menos examinándolos y ver si usted está interesado en alguno de ellos.

cspolton
fuente
Estoy familiarizado con Silverlight 4 y C # (también tengo 2 años en VB.NET 2005), esa es la razón principal por la que estoy pensando en cambiarme.
Christian P
1

Término corto; No sé cuáles son las prácticas de contratación en los EE. UU., Pero teniendo en cuenta que se mudará en 6 ~ 12 meses, por el momento, consideraría seguir con PHP ya que tiene dos años de experiencia con él.

Mi experiencia aquí (en los Países Bajos) es que las empresas tienden a centrarse a muy corto plazo en las tecnologías y la experiencia en el marco. El lenguaje realmente no es, incluso si están preguntando " 3 años de experiencia en C # ", quieren decir " 3 años de experiencia con las bibliotecas y herramientas marco / clase que usaría con C # ".

(De lo contrario, no sé por qué quieren contratar a alguien que necesite 3 años para aprender la sintaxis de C # y las características del lenguaje. Parece que alguien a quien no quisiera contratar).

Aprendiendo nuevos idiomas; estático, dinámico, funcional, es de gran valor cuando se trata de ampliar sus perspectivas. Sin embargo, aprender las bibliotecas de clase relevantes y la forma de hacer las cosas en ese idioma requerirá experiencia.

Recomiendo tomar una decisión al elegir una pila de tecnología y aprenderla profundamente. Usa los otros ambientes para inspirarte.

Por supuesto, la preferencia personal también entra en juego. Por ejemplo, aunque hay mucho mercado para ello, nunca aceptaría un trabajo PHP: -PI elegir una pila y buscar trabajo en función de eso.

En cuanto a hacer una carrera, a largo plazo, creo que debería ir más allá de la codificación (al final, todo se trata de aprender y poder leer y / o leer la documentación) y la tecnología del día y analizar más las habilidades blandas y demás. Las tecnologías van y vienen bastante rápido. Por supuesto, hay mucho que aprender cuando se trata de buenas prácticas y conocimientos más generales, desafortunadamente en mi experiencia rara vez se los busca en el mercado laboral.

Joppe
fuente
1

Creo que a menudo las personas mezclan lenguajes de programación y marcos / pilas de tecnología. Es relativamente fácil aprender un nuevo idioma, pero es mucho más difícil con grandes tecnologías. Estoy de acuerdo con algunas respuestas en que lo más importante es su experiencia general de programación / resolución de problemas, pero no creo que nadie pueda ENTENDER una tecnología completamente nueva en 1 semana.

Claro, una gran parte de los desarrolladores nunca han leído un solo libro técnico y no entienden los componentes básicos de las tecnologías que están utilizando. Simplemente logran salir de los problemas y son muy "exitosos". Yo mismo comencé mi carrera en PHP sin siquiera entender cómo funciona HTTP al principio. Pero algunos empleadores, a los que respeto más, esperan una comprensión profunda de "cómo funcionan las cosas", simplemente porque esto tiende a aumentar las posibilidades de éxito de sus proyectos.

Lo mínimo que debe hacer para obtener esta comprensión es leer un par de BUENOS libros con tiempo suficiente para crear prototipos de soluciones a problemas comunes en un nuevo entorno de desarrollo desconocido. ¿Es posible hacerlo en una semana? Me encantaría trabajar con personas que sean capaces de esto, pero no espero ver a esas personas pronto.

Algunos empleadores en realidad están listos para darle tiempo suficiente para obtener esta comprensión, respetando su profunda experiencia técnica general en otras pilas de tecnología (si tiene una), pero desafortunadamente la mayoría no lo es.

Además, cuando está cambiando las tecnologías, lo más importante es su personalidad: la persona humilde y curiosa que es para pasar el tiempo suficiente para comprender cómo funcionan las cosas y cómo se hacen las cosas en su nueva área.

En resumen, mi respuesta sería la siguiente. Elija una tecnología que tenga suficiente potencial y que (lo más importante) lo hará feliz en su trabajo. Especializados en esta tecnología, el mercado laboral valorará esto y pocos años necesarios para obtener su salario objetivo valdrán la pena. Pero nunca seas demasiado celoso, pasa un tiempo con otras tecnologías, te hará un PROFESIONAL mucho mejor en general.

Konstantin
fuente
1

Tengo que estar de acuerdo con Joel. Pero su respuesta va más allá de las habilidades técnicas y las preferencias.

En mi experiencia, generalmente los requisitos de su trabajo lo llevan a una tecnología específica o lenguaje de programación, no lo que le gustaría usar; a menos que sea una startup que aún no haya definido lo que van a usar. Y nadie puede garantizarle que encontrará un trabajo / empresa que utilice exactamente lo que está buscando.

Entonces la verdadera pregunta es: ¿eres bueno aprendiendo cosas nuevas? ¿Puede abordar un problema y resolverlo de manera oportuna sin importar el lenguaje de programación?

Un buen programador debe conocer los conceptos de construcción de software e ingeniería de software. Su pregunta me hace creer que no ha invertido suficiente tiempo para aprenderlos, lo que probablemente lo hace dudar de sus habilidades y cuáles son sus potenciales reales. Y honestamente, si no lo has hecho, es hora de que lo hagas, porque sin ellos probablemente no llegarás lejos.

Hay otra cosa a la que la mayoría de nosotros los programadores no prestamos atención antes de que tengamos más de 30 años: las habilidades de programación son solo la mitad de las habilidades que hacen un buen programador. ¿Eres un buen jugador de equipo? ¿Está dispuesto a transmitir el conocimiento a los compañeros de trabajo tan voluntariamente como está (o debería estar) recibiendo conocimiento de otros? Muchos de nosotros subestimamos las habilidades de las personas, aunque en realidad son muy importantes.

mspir
fuente
1

No estoy de acuerdo con la mayoría de los comentarios que figuran en este foro.

Además de aprender los principios y la teoría de la ingeniería del software, el idioma que elija dominar es una elección de carrera. Es por eso que hay programadores Java y programadores PHP. Los programadores de PHP probablemente no estarán trabajando para la NASA y los programadores de Java probablemente no estarán trabajando para una tienda web.

Si quiere un trabajo en la América corporativa, es mejor que vaya a Java / .Net. Puede obtener buenos ingresos, pero prepárese para donarles su vida (en cuanto al tiempo).

Si quieres ser un profesional independiente y vivir en la vía rápida con la tecnología web, estás mejor con PHP. Mucho trabajo aquí, pero el sueldo varía mucho y ser independiente es trabajar con cada Tom, Dick y Harry con una idea tratando de contratarte por unos centavos.

Hay cierta superposición con PHP y Java, pero solo se ve en trabajos corporativos (servicios REST de Java con front-end de PHP), sin embargo, no encontrará tiendas web o trabajo independiente independiente cerca de Java.

Ambos requieren mucho tiempo y dedicación si quieres ser útil en cualquier situación.

Para ser un desarrollador PHP competente y buscado, necesita una bolsa llena de conjuntos de habilidades. Es probable que sepa CSS, HTML4 / 5 y, definitivamente, Javascript DOM / Ajax / Jquery más al menos un marco viable como Zend (la elección del catador corporativo de Estados Unidos), Codeignitor, cakePHP, etc. y luego usted Necesitará conocer los "tres grandes" CMS: Drupal, Wordpress y Magento. Obtenga estos conjuntos de habilidades en su haber y será un especialista en PHP con la capacidad de conseguir trabajo donde quiera que vaya. Como puede ver, asimilar todo esto es una devoción a un idioma y son herramientas porque aprender Perl no lo ayudará a ser un desarrollador experto de Drupal o Zend.

Lo mismo ocurre con Java: OOP, J2EE, REST / SOAP, Spring / Struts, etc. y es una flota de otras herramientas que lleva años dominar.

¿Alguien aquí intentó codificar Java durante un año y luego volvió a PHP (o cualquier lenguaje de script). Es difícil. Se siente incomodo.

Trabajo para una compañía de Fortune 500 y los desarrolladores de Java no podrían hacer lo que hacen los desarrolladores de PHP y los desarrolladores de PHP no podrían hacer lo que hacen los desarrolladores de Java. Pero a ambos les va bien económicamente porque son especialistas en su campo, su idioma de elección y la variedad de herramientas que lo acompañan.

codificador3
fuente
0

El lenguaje y la plataforma no son tan importantes. Aprende personas sólidas y habilidades de comp. Mucha gente ha dicho esto pero no ha dado detalles, así que déjame hacer eso. Aquí hay algunas cosas para aprender

  • algoritmos y estructuras de datos.
  • concurrencia
  • aprendizaje automático
  • programación a nivel de sistemas
  • recuperación de información y motores de búsqueda
jshen
fuente