Programming for a Year and Need Direction

22    18 Jan 2016 19:26 by u/NoobCode

So around this time last year I decided I would try and teach myself programming to get myself out of my terrible job. Fastforward a year and I've worked my way through a 300 page Java fundamentals book and don't know where to go from here. My end goal is to get a job programming as soon as possible and I'm looking for some advice.

Do I start learning another language? Do I maybe work on a big Java project? Also, when will I be competent enough to enter the job market? Right now I feel like I've just wasted my time! I have no idea how to actually build a computer application or game or anything that would actually be marketable.

29 comments

3

Nothing counts as much as actual professional experience. Working on open source projects and getting certifications can help a little, but what companies really care about is whether someone else has been willing to pay you. If you can't find a job on your own, talk to a consulting company. It's easier to let them do the job searching when you're new. Also, they might be willing to invest some money into you if they think you'll make them money in the future. A previous colleague of mine was switching to programmer from DBA, and the consulting company let the client hire him and another consultant in a two-for-one deal for a couple months. After that, he had not only proven himself, he also had legitimate experience he could use to get another job later.

1

I would have no idea how to go about that but I'll look into it.

3

Do I start learning another language?

Only of you feel you'd rather write code in some other domain. Like web, lowlevel, scripting, databases, etc. . Knowing more than one language sure is beneficial but usually having more than one year of experience in one language is better if it's the right language for the task.

Do I maybe work on a big Java project?

Yes, you don't need to do a lot of work on it, but it helps a lot if you manage to work on a big java project. In the industry most projects are big and ugly and you'll better be able to handle it.

when will I be competent enough to enter the job market?

Now if you find the right job. Software projects have usually quite a lot of work which doesn't need a lot of experience. It will not be very interesting, but you'll learn a lot.

I feel like I've just wasted my time! I have no idea how to actually build a computer application or game or anything that would actually be marketable.

You probably didn't. Beginners projects aren't that good. You'd have probably spent your time for sales and bookkeeping instead of programming and have learned less while still making losses or barely even. Competition is hard on the software business, especially if you have to compete against $0.99 apps and free ones.

2

Learning more languages makes you a better programmer. Also, since Java has peaked in its popularity already, in 10 years something else will take its place.

5

Wrong. Java is the 2nd most in demand lang. Have you not heard of Android?

0

Peaked doesn't mean its outdated. Peaked means its as popular as it is ever going to get.

0

More, not less, devices use java than ever before. It is expected to increase. You are wrong.

-1

That's what they were saying about PHP a decade ago. Now the language about as relevant as Britney Spears' vagina.

I mean, sure, once it was hot. But now nobody is going to touch it. Java is going the way of Britney Spears. Right now it's in the "Crazy, post-child star" phase. Tomorrow everyone is going to be... Didn't Java, like, take a bunch of drugs and commit suicide or something? I can't remember. I think I heard something about it on the internet a few months ago...

That Java sure had a nice ass though! Right?

0

Used 20 years, on 7 billion devices... there's no point. You're entitled to your opinion, even if it is stupid

1

Used 20 years, on 7 billion devices...

Wait... are we talking about Java? Or Britney Spears' vagina?

0

I mean I'm looking for a job asap. Ten years down the line I can just learn a new language.

0

It doesn't take that long to add another if you're already proficient in one. Having more than one language makes the resume look better, and you can do it in your spare time.

0

I would state: Learning concepts makes you a better programmer. Once you understand concepts, you can pick up any language relatively quickly.

1

People live-stream their coding sometimes. Could be a great way to get inside their head!

As for getting hired, showing a portfolio of work is always a great way to make up for experience. It also really helps if you know people in the business (but this is true of any job). Contributions to open source projects always looks good because they are usually have a pretty chaotic organization to them.

Don't forget reading material - they'll probably want to know how you stay up-to-date with our ever-evolving technologies.

0

I was watching a guy code a minecraft mod for about three hours the other day. It seems like everybody is suggesting joining an open source project so that's probably what I'll look into next.

0

How can you have read a 300 page java book and not touched a java project?

Nowadays you can't learn anything by just reading a book, install java and play with it. Also nowedays you don't have to learn one language perfect, just get a grasp as many languages as possible.

What I do is lean new technology at home, but I really learn the technology by working on projects and get paid for it. During the working time I learn what I need for that project. But when I am at home I learn for the projects that I might need in the future.

0

I would start learning an API. Maybe Google around for 'Java GUI APIs' and make a small application that you'll use for something.

Since you're using Java the Android Development Kit might be worth looking into as well

0

OP, what is your education level? In addition to what has already been said, having a college degree will open up your options very widely. It doesn't even have to be a related degree, in fact, sometimes have a different degree + programming experience can land you some really cool jobs.

0

I have an associates in biological sciences but the only jobs I could find with it were terrible paying so I just work construction now.

0

Find a problem you or other have. Solve problem.

0

Start applying for entry-level Java jobs, and in the meantime, pick small projects and tackle them. Make sure you finish each project - completing projects is a skill that many programmers lack. The more projects you've seen through from start to finish, the more you'll learn about good design. Look at open source projects if you need example code. Read up on design patterns, but don't get obsessed with them.

0

Do you have an Android handset? Download the Android Studio IDE and start writing code. It's a useful skill, and in demand at the moment. Learning Java is the hard part. You've done that.

0

i would recommend site like codewars or something similar, just so you will put your knowledge into actual use (u have a problem and you need to solve it writing proper code)

0

As someone who has done hiring of devs for years, I'd recommend a brute-force approach: Get out there and see what is needed.

What I mean: There are companies that offer Junior-level positions. Go and interview. Get your resume together, be honest about where you are coming from, what you've learned, etc. Even if you are under qualified for the position, use the experience to learn where you need to go. Examples of questions to ask the person interviewing you (if you feel that you aren't going to make the cut):

  • What areas could I improve to have been a competitive candidate? (Determine the gap of where you are to where you need to be)
  • What areas specifically do you want to see experience in? (Help determine what you should study next)
  • Do you offer an internship program? (Willing to work for free to get the experience needed?)
  • Do you know of other opportunities in the area that I could contribute to to gain experience?

Best of luck.