2009-10-15 10 views
6

Quiero aprender un marco que promueva buenas prácticas de programación y sea respetado por la comunidad de programación.¿Qué marco web para alguien que quiere un trabajo?

Sin embargo, también quiero un marco que pueda usar para un trabajo diario.

¿Cuál recomendaría usted?

Esta pregunta viene de mi experiencia de aprender los principios básicos de Django, ya que fue muy aclamado por los desarrolladores en Stack Overflow y Hacker News. Sin embargo ... casi no hay trabajos en mi área (NYC) que pidan desarrolladores de Django.

+6

lamentablemente, las "buenas prácticas de programación" y el "trabajo diario" no se superponen en ningún lado. cerca tanto como quisiéramos –

Respuesta

18

Como miembro de ASP.NET desde hace mucho tiempo, recientemente he pasado por un proceso de decisión similar para averiguar qué otros marcos web debo probar. Esto es lo que he aprendido hasta ahora que pueden aplicarse a su caso también:

  • opciones de marco/platofrm (y por tanto las oportunidades de trabajo) son altamente regional-- el mercado de trabajo Área de la Bahía se diferencia mucho de lo que encontrará en Nueva York , Chicago, Montreal o Londres. Mire los listados de trabajo locales (craigslist y de hecho son buenos lugares para comenzar) para tener una buena idea de lo que está en demanda.
  • del mismo modo, el uso varía mucho en función del tamaño y el tipo de empresa. Si desea obtener un trabajo en una compañía grande, Spring MVC y ASP.NET MVC pueden ser sus mejores opciones. En las pequeñas empresas, DJango y (especialmente) Rails parecen estar en aumento.
  • el uso también a veces varía según la industria. por ejemplo, muchas aplicaciones de recursos humanos parecen estar basadas en .NET, mientras que las aplicaciones financieras/bancarias parecen favorecer a Java. si desea trabajar en una industria en particular, revise qué empresas prometedoras en esa industria están utilizando.
  • al invertir su escaso tiempo en aprender algo nuevo, favorecer las tecnologías que están en la fase ascendente de la curva de adopción (por ejemplo, Rails) en lugar de marcos con una adopción más amplia que puede no crecer tan rápido. También tenga cuidado con los marcos muy tempranos o de nicho que nunca podrán obtener amplia adopción.
  • el hilo común entre la mayoría (o casi todos) de los frameworks que ganan popularidad es que son frameworks MVC y se basan en gran medida en una comprensión sólida de REST. Aprender esos conceptos en profundidad es una buena idea.
  • antes de decidirse a invertir lote del tiempo en un marco, obtener una comprensión básica de varios de ellos, para que pueda obtener una idea razonable de lo que le gusta y no hacer con cada uno de ellos, por lo que si finaliza Al solicitar un trabajo utilizando un marco que no has aprendido, al menos podrás hablar inteligentemente al respecto.
  • Si te enfocas en lo que disfrutas, estarás más motivado para aprenderlo. Por ejemplo, personalmente encontré que Rails (independientemente de las oportunidades de empleo) era más interesante que Spring o Django, así que decidí centrarme primero en Rails. Otros pueden tener impresiones diferentes. Siga sus instintos de programador. Dicho esto, a menudo hay pocos trabajos que utilizan tecnologías que te parecen fascinantes, así que trata de encontrar el equilibrio adecuado: ¡la tecnología que te gusta que muchas compañías están realmente contratando a personas para que usen!
  • una vez que responda la pregunta básica de "qué estructura", hay muchas más preguntas al acecho, como elegir un marco de JavaScript, un marco de validación, un ORM, etc. No se preocupe demasiado por esas opciones todavía-- al comenzar, solo elija la implementación predeterminada para su marco. Pero a medida que avanzas más, el mismo argumento sobre los marcos también es válido para esas otras cosas, por ej. es útil conocer algunos ORM.

En lo personal, me decidí por este enfoque:

  • continuar construyendo cosas en lo que sabía mejor (ASP.NET), pero todo el trabajo de transición a ASP.NET MVC, en el que puedo entender mejor MVC y REST conceptos que se aplican multiplataforma
  • aprender jQuery (de nuevo, plataforma neutral)
  • golpe de la elección ORM alltogether por ahora-- también muchas otras cosas de qué preocuparse
  • construir algunos proyectos en los carriles, que es el marco k Veo más usado en las nuevas empresas de SF-Bay-Area que he estado buscando
  • conozco los conceptos básicos (p. lea un libro o dos, pruebe algunas muestras) sobre Python/Django, Java/Spring y Groovy/Grails.
+0

¡Mucha información aquí, gracias! – volni

+0

MUCHO * en serio ... – RominaV

2

¿Has probado Spring MVC? Muchas empresas usan Java para aplicaciones web (o .NET) y aplicaciones basadas en servicios web.

3

probablemente diría ASP.NET MVC. Siempre veo muchos trabajos .NET y parece ser un marco sólido que creo que de hecho alimenta a toda la familia de stackoverflow. Como desarrollador de PHP, también debo mencionar Zend Framework, que es utilizado por varios sitios grandes, incluido bbc.co.uk, y ahora se menciona con frecuencia en los anuncios de trabajos PHP.

+0

Hay muchos trabajos .NET pero no están usando el framework MVC. Los desarrolladores tienden a huir de la vieja escuela .NET, al menos de los que he hablado.Han abandonado el barco a Django o Rails, parece que hay algo de miedo en los viejos. –

3

He encontrado proyectos reales en empresas geniales y pequeñas que usan Django, Ruby on Rails y (¡hasta ahora!) Incluso Zope. .NET es para teletubbies: solo he escuchado que las grandes corporaciones que no lo conocen lo utilizan.

+2

