This is a problem that I think many people will find very common and some guidan
ID: 650976 • Letter: T
Question
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.
Background
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.
Problem
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.
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.
Solution
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.
Notes:
I am not looking for resources to learn PHP, MySql, frameworks, ORMs or design patterns. I want knowledge transfer from experienced programmers.
Explanation / Answer
What you are asking for can only be gained with experience. Right now you are in a tough situation, but it is an opportunity for you to learn. I'll be honest: a software company without an experienced technical leader is in trouble.
The problem is when we are designing a new heavy feature or building a critical module that can't tolerate trial and error.
When you build a critical feature, you have to perform trials and errors. You have to implement proof of concepts of some solutions and see which one is the best. People who truly know what works and what doesn't are the ones that have tried things, not the one who have read an article on framework X vs framework Y.
Sure, books will help you. But in the end when you are facing a critical choice you have to "loose" some time with prototypes that you will throw away. Try to find what is adapted to your workflow. Advices from blogs and websites like Stack Overflow are great, but sometimes they are not valid because you have specific needs.
So I would suggest to be transparent about this: Say that you lack experience, and make long estimations to take prototyping into account. Say that the alternative is that your company recruit someone more experienced programmer, or that a non-technical person take responsibility for the technical decisions.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.