Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Washed out PHP Dev – What to do next?
25 points by ConfusedDev123 on Dec 27, 2023 | hide | past | favorite | 39 comments
Some background: I'm about to turn 39 and live in London. My last job for 5 years was vanilla PHP. I'm about junior to mid level in PHP and very very junior in Python. Average intelligence, can maybe focus about a few hours a day max. I quit alcohol and in good fitness. I've got funds to last me about 4 months.

What to learn next? What to branch into?

At first I thought Laravel and React, but the job market in London for this is small, compared to Python. But when I search for Python I see many things listed for additional skills, like AWS, Node, Ai, big data and so on.



This is what worked for few of my friends who were laid off last year (I am a assistant professor on local uni but I own dev agency and dev 9-5 as pythonista!)

  1. learn python 
  - https://books.trinket.io/pfe/ + https://python.swaroopch.com/ (in parallel)
  - https://effectivepython.com/ (skim, dive deeper once you have job)
  - https://www.programiz.com/python-programming (skim, look at examples, type out)

  2. apply python 
  - https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
  - miguel tutorial is all you need to get hired. go through it meticulously, make sure you understand everything
  - https://www.fullstackpython.com/ (skim, just so you know the keywords)

  3. update your cv
  - this step is optional and shady, but will improve your odds
  - reuse all your current experience but replace php tech with python (switch keywords)
  - if your cv entries are <1.5y change the dates, recruiters prefer 2-3 years per entry.

  4. find job asap, contiue grinding once you have job.
  - if you understand miguel tutorial, you can learn everything else you need once you got the job
  - market yourself as python software engineer/ devops python, NOT junior, NOT senior
This works.

if you have more questions, shoot :)


> - reuse all your current experience but replace php tech with python (switch keywords) > - if your cv entries are <1.5y change the dates, recruiters prefer 2-3 years per entry.

That's not just "shady". It's fraud.


that depends on the phrasing


As recommended down in the comments, ignore AI for now, give it a year or two more, focus on getting a python backend job. Avoid frontend (including fullstack frontend), focus on having as much free time as possible so you can grind and apply for better jobs.

Apply to jobs sparingly, and when applying make sure you research the company. Adjust CV to be 75% same as the job listing. Most recruiters only care about the keyword match. The guy that knows his stuff is desperate anyway, if you did well in steps 1 and 2 you re golden.


> Avoid frontend (including fullstack frontend)

Why?


I think they thought that the market for front-end web devs is very saturated. I cannot speak for London but in India it is indeed like that.


1. saturation 2. takes up too much of your time compared to backend 3. salary/contract rate ceiling is lower


> [Flask mega tutorial] is all you need to get hired

Do you an example of this, because I work within an org where the bar to be a dev is way higher.

Do places like that exist?


most enterprise. if you know the keywords and can explain the basics you ll pass the tests in many places. after that you learn what you need on the job. yes, to be a dev you need to know much more, but think about average software dev's ticket in big corp. We had tickets that are open for years and they're literally just an package update and similar.

Know enough to get hired, then grind and learn to do your job from there as needed. The corporate will shift you around if necessary.


Thanks for all the links!

They're an excellent resource for learning and applying Python.

I appreciate your advice about swapping skill sets on my CV, but due to the nature of my last job, it would such a lie that I'd never back it up.

Instead I'd show something like a game made in Python from my spare time or something like that.


that's also very good. remember, the start is very hard, it is what keeps people away and makes the salaries $$$$. After you break into it it is bread and butter, you just need to be smart, listen and research. Do not give up, you will succeed 10 out of 10 times if you just keep grinding and reevaluating!

Fraudsters and shady approaches pass the hard initial "wall" easier, true, but those are rare because even if you cheat here and there you still need to back up what you do with actual skill eventually. Don't be afraid to dip your toe here and there in the corporate machiavellianism tho. You would be fool not to.