Acepto que el uso de .NET es relativamente inusual en pequeñas startups cercanas a donde vivo (aunque varía según la industria). Dicho esto, las excepciones son comunes. Por ejemplo, recientemente escuché acerca de una startup local que ejecuta un popular sitio web en .NET donde los desarrolladores pueden formular preguntas de codificación y obtener respuestas rápidas. Ahora si solo pudiera recordar qué sitio fue ... ¿Alguien sabe? :-) –

3

Yo diría que conocer dos o tres es mejor que conocer uno que sea ampliamente utilizado porque comprenderá mejor cómo funciona como concepto. Por ejemplo, si solo ha usado Java, probablemente haya algo que le hace falta en su comprensión de OOP, porque está obsesionado con el pensamiento de una manera. Si ya conoces a Django, es probable que Spring sea un buen cumplido para eso.

0

.NET y Java son, con mucho, las 2 plataformas más grandes utilizadas por los empleadores, y por lo tanto las más solicitadas cuando se busca un trabajo. Java tiene algunos frameworks populares, con JSF, Spring MVC y Struts que parecen tener la misma demanda. No uso .NET, pero por lo que he visto, ASP.NET y ASP.NET MVC son los más importantes.

3

Quiero aprender un marco que promueva buenas prácticas de programación y sea respetado por la comunidad de programación. Sin embargo, también quiero un marco que pueda usar para un trabajo diario.

Siento ser el portador de malas noticias aquí, pero esos dos deseos tienden a entrar en conflicto. En mi humilde opinión, la mayoría de los gerentes de negocios tienden a buscar (feo) un rápido desarrollo sobre los CRM u otras bases de código de terceros de más alto nivel. La construcción de sitios web elegantes desde cero ocurre principalmente en startups, o en verdaderas compañías web donde el sitio web es el único producto. No hay muchas de esas compañías; y muchos de los que parecen encajar son en realidad un desastre interno, es decir, debido a la presión del tiempo, al código legado desordenado y a muchas otras razones por las que a menudo no escribes de acuerdo con "buenas prácticas de programación".

Estoy de acuerdo con Kaleb Brasee en que Java y .NET son las dos plataformas principales cuando la disponibilidad de trabajo es una prioridad.

Cada mercado de trabajo es único, así que busque ofertas de trabajo en su área, o llame a un puñado de reclutadores y pregunte qué es lo que necesitan/podría ubicarlo fácilmente en una posición junior. Lo que veo es que Microsoft Sharepoint tiene demanda, y algunos otros CMS regionales están en demanda (en Dinamarca veo Sitecore regularmente).

Creo que ASP.NET MVC 2.0 junto con MVC Areas y tendrán una buena historia, una buena solución para muchos de los jefes que desean un desarrollo rápido. Y creo que el código resultante podría estar bastante bien, o al menos no estar mal en comparación con muchos de los sitios "CMS golpeados en otra cosa" que existen. Pero esto es algo completamente nuevo para la plataforma .NET, y deberá venderse primero a los responsables de la toma de decisiones ...

En pocas palabras: si quiere seguridad en el empleo antes que nada, mire en grande CMS como Sharepoint, y trabaja en otras tecnologías en tu tiempo libre. Opcionalmente, podría tomar un trabajo en una empresa de inicio/web más adelante; pero mira antes de saltar.

2

Como mencionó Ruby on Rails, es posible que desee aprender Ruby on Rails. Tiene algunas buenas prácticas de programación y una arquitectura muy bien pensada. La propia comunidad de Ruby también (en mi opinión personal) ha creado marcos muy innovadores y muy a favor de las pruebas y la calidad. Puede ver esto en el innovador marco de prueba como Cucumber, webrat, shoulda, coulda, rspec, test/spec. Muchas startups también usan Rails como su plataforma, por lo que debería ser más fácil para usted obtener un trabajo. Puede comenzar a mirar Working With Rails y 37signals job board. Entonces, hay un buen ecosistema dentro de la comunidad de Rails y Ruby.

Pero la desventaja de Rails en comparación con Django es principalmente que hay demasiada magia (menos explícita) y los documentos no son tan buenos como Django. Si desea obtener un trabajo en Django, intente buscar en varios sitios de noticias porque Django creció en un sitio de periódicos, por lo que es adoptado mucho en sitios basados ​​en noticias.

2

Recomendaría ASP.NET MVC, Ruby on Rails o Python/Django, todos parecen ser populares y exitosos, y se basan en el paradigma MVC que es sin duda la herramienta adecuada para el trabajo cuando se trata de web.

0

Diría que la mayoría de los marcos mencionados aquí promueven buenas prácticas. ¡Pero eso no necesariamente significa que las compañías que usan esos marcos realmente sigan esas buenas prácticas! De hecho, lo más probable es que no. Entonces no esperes demasiado.

Mire, lugares como Stack Overflow, Hacker News, etc. son una excelente forma de conectarse con personas que realmente se preocupan por su oficio. Lamentablemente, esto es una minoría. Hay millones de programadores en el mundo. La mayoría de ellos apestan. El código que escriben apesta. No les importa No están interesados ​​en mejorar sus habilidades. Solo quieren aprender el mínimo indispensable para cobrar su sueldo, ir a casa, alimentar al perro, pasar un tiempo con la familia, ver un poco de televisión, irse a la cama y hacerlo todo de nuevo al día siguiente.

Bien, eso fue un poco duro :) Lo que quiero decir es que probablemente sea mejor que haga esta pregunta a algunos de los gerentes de las empresas donde le gustaría trabajar. Creo que la mayoría de ellos responderá a .NET o Java. Si te gusta reír, pregúntales por qué eligieron esa tecnología en particular y ve cuántas palabras de moda les lanzan;)

Cuestiones relacionadas