2

I am a physics/math major, and also a new US immigrant. I think I know intermediate level Java, intermediate data structures and algorithm design, and, some machine learning (with Octave), HTML, JavaScript, and Linux command line. Problem is I neither have job experience nor concrete project examples.

My question from the professional programmers out there is, considering where I stand, which of the following strategies is more likely to improve my odds of getting a programming job:

  1. Learning new skills toward a particular niche such as web development, mobile apps, etc., instead of doing random projects?

  2. Finding non-paid internships in a particular niche, instead of working on my own or open source projects?

  3. Creating self-directed projects, and publishing codes in Github etc.?

I understand that these are not mutually exclusive. But my question is about the quickest strategy. Also, please don't hesitate to suggest me your own experience and/or what you think is a better strategy. Thanks in advance.

3
  • 1
    Have you taken any programming related courses? If so, you could just apply for entry level positions.
    – jmoreno
    Commented Aug 31, 2013 at 18:56
  • Yes I have. But almost every job posting that I see requires 2+ years experience in X, Y, Z.
    – trxw
    Commented Aug 31, 2013 at 22:38
  • 1
    What the job posting says and what they will actually hire are generally two entirely seperate things. Apply and see what happens. Looking for a job, unless already employed, is a job and should be treated as such -- don't expect to put five minutes into and be done.
    – jmoreno
    Commented Sep 1, 2013 at 1:46

2 Answers 2

3

Item 1: Learning new skills will occur by itself. Focus on the project and learn the skills you need.

Item 2: Find paid work. Period. The one skill you'll need to develop now is how to promote yourself and find gainful employment. You will find people that will pay, they just won't pay very much.

Item 3: 'Self directed' won't do much for you, find issues with existing open source software and fix a few of them. In such circumstances you're fixing problems identified by other people, not stuff you make up. This is what a potential employer needs and wants to see.

6

For the quickest strategy, here would be my suggestions:

  1. If you are a recent graduate from a US school, see if there is a Career Services department within the school that helps place graduates into jobs. This is how I got my first programming job after university with no experience. In my case, I graduated from a school in Waterloo, Ontario and ended up moving to Seattle, Washington so it was a big move though this was back in 1997/1998 roughly but the strategy could still apply.

  2. Networking. Look for nearby Meetup groups that may be into programming that could expand your contacts to help get you in the door someplace. There may also be nearby Java or Linux user groups that could be useful ones to explore that may require some Googling to find. This is a way of finding those people that may know of a company looking that is what you really want rather than building skills at this point.

  3. Recruiting firms. I know of more than a few firms in Calgary that I've used though I'm not sure which have US equivalents. While you would be a junior developer, it may be worth talking to some firms and seeing if they'd place those with limited experience which would be your situation. While this may be a long shot in terms of odds, it could be that some company wants junior developers and this is how you learn of that opportunity.

While developing skills is an idea, realistically you'll be a junior developer that will likely not have awesome coding skills as expected but rather be willing to learn new stuff quickly and work long hours on projects.

1
  • 1
    JB King, I appreciate your answer. I find it equally useful as the other answer. But I don't have enough reputation to vote..
    – trxw
    Commented Aug 30, 2013 at 21:52

Not the answer you're looking for? Browse other questions tagged .