How to approach to be professional from novice


#1

I am new to Cakephp , How to approach to be professional from novice


#2

You could start by exploring the documentation.
If you need more help with that you can always follow a training at http://training.cakephp.org/

Furthermore, it’s all about coding, making mistakes, and learning from it.


#3

The quicker you fail, the quicker you will learn.


#4

Developing some apps while always reading the book (at least that’s what I do)

Also you can use and learn from various plugins from Friens of Cake and others, such as crud.


#5

Start with reading the book so you don’t get frustrated. Always head back to the book if you don’t understand stuff or go to stackoverflow - there are many questions asked and answered.
If you don’t have any specific project at hand try to create small projects like a guestbook, a [insert a service] booking service or such to get hands-on experience.
Also, depending on your study-type, you might want to look into tutorial videos that can be found online.


#6

And follow the blog tutorial.

There is also an “Beyond the blog” tutorial here

Pluralsight has a CakePHP 2 beginners tutorial if you happen to use that.


#7

One of the best ways to become effective with Cakephp (or any framework or language for that matter) is to actually create a project you care about with it. The Cakephp documentation has become fairly good, so simply by using it as a guide it’s certainly possible to create pretty much any type of project.

I wouldn’t recommend working on a project merely for the purpose of excercise, or something without any real world value.

Learning something like Cakephp takes a lot of time and effort, it will at times be extremely frustrating and that’s why it’s important to work on a project that will be worth it in the end, at least in some way that matters to you.

So instead of trying to “study” it, i think it’s much better to just use it as a means to an end.

But that being said - while doing so, it’s also important to keep the principles and best practices that Cakephp proposes in mind, such as “don’t repeat yourself” and “convention before configuration”. There’s the “cake way” to do almost everything, which is the ideal way to do something within the context of Cakephp. It’s worth putting time and effort into finding these ways, instead of simply hacking stuff together, because even though it may be more work in the short term, it will certainly benefit you more in the long run.


#8

Thanks a lot friends. Thanks for your valuable advice .


#9

From the silly questions I see on Stackoverflow I would say the thing most people struggle with is actually not even writing code but being able to organize and educate themself and being able to make conclusions.

It is incredible how many people who want to be programmers are not even capable of reading and understanding a very simple and well worded error message. For example recently there was a guy crying very loud for help because “intl extension not found”. WTF? If you can’t make the conclusion “Ah the php extension is missing. Check Google on how to install it. Follow instructions.” then you have a far more serious problem than a coding problem. And I would say people who struggle with that will never ever become capable programmers. This is not even tied to a framework or programming at all, it is a generic issue that applies to whatever they want to do. This needs to be addressed first.

So my first advice to everybody, even in my martial arts lessons, is learn how to learn and learn principles. Everything else is mostly just an exercise.

When the this problem is fixed and a person is able to work with structured information and able to make basic conclusions it’s time to start with… guess what: Tutorials. Usually every better project these days comes with at least one tutorial to get started with the very basics.

Next advice is read documentation and books from the beginning. People tend to start picking pages from chapters far beyond the basics and then start crying because something is not working because they haven’t even understood the principles (back to first advice) or not read the introduction / beginner guide (back to advice two).

If you managed to master the first two things I just explained, then, and not before, start with a simple project.

Becoming an expert after that in something requires exercise and practice and it is required that basic principles (advice one) are understood and can be applied. If principles are not understood it is impossible to become professional in anything. This applies to martial arts as well as programming, it is universal.

Also knowing a lot of things doesn’t mean somebody is smart or a good programmer. I can know the whole API of a lib or framework, if I fail to apply principles and best practice on that knowledge I’ll still stay a dumb copy and paste drone. If you understood the principles of programming the language nor the framework will matter much. It will be just a matter of time to learn the API. This is what it means to be professional - IMHO.

Another good advice is to participate in open source projects. People will peer-review your code and give you feedback on it. And you’ll look on other peoples code as well and learn from it. The only tricky part here is to know what a well written project to contribute to is. For example Wordpress is garbage, it’s just terrible. But you can contribute to almost any of the most popular php framworks (Cake, Zend, Symfony, Laravel…) if you want to be sure that you’ll have to follow best practice and principles when you try to get your pull requests merged.


#10

The only thing I can add to the very usefull advises above is “Oefening baart kunst”, “Ubung macht den Meister”, “Practice makes Perfect”, “La pratique rend parfait” and above all: try to follow the basic conventions for naming the tables.
So Good Luck and Welcome in the Bakers Club of PHP :wink: