| It sounds like you have great technical ability and could easily solve these problems in the way your boss would like. So the problem is communication between you and your boss, that you aren't understanding exactly what he or she would like you to be doing. Regardless of whose fault it is, it sounds like your work-communication skills could use improvement. And in my opinion, this is one of the easiest ways we can add value to our role as developers. You can make it your business to ensure that all the details of each project are in shape and make sense before you start. Because your boss said he doesn't like unconventional solutions, perhaps for the next few projects before you get too far along, make a technical plan and run it by him or her to get their input. If they protest, you can make a case for your way but if they would like you to use a different technology, well, they're the boss and you do it their way. Make it part of your job description to keep your boss informed of the major decisions you are making as you work on the project. If he knows about something, it means he has signed off on it and if the solution ends up being "too unconventional" it is no longer your fault. Basically, you are learning how to make your boss happy with your work, as he is not. This will probably mean letting go of controlling how things get done and taking the initiative to communicate more, and that is something you are going to have to decide if you can be happy with. If you need more autonomy you could find a small startup or founder who needs a technical partner; a job situation where you will have full say of how everything gets done. Maybe that is where you will be happiest. Regardless of where you end up, working on communication skills never hurts. |