User1980's avatar

Question about mastering Laravel

Hi all,

I would like to get better with Laravel(to a master level) but I feel like videos are not enough as they only cover specific fields. I also feel like a big loss in confidence with eloquent's powers because I never see proper complex examples like reordering sub queries, pagination with POST request(rather than GET), and many more like getting data from one relation while counting "unread" messages form another relation. These are just examples of course but it would be nice to see very difficult queries to build to get a better understanding of the power of eloquent. Would you know a book(or eBook) or perhaps hardcore videos that really go into the really difficult part of Laravel as well as.....the most important, how to read properly the API documentation which I am very confused with, I am speaking about this: https://laravel.com/api/9.x/

Thanks all!

0 likes
38 replies
jlrdw's avatar

Eloquent is active record. All eloquent queries are converted to normal sql at run time. Relations are always at least two queries one for parent another for child records.

You can use toSql() to see the regular queries.

I would start here first and learn writing complex regular sql first, but just a suggestion:

https://www.mysqltutorial.org/

Later view the videos on eloquent relations, but actually work the examples, no cut and paste.

Edit

Also use the API to quickly find the source code on Github, I.E.

Search paginate, click LengthAwarePaginator, click at line 2620 leads to:

https://github.com/laravel/framework/blob/9.x/src/Illuminate/Database/Query/Builder.php#L2620

That is just one example.

Remember eloquent isn't for everything.

1 like
Snapey's avatar

There's no real shortcut to this. In some topics I am confident, and in others a newb. The only approach you can take is write,write,write. Expose yourself to as many projects as possible as only when you don't know how to do something will you be able to find the solution, and importantly, be able to put it in a real-world context.

When you are not writing, read other people's code as this will expose you to approaches that you might not have previously considered.

2 likes
User1980's avatar

@Snapey Hi Snapey, thanks for the information. In fact I started to read the code from CRUD generators. And realised that they were a lot more complex things to understand. When I hear people saying that Laravel is easy to learn, I would disagree totally. I feel like Laravel is really a beast. This week I was setting up websockets for a multi-way chat, as well as setup supervisor on a server to get my queues working. All these add-ons make the apps really complicated to work out(at least for me).

There is one aspect of Laravel I am not 100% sure about and it is the proper installation. I have seen teachers on Udemy uploading the entire folder into the public_html, which I disagree totally with(for security).

So usually I install it below the public_html in a "laravel" named folder and symlink the store folder to the public_html, but the real problem is that each time I update an app, I need to separately upload the folders below the public_html and above the public_html. I wish I could just click on a button and have everything updated but I am still very unconfident about this kind of strategy which I find not explained well on most tutorials on the internet.

Snapey's avatar

@User1980 If you have console access then use a bash script to pull from your repo into a new folder, run composer install, then create a symlink from public_html to this new folder /public folder.

All my projects, I ssh into the server, change to the sites web folder and run a simple build.sh command. Site is deployed in less than 10 seconds with no downtime.

User1980's avatar

@Snapey Thanks for this. You know something that would be great to have as a package for Laravel, is an auto updater that replaces all the controllers, models and views automatically like with Wordpress or code ignitor. This would be so cool as it would help making more Laravel apps a bit more user friendly(for Wordpress kind of users). It tried to look into this but I cannot work out how to detect the file difference on the server and replace them by other files on another server.

Snapey's avatar

@User1980 Easily achieved with Github actions.

The process I described pulls the latest codebase and then runs composer. Far more robust and foolproof than what wordpress does.

User1980's avatar

@Snapey Yes but I am not sure that for a non-technical end-user this will be friendly enough. For us it is fine, but for them.....it is like an impossible task to ever explain anything about FTP or SSH :-)

Snapey's avatar

@User1980 why would the user need to redeploy the site? Surely only you when you make code changes....

User1980's avatar

@Snapey Oh sorry I did not explain myself well enough. What I meant is that let's say you sell a script as a multiple copy script(eg: 200 per month) most of the buyers are non technical, I find it super difficult to release an update and tell them how to replace the views, controllers and so on. Having a self update button in the back end(like Wordpress) would solve everything. But I struggle to get this going.

