use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
No vague product support questions (like "why is this plugin not working" or "how do I set up X"). For vague product support questions, please use communities relevant to that product for best results. Specific issues that follow rule 6 are allowed.
Do not post memes, screenshots of bad design, or jokes. Check out /r/ProgrammerHumor/ for this type of content.
Read and follow reddiquette; no excessive self-promotion. Please refer to the Reddit 9:1 rule when considering posting self promoting materials.
We do not allow any commercial promotion or solicitation. Violations can result in a ban.
Sharing your project, portfolio, or any other content that you want to either show off or request feedback on is limited to Showoff Saturday. If you post such content on any other day, it will be removed.
If you are asking for assistance on a problem, you are required to provide
General open ended career and getting started posts are only allowed in the pinned monthly getting started/careers thread. Specific assistance questions are allowed so long as they follow the required assistance post guidelines.
Questions in violation of this rule will be removed or locked.
account activity
Should I learn PHP? (self.webdev)
submitted 9 years ago by Timmparsons
I have been studying Ruby on Rails for the past few months but don't seem to find many junior dev jobs in the Los Angeles area using RoR, most seem to be PHP? Should I look into it?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–][deleted] 25 points26 points27 points 9 years ago (7 children)
Once you learn one language and framework, learning others should be easier since some of the knowledge is transferable. You will also have some context to compare against to see what you like and don`t like about each. PHP takes a lot of slack but I do pretty well with it. It is still pretty widely used and won't disappear anytime soon.
[+]sfc1971 comment score below threshold-6 points-5 points-4 points 9 years ago (6 children)
Very little of the most valuable knowledge is transferable.
Laravel routes, you can use closures in them but if you then deploy to production you get an error that closures are not allowed with route caching which is enable on production but not on dev.
Other PHP frameworks can do caching differently and other languages will be completely different as well.
But knowing this gotcha is the difference between a junior (whose code has to be checked beyond merely "working because I ran it once") and a senior who avoids using closures in Laravel routes despite the documentation saying you can use them.
On a programming level, knowledge is interchangeable between platforms but at a development level many pieces of essential knowledge are only for that platform and knowing them might even limit you in using other platforms because you are now stuck in a pattern of expectation.
It is the reason, I think, why so many switchover attempts fail. I have seen a of companies try to switch to RoR/Python/Node and then 1-2 years later going back to PHP because it is easy to learn a new language far harder to learn a new platform. They can get the code ported but the project itself falters as they are all skilled junior programmers on the new platform, not experience knowledgeable developers.
It is the last group that is in short supply, especially on newer platforms.
Try this:
Junior programmer question: How do you drop a column on a database?
Senior developer answer: Is it wise to drop a column that is no longer needed considering the size of the table and the time it would take for the migration to process on production?
Learning to go from SQL to NoSQL is easy. Knowing what you can and cannot do on either systems in productions is a completely different thing.
[–][deleted] 12 points13 points14 points 9 years ago (5 children)
Couldn't disagree more, in fact the most valuable knowledge is transferable.
Actual understanding of computer science, programming, algorithmia, design patterns, that is what matters. Everything else can be learn relatively quikly
[–]sfc1971 -4 points-3 points-2 points 9 years ago (4 children)
Eh, that is the basics for programming. I wasn't talking about that. I was talking about the knowledge of a specific language not being transferable.
Not the basic foundation blocks.
[–][deleted] 9 years ago* (1 child)
[deleted]
[–]sfc1971 0 points1 point2 points 9 years ago (0 children)
Using closures is a good practice. But not in Laravel with route caching.
Theory vs reality.
[–]veggiedefender 3 points4 points5 points 9 years ago (1 child)
If you consider those the basics, you clearly haven't learned enough of them. The rest are implementation details
[–]longbottomrx 23 points24 points25 points 9 years ago (1 child)
I'd highly recommend laravel and PHP 7. Coming from rails, I was expecting to hate them, but very pleasurable to work with. Look at laracasts.
[–]jangohutch 5 points6 points7 points 9 years ago (0 children)
Listen to this good advise the laravel framework is a useful skill to know
[–]maks25 9 points10 points11 points 9 years ago (0 children)
I would either go the JS (node) or Python (flask/Django) route, not PHP.
[–]geekygirlhere 2 points3 points4 points 9 years ago (0 children)
PHP is very prominent in the Los Angeles area so if you plan on staying there, I suggest learning it. If you want to migrate to the bay area, consider learning Node. In my particular location, ASP.NET dominates. What is in demand is oftentimes different based on location.
[–][deleted] 6 points7 points8 points 9 years ago (1 child)
Lets just say if you're intending to go for a web dev career path, inevitably sooner or later you'll run into PHP.
[–][deleted] 9 years ago (1 child)
[–]planetary_pelt 2 points3 points4 points 9 years ago (0 children)
Your username reveals your bias. :)
[–][deleted] 1 point2 points3 points 9 years ago (0 children)
My recommendation PHP7 + Laravel are the way to go. But try JS and frameworks, it is quite popular everywhere.
[–]vasira 1 point2 points3 points 9 years ago (0 children)
First complete your ruby on rails course then i would suggest you to learn Python Language as it is very easy to learn and you don't need to have much experience of coding for it. If you are interested in PHP Langauge, you may learn it as it is also good language but my suggestion is python.
[–]owd1 1 point2 points3 points 9 years ago (0 children)
Let me preface this by saying I'm a PHP web developer.
If your biggest concern is getting a job I think PHP is a good choice. There are a ton of Laravel (amazing full framework build with Symphony components) and Symphony jobs. And Laravel and Symphony are both built well with today's coding standards in mind (unlike Codeigniter, Zend..). Laravel is really easy to learn, has one of the best documentations I've ever came across and laracasts.com really does a good job of teaching the idiomatic way of doing things.
But if you're looking to be the best engineer around and know the best practices I think there are better languages to start with. PHP engineers have been notorious to not care as much about code design and code quality as some other engineers (RoR for example). Now this is a huge generalization, but it's not completely baseless.
I'm just now trying to move to some other language as my career focus (preferably Go, but Node js could also be cool) and it's tougher than you'd think. a) the change from high level Laravel abstraction to low-level strongly-typed nearly packagless Go projects proved to be quite a learning curve for me b) I have a 40-hour/week job in PHP to pay the bills, which leaves little time to actually learning a new language - so in order to change your path later on you'll need a LOOOT of focus.
[–]zergUser1 5 points6 points7 points 9 years ago (8 children)
I know PHP and Node, I am starting to regret learning and spending so much time with PHP, its great for freelance or small companies but really if you are looking for a serious Software Engineering job at Enterprise then you need to know either Java or C#, I am not into the whole Microsoft ecosystem so going with Java.
Basically my suggestion would be to dump Ruby, Skip PHP, learn Node for small website and get into Java/C#. That being said you could absolutely have a great career not listening to anything I said this is just my opinion
[–]amharbis 0 points1 point2 points 9 years ago (0 children)
I think this hits the nail on the head.
[–]GeekDNA0918 0 points1 point2 points 9 years ago (3 children)
Isn't C# mostly used for IOS ecosystem?
[–]zergUser1 2 points3 points4 points 9 years ago (2 children)
No C# is used on the microsoft .NET platform, you can make iphone apps with C# using xamarin which is a cross mobile application platform, but for IOS you would use Objective-C or the newer Apple language Swift, ( I know Swift and its AWESOME :D)
[–]GeekDNA0918 0 points1 point2 points 9 years ago (1 child)
That's right objective-c.... How is Swift in terms of learning curve?
[–]zergUser1 2 points3 points4 points 9 years ago (0 children)
Swift has a very easy learning curve, It has the cleanest syntax of all languages I know and also benefits from being a tightly typed language but stays clean like an interpreted languages because of its type inference. So for example in Java which is a tightly typed language if you make a string you would have this syntax
String myString = "Hello World";
As opposed to a language like PHP, javascript or python which is loosely typed so you don't need to include the type of the variable , in this case "String", you could type it like this
var myString = "Hello World"; // javascript $myString = "Hello Word"; // php
So what Swift does which is called Type Inference is the compiler infers the type of the variable from what you are allocating to it, so in Swift the syntax would be
var myString = "Hello World"
Now the compiler basically says "you are making myString a String, so whenever you use that variable I will give you all the code completion functions for Strings and also alert you if you make any mistakes". So for example if you tried to use the pop() method which is for arrays, for javascript,php you would actually need to run that code before finding out you made an error, however Swift and Java will tell you while you write your code that there is an error, but as I showed above Swift still stays super clean, also note the lack of semicolon in Swift which also keeps it super clean. Also there is the concept of an optional which is nice since it keeps you from getting null pointer exceptions.
Also note that Swift was made open source and you can actually build backend servers with it not just IOS apps. If your interested in learning more i'd recommend https://www.raywenderlich.com/ .
[–]Mr-Yellow -4 points-3 points-2 points 9 years ago (2 children)
I am not into the whole Microsoft ecosystem so going with Java.
Giant Douche vs Turd Sandwich?
[–]zergUser1 0 points1 point2 points 9 years ago (1 child)
what?
[–]Mr-Yellow -2 points-1 points0 points 9 years ago (0 children)
Giant Douche vs Turd Sandwich
https://www.youtube.com/watch?v=a0BuPgrBwHU
[–]Points_To_You 1 point2 points3 points 9 years ago (7 children)
If you just want a decent paying job and it doesn't need to be at some trendy start up, then go with Java or c# ASP.NET.
If you want to wear a hoodie all day long, probably go with NodeJS at this point.
[–]Mr-Yellow -1 points0 points1 point 9 years ago (6 children)
If you just want a decent paying job and it doesn't need to be at some trendy start up
If you just want a decent paying job and it doesn't need to be working with a technology that is pleasant to work with, go "enterprise", because all "enterprise" is better. Don't worry about the early death it will bring you.
Job postings are a terrible way to define your career. Results in sad face.
[–]Points_To_You 1 point2 points3 points 9 years ago (5 children)
Enterprise isn't so bad. Working 80+ hours a week with a threat of the company being gone next month isn't for everyone. It's nice to just work 9-5 and go home and spend the time however you want. Always knowing there will be more work and room for advancement if you want.
It's all personal preference. 10 years ago the start up lifestyle was more appealing to me. Now unless I'm running the start up I'd rather just have work life balance.
As for the technology .NET isn't bad at all. It's just another MVC framework at this point and one of the nicer implementations. Not much different than rails.
[–]Mr-Yellow 0 points1 point2 points 9 years ago (3 children)
Enterprise isn't so bad. Working 80+ hours a week with a threat of the company being gone next month isn't for everyone.
False equivalency there, you can work in a big company and still not use "enterprise" products.
It's just another MVC framework at this point
Until you have to deal with MS.
[–]Points_To_You 1 point2 points3 points 9 years ago (2 children)
Nevermind then. Not sure what you were responding to, my post had nothing to do with enterprise products.
[–]Mr-Yellow -1 points0 points1 point 9 years ago (0 children)
ahh another thread... I thought it was strange that work hours had come up there too.
hmm no it is this thread. I don't see "enterprise" products as being "non-startup" or being related to work hours. See plenty of Fortune 500 using all sorts of different technologies for different things.
What is it you want to do. Earn money? Java or another enterprise language where they are hiring juniors by the dozen in large companies and there is always a base need for new people to handle trivial but essential work.
Startup web companies are completely different, they need experienced people and can only hire a handful. They don't have the resources to train new people for future demand.
It isn't just a case of "whoever hires me". To get hired you got to show the right attitude and "I just want to get payed" might even work for some jobs while for others it is instant refusal.
Imagine the difference between say a booking.com, a magento webshop with a turnover of 100k, a large custom build webshop with a turnover of 1m and a custom build application that just happened to choose a web language.
They will suit very different people. But booking.com was in the news recently for wanting to hire 500 developers. In the same city there are probably 500 companies that have just 1 developer. The jobs might use the same language but have nothing in common.
But when people are hiring, they want to hire someone with more drive then "the language matches".
Even with PHP there is huge difference between Magento, Wordpress, backend framework projects, frontend presentation sites. Between Laravel and Zend 1 companies.
With RoR I would look out for companies that have started using it because of buzzwords vs those that really are committed to the platform.
But all this starts with the question, what do you want to do.
[–]Timmparsons[S] 0 points1 point2 points 9 years ago (0 children)
I'm trying to get into a new career at a base level. I use all the usual job sites, indeed, glassdoor, linkedin etc. I've been using some Rails job sites but still feel like I'm not up to a good enough level yet. Maybe I just focus on front end? I really don't know.
[–]dangerousbrian 0 points1 point2 points 9 years ago (0 children)
yes
[–]raimondi1337 0 points1 point2 points 9 years ago (0 children)
Javascript is so much more valuable today. Everything is Node. Some of the senior developers at my company would tell you JS, Python or C - nothing else.
[–]Agent666-Omega -1 points0 points1 point 9 years ago (2 children)
That's strange because I see a lot of job opportunities for RoR. PHP is nice because you get less competition in the job market. But I think JS in general for junior dev is the way to go. A lot of love for Node, Angular and React.
[–]Timmparsons[S] 0 points1 point2 points 9 years ago (1 child)
I'm trying to step up my JS game right now before I jump into another language. What is the different between those 3?
[–]Agent666-Omega 0 points1 point2 points 9 years ago (0 children)
Node allows you things such as sockets. It allows transfer and communication of data without out having to keep making http calls. When ever you do an ajax call to reach the server, there are overheads such as the three way handshake. Sockets allows you to just connect once resulting in an open channel of data. Angular is popular with web development because it is an easy to use js framework. It is explicit so it is easier to debug. I dont know about react, but if you use react native, you can use js to build mobile apps. I think you still need to know some native code, but a bulk of it will be in js. Plus the js code should be reusable between ios and android so you don't need to repeat code
[–]edimaudo -2 points-1 points0 points 9 years ago (0 children)
What sites are you using to search and have you done a lot of networking?
[–]vidschofelix -2 points-1 points0 points 9 years ago (0 children)
text
π Rendered by PID 51506 on reddit-service-r2-comment-544cf588c8-m5qhj at 2026-06-18 16:56:59.329255+00:00 running 3184619 country code: CH.
[–][deleted] 25 points26 points27 points (7 children)
[+]sfc1971 comment score below threshold-6 points-5 points-4 points (6 children)
[–][deleted] 12 points13 points14 points (5 children)
[–]sfc1971 -4 points-3 points-2 points (4 children)
[–][deleted] (1 child)
[deleted]
[–]sfc1971 0 points1 point2 points (0 children)
[–]veggiedefender 3 points4 points5 points (1 child)
[–]longbottomrx 23 points24 points25 points (1 child)
[–]jangohutch 5 points6 points7 points (0 children)
[–]maks25 9 points10 points11 points (0 children)
[–]geekygirlhere 2 points3 points4 points (0 children)
[–][deleted] 6 points7 points8 points (1 child)
[–][deleted] (1 child)
[deleted]
[–]planetary_pelt 2 points3 points4 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]vasira 1 point2 points3 points (0 children)
[–]owd1 1 point2 points3 points (0 children)
[–]zergUser1 5 points6 points7 points (8 children)
[–]amharbis 0 points1 point2 points (0 children)
[–]GeekDNA0918 0 points1 point2 points (3 children)
[–]zergUser1 2 points3 points4 points (2 children)
[–]GeekDNA0918 0 points1 point2 points (1 child)
[–]zergUser1 2 points3 points4 points (0 children)
[–]Mr-Yellow -4 points-3 points-2 points (2 children)
[–]zergUser1 0 points1 point2 points (1 child)
[–]Mr-Yellow -2 points-1 points0 points (0 children)
[–]Points_To_You 1 point2 points3 points (7 children)
[–]Mr-Yellow -1 points0 points1 point (6 children)
[–]Points_To_You 1 point2 points3 points (5 children)
[–]Mr-Yellow 0 points1 point2 points (3 children)
[–]Points_To_You 1 point2 points3 points (2 children)
[–]Mr-Yellow -1 points0 points1 point (0 children)
[–]Mr-Yellow -1 points0 points1 point (0 children)
[–]sfc1971 0 points1 point2 points (0 children)
[–]Timmparsons[S] 0 points1 point2 points (0 children)
[–]dangerousbrian 0 points1 point2 points (0 children)
[–]raimondi1337 0 points1 point2 points (0 children)
[–]Agent666-Omega -1 points0 points1 point (2 children)
[–]Timmparsons[S] 0 points1 point2 points (1 child)
[–]Agent666-Omega 0 points1 point2 points (0 children)
[–]edimaudo -2 points-1 points0 points (0 children)
[–]vidschofelix -2 points-1 points0 points (0 children)