Anyway, i'm thinking about trying to get a job as a junior PHP dev. What skills do you think are necesarry to succeed? It's probably a bit hard to put in text - I mean, how do you quantify the skill level you need? Still i'm very curious what you think.
By the way, I've always coded solo. So no experience in working in a team of devs. Also, i've never worked on a project that I didn't start myself. So no experience in working in an existing code base. Do you think that's a problem?
Thanks! Imperistan
* Data Structures. An understanding of how to package and access data in your code is more important than any junior can possibly understand.
* Standards. Learn the foundational rules that define your technology. Shitty people will tell you this isn’t important, so keep that in mind.
* Stupidity Avoidance. Solve hard problems first. Observe your peers who can’t solve hard problems.
Backend:
1. PHP 8, Composer, with some framework such as Laravel.
2. SQL with some relational DB such as MySQL.
3. Unix shell scripting (Bash).
4. Docker and Linux familiarity.
5. General knowledge of AWS services.
6. Either Apache or Ngnix.
7. JSON, XML, YAML.
8. Some PHP unit testing framework.
9. Git
Frontend:
1. ECMAScript 7 and probably Typescript.
2. Vanilla JS/DOM API.
3. Node.js and a toolchain like Webpack.
4. CSS3 and HTML5 and probably SCSS.
5. React and friends.
6. JQuery and friends.
7. Framework such as Bootstrap (but there many others).
8. Unit testing framework such as Cypress.
Networking:
1. HTTPS 3 (RESTful).
2. TCP/IP.
3. DNS.
4. SMTP.
5. FTP.
6. SSH.
A general knowledge of the field of networking will help but you don’t have to be an expert, just take a networking course on Udemy.
Security:
1. SSL certificates.
2. OAuth.
3. OpenSSL and RSA key generation.
4. Linux hardening such as firewall configuration.
5. JWT.
A general knowledge of things like hashing and salting passwords, encrypting cookies and not storing API keys in the codebase, and a knowledge of common hacks in the field is expected.
If you don’t have any experience then build some small service and do a few github projects. Personally I would limit your job search to Craigslist since employers have lower standards there.
One trick that got my foot in the door was I took a data entry job and after a month or two I automated my job away (which only took a weekend to do) and listed that job as a software role.