User1980's avatar

Remember, 99% percent of them not enough knowing what SSH is.

rodrigo.pedra's avatar
Level 56

I feel like videos are not enough as they only cover specific fields

Agree. What will bring you to "master level", or to a better level, as master is a controversial term, is practice. Especially with real-world projects.

Also Laravel's documentation is very complete, and I would advise you to "master" it first:

https://laravel.com/docs/9.x

Lastly, there are plenty of series here at Laracasts, that either cover building an app end-to-end, or dive-in into advanced topics on Laravel, here is a small list, but those kind of series are not limited to this list:

Some are older series, targeting older Laravel releases. But the concepts on each of them are still very useful, and Laravel docs makes it easy to follow to newer versions.

Sometimes I see people complaining about videos not going deep enough, but when I ask if they watched the whole series, video by video, with focus, they usually say that didn't.

I am not saying that is the case here, and neither that you will always need to watch a series end-to-end to learn from it.

But as you say you are uncomfortable with your Laravel skills and want to "master" them, I couldn't recommend more watching them end-to-end, avoiding getting distracted, and trying to replicate some of them, at least on this stage of your learning path.

Also all series in these topics are very good calls too:

I never see proper complex examples like reordering sub queries

From the docs: https://laravel.com/docs/9.x/eloquent#subquery-ordering

Read this whole section: https://laravel.com/docs/9.x/eloquent#advanced-subqueries

(Actually read the whole docs)

pagination with POST request(rather than GET)

I've never seen this either, and actually don't quite understand the need for it.

If you care to explain the use-case for this I would appreciate. The reason, maybe it is lacking tutorials, videos or references about it, is that maybe it is a very odd, uncommon or specific use-case.

POST methods are not meant to retrieve a collection of data. Actually this is a convention, but even the HTTP RFC does not recommend it. At the end you can do whatever you want, but I am curious on the use-case of such requirement.

reference: https://www.rfc-editor.org/rfc/rfc2616#section-9.5

like getting data from one relation while counting "unread" messages form another relation

From the docs, again: https://laravel.com/docs/9.x/eloquent-relationships#counting-related-models

Look at the third snippet. You may argue it is counting in the same relation with different criteria, but you can easily use different relations, and nothing prevents you to use an aggregate function, like ->withCount() while combining a call to ->with() to load another relation.

In this other snippet:

https://laravel.com/docs/9.x/eloquent-relationships#counting-related-models-on-morph-to-relationships

It evens eager load a polymorphic relation while counting data on the related result set.

examples of course but it would be nice to see very difficult queries to build to get a better understanding of the power of eloquent

I usually avoid advertising other people paid video courses here in Laracasts, for obvious reasons.

But as Jonathan Reinink is close friends with @JeffreyWay, and is even due to release a series about Inertia here at Laracasts, I guess Jeffrey would not mind taking about Reinink's course on Eloquent queries.

Search for "Eloquent Performance Patterns" course by Jonathan Reinink. Even that I just talked about it, I don't feel comfortable to link it here directly in respect to all the knowledge Laracasts gave me throughout the years. But this will be easily findable on a web search.

Also there are several series about Eloquent Techniques here at Laracasts

Again, some are old series, but concepts still apply. And of course a nice knowledge on SQL is always something that will leverage your understanding on how things work under the hood:

Would you know a book(or eBook)

Check out Spatie's books on Laravel.

perhaps hardcore videos that really go into the really difficult part of Laravel as well as...

Again, some are old series, but concepts still apply.

the most important, how to read properly the API documentation which I am very confused with, I am speaking about this: https://laravel.com/api/9.x/

When I need to reach Laravel source to understand better how something works under the hood, I usually reach to its Laravel source, either by browsing it on my IDE, or by browsing its source on GitHub:

https://github.com/laravel/framework/tree/9.x/src/Illuminate

Laravel code is very well-organized, and have comments where it needs them.

I see the value of the API browser, for those who prefer it, but I prefer looking into the source directly instead.

Prologue

