I do not mean any particular language or methodology. But basics( one have abstracted from ones experience and interaction with smarter people in this field) one should have including concepts, practical issues, tips/techniques/tricks one should be aware of.For example the lessons or ideas may relate to programming,testing,design,project schedules, that are really useful in daily life of software engineer/developer etc ? This may be a good question because it looks not to specific, however experience of many is better than reading from books.I find discussions much helpful than books.Hope every one will have some lessons/ideas to contribute.please substantiate with atleast one example.