What is the web structure for those who want to work?

I want to learn a framework that promotes good programming practice and is respected by the development community.

However, I also want to create a framework that I can use for daytime work.

Which one would you recommend?

This question comes from my experience in learning the basics of Django, as it was highly praised by the developers at Qaru and Hacker News. However ... in my area (New York) there are practically no jobs that Django developers are asking for.

+6
django ruby-on-rails frameworks web-frameworks
source share
10 answers

As a long-time ASP.NET guy, I recently went through a similar decision process to figure out what other web frameworks I should try. Here is what I have learned so far that may apply to your case:

  • the platofrm framework / choice (and therefore job opportunities) is very regional - the job market in the Bay Area is very different from what you find in New York, Chicago, Montreal or London. Look at local job listings (Craigslist and really good places to start) to get a good sense of what is in demand.
  • Similarly, use varies by size and type of company. if you want to get a job in a large company, Spring MVC and ASP.NET MVC may be your best bet. At smaller companies, DJango and (especially) Rails seem to be on the rise.
  • Usage also sometimes depends on the industry. For example, many HR applications seem to be .NET-based, and financial / banking applications seem to prefer Java. If you want to work in a specific industry, check out what modern companies in this industry use.
  • When investing your scarce time in learning something new, prefer technologies that are on the rise of the adoption curve (like Rails), rather than frameworks with wider adoption that might not grow so fast. Also be careful with very early or niche structures that may never be widely used.
  • One common thread between most (or almost all) of the most popular frameworks is that they are MVC frameworks and rely heavily on a solid understanding of REST. Studying these concepts in depth is a good idea.
  • before deciding to invest a lot of time in one structure, get a basic understanding of several of them, so that you can get a reasonable idea of ​​what you like and not everyone - and therefore, if you end up working with a framework, which you have not studied, at least you can reasonably talk about it.
  • If you focus on what you like, you will be more motivated to study it. For example, I personally found Rails (no job opportunities) more interesting than Spring or Django, so I decided to focus on Rails first. Others may have different experiences - follow your programmer instincts. However, there are often several jobs using technologies that you find fascinating, so try to find the right balance: the technologies you like, many companies actually hire people to use!
  • After you answer the basic question "what framework", there are many more questions, including the choice of JavaScript structure, validation framework, ORM, etc. Don't worry too much about these options - when you start, just choose the standard implementation for your structure. But as you become more advanced, the same argument with respect to frameworks also holds for other things - for example, it is useful to know several ORMs.

Personally, I decided on this approach:

  • Keep building things in what I knew best (ASP.NET), but will go all the work in ASP.NET MVC, where I can better understand the concepts of MVC and REST that apply cross-platform
  • learn jQuery (again, neutral platform)
  • blow away the ORM alltogether choice at the moment - there are too many other things to worry about
  • create some of the projects in Rails that I use the most in the new SF-Bay-Area launches that I have been looking at
  • learn the basics (for example, read one or two books, try some examples) about Python / Django, Java / Spring and Groovy / Grails.
+18
source share

I would say ASP.NET MVC. I always see a lot of .NET jobs, and it seems like a solid structure that, in my opinion, actually supports the entire stackoverflow collection. As a PHP developer, I should also mention the Zend Framework, which is used by a number of large sites, including bbc.co.uk, and now often mentioned in advertisements for PHP jobs.

+3
source share

I came across real projects in cool small companies using Django, Ruby on Rails, and (eiuw!) Even Zope..NET is for teletubbies - I just heard that it is used by large corporations that don't know better.

+3
source share

I would say that knowing two or three is better than knowing what is widely used, because you better understand how this works as a concept. For example, if you were just using Java, there is something in your understanding of OOP that is probably not in your view, because you thought about it in one way. If you already know Django, although you are Spring, probably would be a good addition to this.

+3
source share

I want to learn a framework that promotes good programming practice and is respected by the development community. However, I also want to create a framework that I can use for daytime work.

Sorry to be the bearer of bad news here, but these two desires tend to conflict. IMHO, most business managers tend to go (ugly) rapid development on top of CRM or another higher level Third-party code bases. The creation of elegant websites from the very beginning takes place mainly in startups or real web companies, where a website is the only product. There are not many such companies; and many of those that seem appropriate are actually a mess inside, i.e. due to temporary pressure, dirty code from outdated code, and many other reasons why you often cannot write according to β€œgood programming practice”.

I agree with Kaleb Brasee that Java and .NET are the two main platforms when job access is a priority.

Each labor market is unique, so look at the vacancies in your area or call several recruiters and ask what they see as necessary / can easily place you in a junior position. I see that Microsoft Sharepoint is in demand, and some other regional CMSs are in demand (in Denmark I regularly see Sitecore).

I think that ASP.NET MVC 2.0 along with MVC Areas and ASP.NET Dynamic Data will have a good history, a good solution for many of those bosses who want fast development. And I think that the resulting code can be quite normal, or at least not bad, compared to many existing CMS sites that were beaten into something else. But this is a completely new thing for the .NET platform, and it will need to be sold to decision makers first ...

Bottom line: if you want to ensure work safety first of all, look at a large CMS, such as Sharepoint, and work on other technologies in your free time. Perhaps you could get a job at startup / web company later; but look before you jump.

+3
source share

Have you tried Spring MVC? Many companies use Java for web applications (or .NET) and web services applications.

+2
source share

Since you mentioned Ruby on Rails, you might need to learn Ruby on Rails. It has good programming practice and a very thoughtful architecture. The Ruby community has also (in my personal opinion) created a very innovative framework and praised testing and quality. You can see this thanks to an innovative testing platform such as Cucumber, webrat, shoulda, cana, rspec, test / spec. Many startups also use Rails as their platform, so it should be easier for you to get the job done. You can start viewing Work with rails and a bulletin board 37signals . Thus, Rails and Ruby have a good ecosystem.

But the drawback of Rails compared to Django is that it has too much magic (less explicit), and the documents are not as good as Django. If you want to get a job for Django, try looking at a few news sites because Django has grown from a newspaper site, which is why it has been adopted on news sites.

+2
source share

I would recommend ASP.NET MVC, Ruby on Rails, or Python / Django, they all seem to be popular and successful, and are based on the MVC paradigm, which is certainly the right tool to work when it comes to the Internet.

+2
source share

.NET and Java today are the 2 largest platforms used by employers, and, therefore, the most sought after job search. Java has several popular frameworks, with JSF, Spring MVC, and Struts all seem pretty much the same on demand. I do not use .NET, but from what I saw, the main ones are ASP.NET and ASP.NET MVC.

0
source share

I would say that most of the frameworks mentioned here contribute to best practices. But this does not necessarily mean that companies using this framework actually follow these good practices! In fact, most likely not. Therefore, do not expect too much.

You see places like stack overflow, Hacker news, etc. - A great way to connect with people who really care about their craft. Unfortunately, this is a minority. There are millions of programmers in the world. Most of them suck. The code they write sucks. They do not care. They are not interested in improving their skills. They just want to find out the minimum minimum necessary to collect salaries, go home, feed the dog, spend some time with the family, watch TV, go too early and do it again the next day.

Well, that was a little rude :) What I get is that you are probably better off asking this question to some managers in companies where you would like to work. I assume most of them will answer .NET or Java. If you want to laugh, ask them why they chose this technology over something else, and see how many have been thrown at you;)

0
source share

All Articles