It has almost been a year since I started web development. Along the way, although Laravel makes development so enjoyable and rapid, I encountered lots of personal and work frustrations.
1. Plan your workflow
Begin planning on how you should work with your project. This goes to how long should you working be; how should you create it; and for how long you should be working on it. If a project will be a collaboration with other developers, think of how you will be able to utilize your collaboration.
Most teams fail not because they just dont "click". In my opinion, they fail to "click" because their methods of collaboration is not well for or fit on how they work. Individual work is different from a collaboration.
If a collaboration becomes well-utilized, just imagine how fast a project could be finished, and how robust its modules can be.
Contrive and rack brains on how your project should work; and what kind of features it needs. Most of the time, conceptualizing your project is much harder than implementing it.
Also, don't forget to pick the best tools for the job. Don't just use "it" or make a tool because you "just thought of it", because it's a trend, or because it's cool.
If you have a client, ask them everything the project needs. Then, you plan.
Most and foremost, never ever forget how your project will be organized. How you structure your applications is a big factor.
Different patterns for each feature or module can lead to frustration. Not only it can be dazzling, but also waste extra hours which could have been spent for the creation of other parts of the project.
Not to mention that it can be detrimental to a developer's motivation.