Believe me, Laracasts is Laravel's (not so) secret weapon.

Of course finding real-world projects is not easy, and when not coding them for real, e.g. not for a client, or for a job, it is easy to get distracted or unmotivated.

But there are plenty of good real-world projects with a varying degree of difficulty available in GitHub, so you can study how them are built. Study them, fork them, deconstruct them, rebuild them.

Mastering any tool or technique, takes time and practice.

For example: all laravel.io's codebases are open-source, and aggregate.stitcher.io codebase is also open-source.

You could dive-in this codebases to see how some real-world projects are built.

Although a smaller codebase aggregate.stitcher.io was built by Brent Roose, who currently works at JetBrains as a PHPStorm evangelist, and he made a screencast on how he built it (easily findable on his main website, or on a web search).

And of course this is not a complete list by no means.

Hope this helps =)

7 likes
User1980's avatar

@rodrigo.pedra Wow, amazing post! Thank you so much. In reply to your pagination via POST, this is how to do it: ->paginate(10, ['*'], 'page', $request->page);

The reason I needed it was because I was building a chat via WebSockets where multiple users with different roles can join the same chat. I was very worried to send certain queries as GET through the WebSocket network. This is why I opted for POST(more secure with SSL) rather than GET for every query.

The only part of Laravel I am really not comfortable with is complex eloquent queries. I am still looking for a UI that could generate good queries for me. I used to use one for Mysql but wish there was one for eloquent. As sometimes I need to reorganise sub queries and also count certain columns(or sum them) in 1 eloquent query. I wish I could just import the DB into a viewer and tick what I would like to import and sort(like in Valentino).

Thanks again for the great post!

1 like
rodrigo.pedra's avatar

@User1980 First of all thanks very much for the compliments and for the clarification about using pagination over POST requests.

I guessed the pagination implementation over POST would be the same on the Laravel side, I was just wondering why you'd need to do pagination through POST, and which requirements would it have than doing pagination over GET.

Websockets is a duplex protocol, meaning the connection stay opens for both the server and the client to send data. So any client to server requests could be done through the open socket, avoiding traditional HTTP requests altogether. Also websockets, outside of localhost, needs secure connections, so all communication is encrypted.

Just to be clear, when you mentioned:

pagination with POST request(rather than GET)

I thought you expected that the implementation on Laravel side to be different than when doing a GET request, which was the reason for my doubt on it.

Even if you are using websockets just to send events from server to client, and using HTTP requests to send data from client to server, I still don't see the use case for having a different requirement on pagination on POST requests.

And also, the pagination results would be sent on the response, which, if you are using SSL/HTTPS, which seems to be the case as you are using websockets, the response either from GET, or from POST would be encrypted.

The only use case I can imagine is a user send a chat message, and as you seem not be using the client to server duplex channel from websockets but a traditional HTTP POST request to do it instead, you would return the pagination resultset in the response of this POST request.

If this is the case, the response is encrypted, so there is no difference if it is a GET or a POST request. And if this is the case, I would consider sending the paginated data as a broadcast event using the websockets connection instead of the response body.

The only practical difference between POST and GET request, is that when using POST you are allowed to send data to the server into the request's body content, which will be encrypted if using SSL/HTTPS, and when using GET requests your only option to send data to the server is by using query parameters, which you can also do when using POST, and in both cases, even when using SSL/HTTP, the data sent as query parameters are not encrypted.

So I can imagine you sending a request to get a chat's user list, and expected paginated data in response. Which raises these concerns:

  • On the request data, is there anything so confidential that can't be sent as a query parameter?

Usually when requesting a list of items from the server one sends request data like page size, current page, sorting options, which I don't why they couldn't be sent as query parameters

  • If, for some reason or some requirement, you must make such requests as POST, what do you miss on the current available material about pagination, in docs, in Laracasts or over the internet, to be different than when using a GET request?

Paginating data will affect how the response is built, which is not concerned if the request was made as GET, POST, by a websockts client message, or whatever way you could find to send data from the browser (client) to the server.

I hope I made my understanding clearer about the subject. If you have any questions about it, let me know.

