From novice to...ninja? in Laravel (my true story).
Tags: motivation, developmentstories, experiences
Published: 2021-07-30 00:23:33

###First blood!

My first post here in Dev after many, many hours reading nice articles here.
I have been trying to write nice content that can provide value to the readers and I think the best way to start telling my story about how I transitioned from being a complete native PHP programmer with basic (almost ZERO) Laravel skills to a programmer which deployed an application which has been used nationwide...in months!

This is not a story to brag about my accomplishments, this is a story which helps me ofter to remember what I am capable of, build confidence and feeling great about it. If you feel overwhelmed or believe that in order to get a nice job you need to complete all Laravel courses in Udemy, *well...it is not that true*.

**So, let's get started!**

As you know, being a web developer requires dedication, practice, patience, practice, know how to search for the best solution possible, practice, keep up with new stuff and...practice.

At the beginning of this year *(2021 to be specific)* I landed a job that required a PHP developer with experience in Laravel to start building a e-learning platform for a famous french automotive company that wanted to train their staff and distribuitors about a new car model. 

The initial planning and requirements were all set and ready to start programming.

Easy peasy, right? *Well, kind of...*

As a novice Laravel developer, my "biggest" project was a small CRUD system for employees management. Now, I would have to design and create the database, figure out the application flow, build platform which generates quizzes, set up grades, check the student's progress and performance, set awards, and the list goes on...

Despite the lack of experience and being afraid (kind of), I stood up for the challenge and in my opinion it was like a medium-size web application (or maybe I am just too humble, maybe).

I would confess that there were difficult times, many long days of work, even weekends (just a couple tbh), hundreds of stack overflow searches and the help of my team leader. I remember the day when I was stuck designing the reward system, it was really fun but stressful, specially when you think ahead like, the release date.

But when I finished the first version of the app, that version which will be presented to the client and they were happy about the work, it was very, very satisfying.

**As the project made progress, my confidence and determination rocketed so freaking high** that I ended doing some advanced stuff like creating push notifications, setting cron jobs to send e-mail reminders, I even had to override the Auth funcionality which Laravel provides to get things working.

*All of this done from a guy that had only made a course in Udemy (about Laravel of course)...* 

The platform was ready, mostly made by myself. Release date was in schedule, minor issues to attend, but everyone was satisfied with the product. I was really proud of this thing :)

I have to admit that my previous PHP experience helped me, at least to know what I have to search for in google lol for specific solutions to implement. Also, this project was made with the core fundamentals of the framework and some advanced techniques like sending formatted email, the push notifications, generate the diplomas and so on.

####My point is: Just with good understanding of fundamentals you are going to be ok. Then you can move forward faster to learn. 

After that I got a freelance job and apply what I already knew and the increased my experience. I am not afraid anymore to tackle these kind of projects using frameworks.

I hope you find useful this small experience and I would like to summarize the lessons learned:

* Be confident even if you do not know everything.
* Learn to search in the web. Again, we do not know everything and find some tips fast, understand and apply them is a nice skill.
* If you mess it up, use point 2
* If it works despite not using the best architecture or coding standards, you can improve it later (specially in tight schedules)
* Many times we are capable of more that we think of...classic!