This is a problem that I think many people will find very common and some guidance from the expert users around here will be appreciated.
Basically I'm a junior web developer in a team of 6 (all juniors too). 6 months ago our team leader and project manager left the company. Currently we are being managed by a non technical person.
The new manager chose me to act as a technical leader for the rest of the team till the company hires a someone more experienced.
Although I'm a good developer my experience in providing solution to the company's needs is somewhat lacking. I mean I have no problem implementing solutions or adding new modules to the system as I have been working for 2 years already in PHP and MySql.
The problem is when we are designing a new heavy feature or building a critical module that can't tolerate trial and error.
Check this link for a design issue that I recently had to implement: http://stackoverflow.com/questions/10529459/building-a-cron-job-scheduler
I can easily build all solutions that were mentioned in the post. The only problem is that I don't have enough experience to choose one of them. My ex-Team leader used to make the hard decisions and I really used to learn a lot from him. However, now he's gone and I'm left out all alone.
Now There is 2 solutions that I figured would be best for me:
- Leave the company ASAP :D and find a better company that can provide me with good experience and increase my knowledge (Although I can't leave the company any time soon due to various reasons).
- Find books, references or any available materials for large scale projects or pro web developers techniques. Basically anything beyond simple applications. This is the only option I have right now.
I am not looking for resources to learn PHP, MySql, frameworks, ORMs or design patterns. I want knowledge transfer from experienced programmers.