Have a nice day, and thanks again =)

rodrigo.pedra's avatar

@user1980

One more thing I forgot to address: I am not aware of any visual query builder for Laravel, sorry :(

If you find any, please share it here, but I actually don't feel the need for it.

Eloquent already abstracts away many SQL complexities, and once you get more familiar with its advanced concepts, I hope you find less need for such a tool.

User1980's avatar

@rodrigo.pedra Hi Rodrigo and big thanks for the explanations. Really nice! You seem a real PRO! I am more of an entrepreneur(I do sales /quotations too) rather than just code as I have to deal with a lot of things during the day in my company, this is why I may miss certain coding principles. The issue I have is that part of the chat can be hidden as the user types(so people behind cannot see what the person is typing). As the searched text can also be searched for duplication, I do not want to send it as GET or the entire idea of hiding it goes into the drain as people from behind will see the search in the browser URL. I hope you understand now.

One thing I also wanted to ask you. I was always told by other coders who worked for me or with me that GET should not be used when you pass more than 5 parameters, POST is cleaner and also makes the routes cleaner too.

Do you agree with it as a rule?

Also, another thing I really do not like with GET requests is that they make the Blade / Vue integration a lot more complex as you have to pass the parameters through blade into vue as props.

What do you think about this too, please?

I understand that GET vs POST is really more about standard than a technical "must". But would it not be easier to use POST as much as possible when using blade and VUE in a NON SPA.

I would really like to know your points on the above as I am a bit confused on this, to be honest.

rodrigo.pedra's avatar

@User1980

One thing I also wanted to ask you. I was always told by other coders who worked for me or with me that GET should not be used when you pass more than 5 parameters, POST is cleaner and also makes the routes cleaner too.

Well, it is true that browsers have a limit on the URL length, see some references:

Depending on the range of browsers you want to support this can be as short as around 2,000 characters, to support Internet Explorer (I hope you don't), or around 7K-8K otherwise.

So it poses some sort of limitation on using URL query parameters.

My rule of thumb, instead of having a parameter count, is:

Prefer URL query parameters to send data that modifies the presentation state of a page, and you want it to be reproducible.

For example, you can do a Google search just by appending this query string to Google's URL: ?q=my+search.

See for yourself: https://google.com/search?q=my+search (URL tested as of the time of this writing c. May/2022)

What are the advantages of using this:

  • You can ask a user to easily copy and send a URL of a report they believe has a bug, if filters are applied via URL query parameters you will get the same state as them
  • You can send an exact URL to a user to show them how to access a resource on your system
  • You can advertise an exact state you want on a search result page, for example on a e-commerce products or categories page

Sometimes a single URL query parameter will do. Other times you will need more.

The idea here is: variables that act like a filter, and therefore usually do not carry sensitive information, are ideal candidate to live as URL query parameters.

Prefer Body Parameters, e.g. on a POST/PATCH/ PUT request, to send data that modifies the data of an app, or that are sensitive to not be sent as URL query parameters.

Basically, any form that saves data into your application store (e.g. database), or authentication forms.

You won't want this data to be logged throughout the servers used to route a request from you user's browsers t your server.

Also, another thing I really do not like with GET requests is that they make the Blade / Vue integration a lot more complex as you have to pass the parameters through blade into vue as props.

Well, how can I say this... This is part of the job.

Using InertiaJS sure helps with Laravel and Vue helps on this issue of keeping state in sync (sending props) between server and client.

Laracasts has some nice series on how to start with InertiaJS.

Hope this makes it clearer.

And thanks for the compliments, although I already have a long run on this journey, I still consider myself a learner. Stay curious =)

User1980's avatar

@rodrigo.pedra Yes I agree with you, Inertia js really solved this issue. I, unfortunately, coded a very big project with Vue js and blade and believe me, I am really embarrassed at invoicing the client each time I add a new feature as the workload is just a waste of time for something I could have done much quicker with Inertia.js. Thank you so much for the explanation and rules on GET and POST, it helps a lot as I heard so many different variants from other devs. Do you have a blog I could follow, please? I really like your kind of advice, you seem really knowledgeable :-).

1 like
rodrigo.pedra's avatar

@User1980 Unfortunately I don't have one.

When I can, I usually spend some time trying to help here at Laracast's forum.

But thanks again for the compliments, and great that I could help somehow. Have a nice day =)

aurelianspodarec's avatar

I'm not a master, far from it.

But this is how I look at it, as I do want to be very good at it.

Its deffo important to realise its long term commitment and not something you master over a few weeks.

The way I look at it is very step by step approach.

Each video I watch on laracast, I watch and re-watch it a few times. The first time its usually me just staring and listening, with no coding, its like theory - if you code along, you won't be focused on what the teacher says, therefore you'll miss info and won't focus.

Then, I start the code and practice.

I do many things on my own, with my own examples to get better at that one thing, and do different iterations at it.

This is a proven method that works for me, that I wish I've discovered earlier. I could learn anything before I started doing that.

Then, once you are comfortable with say creating the view, working with controllers, basic CRUD you can keep going on

I did read a book and my experience with books is that its better to have experience and getting your hands dirty before reading a book, just because you're not going to understand it as much - however, if you do feel comfortable with an area, you can go and read that specific chapter in the book - no need to read the book page to page and demotivate yourself.

A lot of this is practice and theory.

As you get better at this, you can look how laravel does thing under the hood, start your own project in PHP without using laravel, do the MySQL queries yourself etc...

In terms of reading the API, one thing I've learned is that you need to read a lot. If you're creating something with the API, you will not know how to do it so you'll gonna need and go read and learn the API. When I was working with an API from Lua, I was re-reading the entire API many times as I coduln't even memorize everything in one go.

And then you might do things that the API can do but you didn't know, so maybe a code review or whatever can be helpful in discovering it - or if you google for something yo might discover the function etc... but reading is super important.

I think reading in programming is probably one of the most important thing, and you might not always understand it.

Usually examples from laracast or any tutorials, are basic. That's because majority of people never get past basics and so it makes no sense to create complex tutorials no one will watch, except the few.

I think if you want to build complex queries, you will do it by figuring out how to do it when you need it - that's why the more complex project you rowkr on, the betteryou get. And if you ask for help, then people might give you different solution and show different insights.

Then again, that's just my thoughts on this - not an expert or anything but its whats helping me so far.

Before doing a main project it also takes me usually like 3tries to do it decently.

I've rewatched laravel from scratch many times, studied the code, implemented it, relistent what he says on when he uses stuff etc... looking at source code and other people project open source on github can also give exposure on how things are done - that's what I do as well.

I think getting a job where you work on complex project is beneficial, because you get exposure so you can learn faster like that - that wat my case as well. Though getting a job might mean you might be doing simple stuff too, so you might slow down with your learning... but each time I had the codebase of a project I would then study it and improve on it but yeah.

I'm not planning to read any books yet until I get more comfortable with this as I think it'll be waste of time otherwise. You will learn a thing or two but you'll learn more by doing - then refining your skill by reading the book is nice.

Plus you get a connection if you tried something and now you read about it, you'll undersatnd better how that works or does.

Its like playing around and then reading about it - the best way to go about things.

That's how I go about things at least. I don't have all the answers and I'm still learning myself but yeah.

1 like
aurelianspodarec's avatar

Also, in addition to what I wrote above, i found out this https://certification.laravel.com/topics-covered that shows all the topics.

While I'm not going to do all of that, it gives me some exposure what there is in laravel.

If you don't know what caching is, google it, if you don't know what X is google it.

Then see where you can use it.

I'm pretty comfortable or starting to get comfortable with some things in that list. Then I will probably look at caching once I deploy my app, implement that etc... step by step.

That way the app will be robust utilising a lot of stuff there - as long as I need them.

But yeah, that's just what I'm doing now at least :D

2 likes
User1980's avatar

