Possible Duplicate:
One piece of advice

I always end up saying, I wish I knew this when I was making a career decisions. So can you share your advice about how to make good career decisions? From your experience what is the most important when it comes to choosing your next employer?


It's better to Be the lion's tail rather than the fox's head! Always prefer to work with the team that is smarter than you. You'll learn lot more than ever. You'll have motivation to keep learning and doing new things and finding new ways to do same old things and be innovative in them. This will help you more in long run.


Quality of the working environment is the most important part. Working in an unhealthy environment may lead to unnecessary stress and take a huge toll on your mental health, stay sane my friend.

  1. Learn source control. Either git or mercurial.
  2. Don't sweat learning every language. Learn programming skills, not languages.
  3. Learn to work well on teams.
13 accepted

While I was at university, I created a small business and made a few websites with some friends. Although the business didn't last long, I learnt more from running that business for just under a year than I did the whole 3 years of my degree.

My point being, do projects in your own time if you can. It gives you a great grounding and looks great on your CV, as not many students go to the effort.

I think a lot of students look back and think, wish I had done that.


Beware the golden handcuffs.

It is very easy to graduate college/university and take the first good offer (or what appears to be a good offer). After a few years, you realize that you are not quite going in the right direction. But as more and more years go by, the handcuffs get stronger. You get full 401k match. You have 3 weeks vacation. You have a much higher salary because you are good at the specialized skill X and have tribal knowledge.

So now you want to leave your company because things got worse and you realize that A) you prefer a different type of work than X (think embedded vs. web apps) B) your company is just not going in the right direction and gets a 2/12 on the Joel Test (large Dilbert farm vs. fast moving young company).

The problem now is that you don't fall into the new grad category, but you don't have enough experience in the new area for most of the job required qualifications. So do you give up all the nice money, benefits, and reputation? Do you start over? It's a hard decision. Even harder if you have a house and working wife. And super hard if you have kids. Hence the golden handcuffs.

So my advice to myself 5 years ago is this:

Think harder about what you want to do with your life. Don't settle quickly on what seems like a "good job." And as soon as your gut tells you this isn't going in the right direction long term, get out, because it will only get harder.


Advice to myself from 5 years ago?

Go for a job you like and gives you satisfactions, not just for a job that pays the bills. In an ideal situation you spend 8 hours a day working, 8 hours for yourself and 8 hours sleeping.

Half of your conscious life is done on the job so you should enjoy it. Find a job that you like!


Don't go for an employer who seems more concerned over project delivery timescales than the quality of the actual delivery - you will learn very little from them.


If I could go back 5 years, I would tell myself to stop working for companies using 10 year old technology, and if that wasn't possible, then at least to try to keep MYSELF up to speed on the latest and greatest. When switching jobs recently, I found myself woefully unprepared for how the world had moved on without me.


If you're really unhappy, take the job.

Your new job might not be perfect, it might even be worse, but you might learn some new skills and get back a good portion of your sanity. Then, if it's not a perfect fit, you can always keep hunting.

I did, about 5 yrs back. And I couldn't be happier with that decision.


Don't get hung up over job titles. Go for the job you'll enjoy (be it the technology or the domain or whatever) rather than sticking out for a "Senior Developer" or "Team Lead" role.


> One advice you would give yourself 5 years ago? <<<

mail to myself 5 years ago: Make a baby :)


Don't expect your bosses to understand the technology, reward your good work or tell the truth. When you join a project look around for the scapegoat; if you don't see one, watch your back!


Early in your career, it's better to be a small fish in a big pond than a big fish in a small pond.

When you are in a big company, you tend to work in very specialized areas. This can be very gratifying, but if that specialty is no longer needed, or you get laid off, you are screwed. You also have access to very smart people to help you solve problems, but often this means that you don't develop your own problem solving skills. You also get disconnected from business reality. You are rarely exposed to either the costs or benefits of that "really cool feature" or this really cool "architecture pattern".

When you are in a small company you have to know about lots of things. For example, as in a large company, you have to code and write documentation, but in a small company you may also have to understand loadbuild, deployment, data management and operations as well. In a large company, you may be just the "database" guy, or the back-end guy, while in a small company you may have to understand how to do everything from database design to user-interface design. In a small company, you often have to interact with customers and get to understand what really drives them. Many coders in large companies are insulated from that. My first jobs were in large companies and I was insulated from business reality. In small companies, I learned a lot about the business realities that drive software development, and I am still amazed how many people in large companies just don't understand.

When you are in a small companies, the buck often stops with you. If you don't have a solution to a problem, you have to divine one yourself. There are no recognized experts. The skills you develop solving problems are very useful.

My biggest regret 5 years ago? I regret not taking the time to learn Javascript, CSS, DOM to develop good looking web pages. The "front-end" is the product as far as most users are concerned, and if it looks clumsy, inconsistent, or cheap, they assume that your well-designed back end is also the same.


You can Change Your Organization or Change Your Organization.

Martin Fowler.

  1. Buy as much AAPL as you can afford.

  2. Learn to play drums.

    Ha, just kidding with those two. Well kind of.

  3. Javascript may look terrible but it's going to be big. I think you should take a look at that, grasshopper.


If I could go back only 5 years, I'd probably recommend that I go see a doctor and get the whole health care stuff rolling a little earlier than I did. Who knows what would have happened if I had? Just what I would have told myself back near the middle of 2005.


My advice to myself of 5 years ago would be simple: don't spread yourself too thin. It's better to do one thing excellently and on schedule than it is to do lots of things poorly and late. The costs of context switching are greater for people than they are for computers.

And keep on top of the timesheets.


Sell all your stocks & real estate, and invest your time & some money in writing iPhone and Facebook apps.

(And ignore Second Life)