Great to read something from someone who has managed to defy the odds and pull themselves out of a rough situation. Not really questions for you, but more just general rambling at you based on your post..
I may be in the minority, but I've never understood the need for a college degree for being a good programmer. While it's great that someone has taken the classes, passing them tells me that they've learned enough to pass the class, but tells me nothing about how they approach a problem. Some of the most proficient coders I've worked with were self-taught or used a class for a basis to improve, and often I've seen college graduates who can quote the book, but couldn't work their way through a quick-and-dirty patch to get something up and running in a hurry.
Negotiation is always one of those horrifying things to ask (especially back when I first started working in IT). Just getting up the nerve to ask, never mind demand an increase to what you're worth is terrifying, especially if you have commitments that mean you really can't do anything but look elsewhere if you're turned down.
I've worked doing database work and coding now for over 15 years, but it was about 14 years ago that I actually got hired with a "professional" company, where I was massively under-valued from day one. I'd like to say that I pulled some amazing negotiation-fu to find my worth, but ultimately it was my supervisor who took me aside one day and told me I wasn't earning near my potential, and she helped me work through that during my next review process. Since then I've asked for a raise twice in different positions, both times as a result of an increase in responsibility - both times have still been pretty horrifying as I didn't have anything else lined up.
I will finish it up with a question though.. what would you say is the most important thing to keep in mind when looking for a position, other than salary, and how would you go about learning it.
When you take on a new job, be clear about what you want professionally. Too many people are not upfront about what they are seeking professionally from a job.
Do you want to be a director in two years? Tell'em. By doing this, they can tell you what skills you need to work on and also provide you the opportunity to prove yourself.
One of the biggest mistakes I made early on, was not knowing what I wanted to be professionally in five years. I was happy coding, architecting systems, etc. that I never expressed a desire to move up the ladder. Granted, I got that experience by running my a consulting firm, but I could have just as well got that experience early on as a full-time employee.
In five years, where do you want to be? What do you need to learn to achieve it?
Growing up, I use to hang around drug dealers and some pretty violent people. As a result, I started to behave just like them. That experience taught me something. Humans have this weird thing we do; simulate and assimilate the behavior of those around us. You can't control it, to be honest. Take advantage of that flaw by being around great people.
If you want to be a great programmer, surround yourself with great programmers. If you want to be a great business person, surround yourself with great business people. Note: Your net worth is the average of your 5 closest friends, and that's for a reason.
Time moves forward, so learn to navigate it the best you can.
I may be in the minority, but I've never understood the need for a college degree for being a good programmer.
I think more people are starting to feel this way. I haven't encountered any resistance in my career for not having a college degree. I do believe my interviews are initially harder than most, but after I a few questions, that dissipates. One thing I've always done was outwork my competition. I will read books on computer science, dive into the details of data structures, etc.
I'm thankful for those people that doubt me initially. It provides an opportunity to show them how wrong they are for it. As a result, they recalibrate their opinion of me. I also feel my work is my identity and I work hard not to fuck that up. :)
Most people are afraid of hearing no when it comes to negotiations. I rather have someone tell me no sooner because it saves me time. I don't want to work at a company that doesn't provide me room to grow and being financially appropriately rewarded. The fear of hearing no is the number one reason why people don't correctly negotiate their salary in my opinion.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.