@aurelianspodarec Thank you for the post and I agree, from time to time you need to watch videos. Last time I was required to cache API queries in Redis and send the responses back to Laravel. When a double of the query was found, use the Redis results, if not, cache it for the next user. This took me some time to work out as I could not find videos on this....but anyway....worked it out in the end. Sometime I have the feeling that learning things in a hard way prints the information in your head for longer :-)

1 like
aurelianspodarec's avatar

@User1980 Oh, you know when you write " This took me some time to work out " - I have this too. Especially when I can't get help or whatever. In these instances I usually think "Men, I'll never be able to do this" - but just persist and learn and at the end manage to figure it out. There was a time where I've spent 50hours trying to solve a bug/issue I had, as a beginner. But at the end managed to do it. Imagine sitting for 50hours just persisting over one thing xd But learned a lot meanwhile.

Yeah, exactly.

When you learn it like that, you learn more 100% guaranteed. When I used to get help on teamtreehouse, where the person would give me an answer I would not learn - when I went away from teamtreehouse and started to struggle, its where I started to learn and started to engrave things in my brain.

Same with copy and paste, its hard but its beneficial not to copy and paste. I struggled remembering basic laravel commands because I would always arrow up and search though the command line, and when I codulnt' find it I was screwed xd so now I'm making effort to type out everything in the command line, each time I do it, without using the arrow up - it gives a better understanding.

I think if you don't struggle stuff doesn't stick as much in your head.

Same with learning stuff you don't need - that won't stick in your head. You only learn when you need to solve an issue. No point learning about X when you don't need to use it.

its like learning physics at school but you never use it so you have no idea how to use it or forget it - compared to learning physics because you have to do something, say build a video game using physics, then physics will stick, you'll understand physics better because you'll see how it works visually etc...

I think the way we've been taught at school, is the wrong way to learn thing, and I think the "learning" skill is a skill and what you and me are discovering right now IMo is how one should learn.

There should be a class "Learning how to learn". What to expect, what is imposter syndrome etc... which is a good thing to have impostor syndrome, despite people saying its bad... but if you don't have it, that means you know it all, you're the smartest person in the room therefore, you're in the wrong room... but that's a different topic xd

I think mindset is as important as knowing how to. Majority people never get past the basics or learn a skill or whatever xd including myself. Though I'm making a shift in my life now. So far its been 9years xd finally starting to grasp things though.

User1980's avatar

@aurelianspodarec Yes me too, you cannot believe how many times I struggled with a lot of issues as I have built now about 10 projects with Laravel(since Laravel 5.6). I had absolute nightmare issues with UI designs in vue.js. Especially with projects that had multiple sliding screens where the logic had to be completely different per screen(a lot of states) or projects with text manipulation.

One thing I have noticed is that right now I am teaching my wife coding, I can show her things that sometimes took me 2 months to understand....and this is making me so sad because when you have the possibility to learn great stuff from the right people, you make so much progress quicker than if you were trying to learn it by looking around. This is why I opened this thread to know if perhaps there was like a magic eBook or eloquent cheat sheet I could get my hands on to move faster :-)

I have learned a ton of things thanks to my favorites @snapey , @jlrdw and @martinbean @tykus and @Sinnbeck . Without them, I would have really struggled with some of my eloquent difficult queries :-)

1 like
aurelianspodarec's avatar

@User1980 Yeah, with the last part 100%.

There are some issues which are just waste of time xd

The more I code in laravel now, the harder it gets little bit by little bit :D But its quite fun.

User1980's avatar

Sorry everyone, I wanted to ask you, has anyone of you thought about the laravel certification?

aurelianspodarec's avatar

@User1980 I did xD

IMO its useless as no one cares - you either can do the job or you can't, but...

Managers or HR can look at it and be impressed maybe... and it could be a good thingy to see how good you do.

I want to take that test, only for personal use - I wouldn't care showing that to an employee. But that's me.

Id rather show them the projects and tell them what I've done and helped.

But then, I'm still learning Laravel, its just my general opinion on these 'certificates' and all that 'bs' :D

User1980's avatar

@aurelianspodarec Oh I see, I thought that being listed on their Laravel certified Database would land you more freelance contracts :-) (I work for myself).

