It takes time. The more experience you have with the project you're working on the more ideas you will have to either apply to the project itself or create a new project to help support it.
The dev tools are still way to slow. Especially when debugging javascript. Sometimes there is a 40+ second wait when your trying to go from an error in the console to the line of js in debugger.
I miss the days of expertise, you expect doctors to specialize, why can't software developers specialize? I get the point but, its really hard to expect someone in the software industry to be top tier at something when they are expected to know everything.
Basically I think developers need more focus instead of the industry expecting us to know everything. I am not saying that we shouldn't know or try to learn different things, but its really hard to become the best when your spending your time on frontend, or backend or tweaking the database or algorithms there is just so much going on. people just need time, just like doctors need time to become a good doctor, developers also need time. People who really get this understand how to build teams and good engineers in which inevitably leads to a good product.
These are my top 5. Usually I think its common sense especially if your the one applying for the job, one would assume that you want the job if it was offered to you.
1. Is the job described what your actually going to be doing?
2. Team/Company Culture, did you meet the team? how are the managers? the company values? etc..
3. Salary expectations (whatever yours is or anyones is) don't be afraid to negotiate if you feel its to low.
4. Do you see your self here for more than a year?
5. Room to grow, do you want to become a manager? or a senior developer? what options are available to you?
For the matter of the Team/Company culture, I'd also add - Do they expect you to come in and merge into a unchanging culture, or would you add to, and change the culture?
after reading this article it made me think about and episode of Scrubs I was watching the other day, where Dr. Cox made a decision that led to 3 deaths of his patients and after he was afraid to make decisions during the episode. I thought to myself it must be difficult to make a decisions that could affect peoples lives, would having a machine help make those decisions easier an more accurate?
I mean sure you have doctors that have 20 years of experience but still get the diagnosis wrong even it if it's close, but still it seems that compared to machines that get feed large amounts of data still come up short to. I think saying machines will replace doctors is the wrong approach, in the article one of the doctors interviewed said "If it helps me make decisions with greater accuracy, I’d welcome it”. Thats we need more tools that enable doctors to make more accurate decision than going on an experienced hunch.
I think it's great this subject is being explored it will help more people, and doctors do their jobs even better.
There is nothing wrong with Php, I would think that if your worried about companies looking at your resume I think they would be concerned more about the project you wrote than the language it was written in.
To add to this comment, Solving problems is more important than the language you implement the solution in. You can write good Php code and the same goes for any other language. At the end of the day the result is what matters. I personally think your putting to much emphasis on the language.
That sounds like something a PHP developer would say ;)
I actually moved to a different country just to get a full time clojure position and it's awesome.
I have so much more fun and less frustration at work .
Granted the team is also great and the product really interesting, but still I wouldn't want to do it in any less functional language.