Yesterday was the beginning of a new chapter in my career. I was given a warm welcome by the team I'll be working with on my first job. It's a full-stack role where the team uses React/Redux on the front-end and Laravel on the backend.
Where do I need help?
First, so far, I have always started all my projects on my own because I was using them for practice. Now all the coding tutorials and practice turned into a job and words cannot express how happy I am. Here's the challenge, There's an existing codebase I have to jump on, understand and contribute. I have been given 1 week to familiarize myself with everything and I'll be assigned a task on Monday, next week.
Second, I have only gone through tutorials and built minimal APIs with NodeJS and express but the team uses Laravel. I haven't worked with Laravel before now, so any advice, resources on building APIs with Laravel framework will be appreciated. They also use a TDD approach so I'll appreciate any advice and resource that can get me started on TDD with Laravel API.
Top comments (12)
Congratulations! I've been in the exact same situation multiple times. Starting out with my first job, I had to understand a huge Android code base. Here are some of my tips for starting out:
1. Holistic Approach
Don't try to understand each and every line of code in the code base. Rather try and spend time on understanding what each module does, in general.
2. Issue-based learning
Your initial learning should be issue-based and not project-based because it takes a long time to understand the entire project. Take up the issue assigned to you and start with that function/file/module. It'll start to make sense and not drive you crazy.
3. Spend time learning the technology
Take a little time everyday to keep getting better at Laravel. This will help you solve issues faster and better. It takes time
4. When stuck, talk to peers/superiors
When I started out, the mistake that I made is that whenever I was stuck I didn't ask for help. The point that I learnt is that, there are a lot of factors that you might not know, that caused the problem (like admin accesses, firewall issues, database configs, deployment permissions, VPN issues, etc.)
All the very best!
Yeah!!!...thanks a lot for taking the time to give such details..Really appreciate the advice
Congrats, Here are my suggestions.
Take a look at below tutorials
I'd add: read the tests, they document how the various parts of the code work. If you're unsure how a method or a part of the code base works, try to read its test.
Thanks rhymes
Thanks so much, @sarjunan...I really appreciate your advice. I'll check out the tutorials
Personally, I found out that it's easier to get familiarized with a project while just working on real tasks.
However, I have some suggestions to get some initial knowledge:
Thanks, Anna. I'll definitely look at the tests for a better understanding.
Good job! I can relate with being a bit overwhelmed. At my current job I walked into 10 years of custom PHP code with no documentation.
For you I would take a peak at the Laravel and React docs, then build a simple website with a few pages that accesses a database just to get a feel of how Laravel works. After that dive into the company's code and see what is going on, and how others have coded. Try and get a big picture idea of what the code is doing so that you can start making changes.
As far as TDD, the big thing is practice. Look up some tutorials and practice testing some more trivial functions. Strict adherence to TDD may or may not work well for you, but having tested code is very good. Either way it takes practice.
Good luck, and keep at it.
Thanks for this great advice @buphmin ..I'll try to build a small project that consumes an API..I think that would help a lot. Once again..thanks
I used to work quite a bit in PHP and it's frameworks a while back. I found laracasts.com/ a great resource to learn more about Laravel itself.
It's a subscription payment system, but you can probably consume enough of it in just one month to just get the basics.
One week is a fairly short amount of time to familiarize with the code base, especially if it's a decent size. That being said, your first task will (or should) be fairly nominal. Just start looking at how the front end is structured and pick up a few things from Laracasts, you should be on your way.
And of course once you do get your task, if you need help be sure to ask.
Wooow...Thanks, Grant. I just checked out the link...It's like a Laravel encyclopedia...Thanks so much