aurelianspodarec's avatar

@User1980 What database? Where they list all people that completed it?

I think for clients it probably doesn't even matter more.

Since a client will care if you can bring them results but then that's just my opinion xd

Obviously, people are different and I'm sure someone will say this is a plus but yeah...

No one knows what my education or certification is lol every job I had was with my poor portfolio aurelianspodarec lol never ever mentioned certificates or laracast and always managed to get freelance or whatever.

But that's me. If that certificate means you'll be somewhere where people/clients can look at you that would be nice I guess.

But I just don't see how any one is going to look at these certificates - freelance or a permanent job, unless the person hiring is a manager or an assistant, it could be a plus. But its the same thing essentially. IME at least.

aurelianspodarec's avatar

@User1980 Yeah I know. I though there was a freelance people certificate, not just companies.

But yeah, unless it gives some exposure, I wouldn't do it, but I suppose in business you try and see if you can get any leads from putting your company there.

User1980's avatar

@aurelianspodarec I looked at some of these companies...ouch, eg: Backpack....it must be super hard to pass the certification believe me.

aurelianspodarec's avatar

@User1980 I kinda doubt it, but what do I know. I just read on reddit from people that took it and they said if you've been doing laravel for a while and know it good you'll just pass it.

Its same with the amazon certificates IMO. I remember a guy at work, the lead dev did it.

Someone like me would have a bigger challenge passing this as I'm not a veteran, but I believe, with nothing to back-up, if you're a solid dev it'll be fine : p

I think when you look at companies, no matter how fancy or glamorous they are... they have senior developers there. They can do the test. If not, they can always hire a senior dev to do the test.

So I just don't buy the whole "certificate" thingy - its a probably good way to make money, if you're the one giving out the certificates IMO.

And unless you get exposure/leads, then its a waste of time.

User1980's avatar

@aurelianspodarec One thing I will never forget from my previous tech courses(25 years ago) is what a teacher told me once, which is "It does not matter how much you know, but what matters is how much you hate that your brain is able to take, if you can learn anything(good and bad), you will never worry about what you know". This changed totally my world as I then started to understand how important certificates or qualifications were for people who had no work experience. For the ones who failed many times and reached 40s and learned it all, then the same process would have happened but it just took longer for them(I am one of them .....who learned how to create and run companies the hard way by failing a few times).

User1980's avatar

As a company, I see well one day on my website: "Laravel certified provider", this would just sound really good during meetings vs local competitors :-)

aurelianspodarec's avatar

@User1980 Certification to me sounds newbie.

If I had to counter your company, with mine, I would tell the client that people who are usually certified are those who come out of college, fresh new, wheres we have real world experience helped clients bring them results by increasing their sales by 24% in a year which is over £2million extra revenue. With a huge expansion or whatever.

I don't think as a company "certificate" should be the selling point. I don't think serious clients care. Maybe as a freelancer doing web dev.

But a client doesn't care about tech. Unless you're the type of company that does B2B just developing software.

No work experience, and no qualification... You create portfolio.

If you have no work experience I doubt you'll get any work.

The way you can get work experience, and that's what I did, is by building personal projects. Literally how I got my first freelance clients.

Getting work is about selling yourself. Plus, you do have experience as a company so that shouldn't be an issue starting one.

When it comes to job, at least for junior positions what matters more is the attitude of the candidate - people that hired me they told me they didn't care what I knew but they hired me because of the attitude I had.

So I totally disagree with all of that, except if you're a doctor, a lawyer or such where you do need the certificate as a proof of your knowledge - which if you do web dev you already have proof of knowledge either by the pet projects, blogs, or whatever.

As a company, you want to focus on solutions, not tech - the client comes to you to solve a solution, doesn't care what tech you use - unless of course you have the other type of clients but depends what exactly you're doing.

Check out "TheFutur" on YouTube, talks about making money as a business s- not saying its easy, deffo hard. I've managed to earn a few grand but yeah. I need to work more on the way I speak and confidence when dealing with clients foremost. It feels weird to ask for $15k but yeah.

Please or to participate in this conversation.