Don't be put off by the laundry list of skills posted on job listings. Most of what they want will be superficial or if it is very detailed and critical it is VERY unlikely they would cut the new guy lose on it. I would say focus on Python, AWS/Azure. Most companies don't have a clue what they are doing with ML or AI so they are just chasing a fad. By all means bone up on it in your spare time but don't let it put you off from applying.


Thanks for taking the time to reply! I still feel more comfortable with PHP, but I guess it doesn't hurt to start learning more Python.


There must still be a few PHP jobs out there, why not stick to your strength?

Python is a great skill to have, and honestly it's not that hard to learn but it is quite a bit different from PHP. A lot of other languages are more similar to PHP than Python is and they might be easier to pick up.

You can't really go wrong with learning TypeScript these days as it's useful on the front-end and back-end.

AWS seems to be a commonly sought-after skill, so is Kubernetes. I've recently learned more than I ever wanted to know about AWS and I feel dumber for it.


I was in a similar situation and I would strongly recommend to leave your comfort zone completely regarding the language and the technology. Python is a great language, but not your only option. In companies Java and C# are very common - and the advantage of these languages might be, that you learn about interesting concepts, that you possibly would not have to learn in another scripting language.

My advice is to start working on a fresh open source project of any kind of new technology. By that I mean a piece of software you would use yourself (e.g. an image conversion tool), not something like "advent of code 2023" or pull requests for an existing framework. Focus on shipping something useful...

One thing I noticed for myself is, that a private / open source project will not help you too much to land a new job in a bigger company, if it is not something everybody knows. I could not convince potential employers of my Java skills, even though I had worked on a presentable project a lot. In smaller companies the HR people tend to listen a bit more :-)

As soon as you have something to show, try to get a foot in the door in a smaller (but promising) company desperately looking for developers. Most of the time there is at least one person you can learn from and working for 8 hours a day is a completely other level than doing something for 2-4 hours a day in your free time.


This is good advice. Something I always do when deciding what to learn is do a language search on the job boards for the city I am residing in and pick one of the more popular ones. Different cities have different language preferences.


Learn how to get a job next, 4 months isn't that long. Just get that situated.

If you have to learn a new skillset before getting a job in the skillset, you've got a mountain of work to do, and you probably will need to get lucky. Just get a job with the skillset you have, and then work on the new skillset.

There's lots of fun tech to explore. Figure out what you want to build, figure out what a cool stack would be for that, and build it. Deep dive the interesting parts. I'm playing with Rust because I think it fills in some of my weaknesses.

My advice is always for people to dive into things, but taking a risk here doesn't really net you any reward. Don't go broke for Python.


It can certainly help to learn some Laravel stuff, it seems that's where a lot of PHP stuff is heading. Good luck!


Laravel is Nice I wish it's documentation was a full as Symfony's.

My personal pet peeve, too much docker.


You don't need docker for Laravel. You will need PHP 8 and Composer (package manager) installed and then you can run:

    composer create-project laravel/laravel example-app
You can start a server by running

    php artisan serve


Yeah too much Docker for sure.


If you've been working in nothing but PHP, you assumedly know web dev. HTML, CSS, Javascript, the principles of APIs and REST, Database access, etc.

If you have strong fundamentals in all of those, the language abstractions on top of that should be very straightforward for you to pick up.

People will blast me for this, but my honest advice is "fake it till you make it". If you can confidently convey your expertise in the interview, and pass the tech screen, and rapidly get up to speed if/when you're hired, then that's all that really matters. Most job listings don't tell you the negative stuff either.

How does the company you're applying to know what you worked on at your previous roles? They don't. Don't tell everyone all your sins. Vanilla PHP and cruddy WP template work, all deployed with FTP? No, you worked on Laravel with React, and maintained the CI/CD pipelines for deployment. Don't sell beyond your means, but appreciate that if you were stuck working on garbage and they refused to let you use best practices, you have to look out for youself.


IMO this was a reasonable baseline... maybe ten years ago =/ These days companies are swarmed with so much expertise, especially after the FAANG layoffs, "I know some basic web dev" won't get you anywhere. You won't even get a rejection email, much less a tech screen.

