A few things I wish I knew when I started my career as a software developer.
Go to User Groups! I was working for 2-3 years before I got the courage to go to my first user group. Now I currently run one, and have in the past run more than one. Get out there and meet people, if it is a long commute to the meeting or you have little kids at home (often an excuse/reason I hear) then maybe only go every 2-3 months. It is a sacrifice you must make for your career.
This one has occasionally blocked me: The language you did when you started doesn’t have to be the one you are doing now. People change and the language they used at one time (PHP) may not appeal to them anymore and IT IS OK TO CHANGE. And when you do, you don’t need to make a big deal about it. I’ve seen some recent “I’m done with ruby! and here’s why it sucks” posts. If you are done with Ruby, then fine.. just go :)
Also I have spend too much time focusing on one language (Clojure) and looking for jobs that just aren’t there..and being super disappointed when I couldn’t get a job. Bummer. More then once I set aside all other things to study and also donated to kickstarters that were Clojure focused in hopes I can help progress the language. I think i have been to more Clojure conferences then Ruby/Rails!
I see friends/associates of mine that are relentless on making their favorite language do things that maybe is not best, when other languages are better. It is such a waste of time, energy and resources. So don’t get too tied to the langauge because it may not be best for all things. Learn the principles and concepts of a language so learning another is just a matter of syntax and idioms.
I hoped I made you think about a few things and maybe save you some disappointment. What did you learn that you wished you knew when you started?