It's a really saturated space and a lot of businesses are pretty cautious right now after the layoffs of these last couple years.


If you wanna hate your life and suffer for a few more years, Drupal is still around and there are companies looking for people to maintain their old Drupal 7 installations or rewrite them to 8/9.

Drupal is at the very top of my "never again" list, but I was surprised how many consulting firms there still were for it.

You're not going to gain any more relevance doing that, but it might help pay the bills in the interim?

-----

FWIW I was a PHP dev too before transitioning to the React world. I LOVE it, but the jobs are all gone now and the market for mediocre frontend devs is extremely saturated, lol, and we'll probably be replaced by AI soon. Wouldn't recommend entering it now.


I highly recommend you branch out into TypeScript, Node and React -- all of which are relevant in this job market AND, most importantly, are easily accessible from a PHP background.

There are some Laravel openings but it's still quite niche as well.


Yea I've already started on the Laravel with React route.

I'm guessing my best bet is to keep going down the Laravel and React route with a side dish of Python.


I've been where you are, right about when Zend Framework 2 was becoming hot. I first moved to Hacklang then Java. I reimplemented many of the things I knew from vanilla PHP into those languages, such as a dependency injector, routing, PSR-7, etc. It taught me a lot about strictly and statically typed languages. I then moved to Go and have diversified since. This is a route you can take if you want to move lower in the stack and you like strictness.

If you don't like it, Python is a very reasonable choice as it is very much in demand.


Defo learn another language as it will help selling yourself as well as giving you a better balance. Python and JavaScript are probably the most accessible. If you’ve been developing web apps I’d sticky to that but with a different language. In your shoes I’d learn JavaScript just because you can use it on front and back end. AWS is more important when you start deploying stuff but most companies have ops/devops doing that. Focus on the language side first. Forget AI for now. NodeJS is defo worth learning.


PHP tooling is top tier and very mature.

The syntax of php is a little awkward and setting up debugging can be hard.

But the frameworks are solid: Symfony, Yii are really nice and modern.

My ideal framework would be, the syntax, typing and of c# , the tooling and libraries of php, the admin and forms of Django, the easy deployments of JS.


You could just work with typescript then.


I think PHP is wonderful to work in, but it's no longer in fashion (minus the still-big Wordpress/Drupal space, of course). C# is nice to work in too but only certain types of companies use it.

Software dev is rarely someone sitting down and going through all the possible stacks to work in and doing side-by-side evaluations... it's just someone's pet preference, usually a senior or founder, following the macro fashion trends of the last few years =/

Which is to say... the job availability market is not based on language merits, sadly.


I would strongly suggest looking into something other than programming for a little while. Tech Support/Admin work will be easy to do with your tech background. This will stretch the time you have to get certified in AWS and learn a language in depth.


You will keep suffering as long as you consider yourself junior in language A while having 5y experience with language B.


Honest question: how are you a junior to mid junior after working for 5+ years?


Legacy support, basically. You're hired to maintain some key legacy monster created by people long since fired, and there is no option of refactoring it due to sunk cost fallacy by the business.

So, you're stuck just doing nothing but little "keep the lights on" tasks, your only job is to keep the buggy mess running, and you have little-to-no opportunities to modernize or do any best practices due to the limitations of the legacy monster and total lack of interest on the business-side.


>Honest question: how are you a junior to mid junior after working for 5+ years?

Not the OP, but it's easy to get in a maintenance rut in larger companies where you don't really learn much, and what you do learn is obsolete or getting there simply due to time.


Also not the OP, but it's easy to just have impostor syndrome.

Some shops also don't use those titles, and they vary by shop anyway, and so he may just not know exactly how to describe his ability level.


Becuase I was stuck at a single company where the stack didn't require anything more than basic PHP.

After covid I fell into depression and it took a bit of time for me to get out the hole.


It is extremely easy, and I don't say this lightly, extremely easy, to fall into the trap of having 1 years of experience 5 times, rather than 5 years of experience.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: