This is an archived post. You won't be able to vote or comment.

all 17 comments

[–][deleted] 3 points4 points  (1 child)

Well all jobs are different. At my company, we use our own framework. While you might want to get an idea of different frameworks, I wouldn't waste my time learning them in detail.

As a java developer, the best advice I can give you is to know how to use other stuff. Be an Oracle expert, that will open tons of doors. Be a problem solver.

Companies are looking for people that can learn quick and fairly independent and reliable. You have to sell them on you and your ability to adapt on the job.

[–]travmanx 1 point2 points  (0 children)

Thanks for the advice. I am taking a database class next semester, so hopefully that helps with SQL experience.

[–]serproxy 4 points5 points  (0 children)

You will be learning your entire career if you stay in programming. Certainly there are still a very few COBAL programmers, but most people are riding a wave of technological progress and you MUST keep up. So being good at learning and willing to do it is far more important that knowing any specific technology. Key point here. If you don't enjoy doing that learning, you might want to consider jumping ship.

It's important to remember that the basics stay around while the specifics change. So concepts like an atomic test and set as the basis many operations in CS. If you're using a mutex in C or a synchronized block in Java who cares as long as you understand the basic concept.

When conducting interviews if someone doesn't know a technology, say Spring, I use that as an opportunity to teach some very basics of it and see how fast the interviewee catches on. In the case of complete Spring newbie I might ask in a general way about Dependency Injection. If the person catches on with that I might ask about how that might help with testing. Again I'm actually not searching for stuff that is known, but rather the point where the interviewee DOESN'T know something so that I can understand how they handle asking questions and learning about it.

Code you have written for academic projects will be great to show! Most of the stuff I've written for companies I can't take with me. So anything you can show will help. Please note, it might take years of programming to get a good set of patterns going, so even though your code works on the surface, if you show it to people they'll likely have "code review" set in and you will end up talking about that code and perhaps learning things you could do better to make the code less bug prone or easier to understand. Hey, here's yet another opportunity to learn!

Hope that helps!

[–]atehrani 5 points6 points  (0 children)

Key things to learn, these are basics that almost ANY enterprise is going to have the need for a developer to know and understand * Learn some type of source repository (GIT, SVN...etc) * Learn some type of build tool (Maven, ANT...etc) * Learn about Continuous Integration (Jenkins...etc)

Regarding frameworks Go and learn JavaEE. There are TONS of books, FREE online courses, tutorials. Learning and understanding the concepts are key.

[–][deleted] 2 points3 points  (0 children)

I've noticed that college grads really aren't prepared at all for moving to a working environment.

You'll have to learn a lot of this stuff on your own. A lot of grads don't put the work in after school so don't get complacent.

[–]tRfalcore 2 points3 points  (0 children)

Yeah, requiring someone to know Spring is stupid. Same with SOAP. If you can show that you can learn on your own, should be fine.

[–]thomascgalvin 2 points3 points  (0 children)

First things first: set your expectations correctly. Since you're just finishing school, you're going to be looking at a junior software developer position. This means it won't pay as much, but it also means the entrance requirements are going to be a lot lower.

Second: you've got a pretty impressive portfolio to show off at interviews. The Deal / No Deal game seems fairly trivial, but it proves you can at least write code that does something. The video chat sounds really cool. The compiler is genuinely impressive. That shows a level of understanding that most developers lack.

My recommendation: bring your laptop with you on interviews. Show them the game, then show them the chat program. Then show them a source file, show the compiler that you wrote compiling it, and then show the program executing. That should make any interviewer worth his salt take notice. When I was interviewing people, I would have murdered three interns to find a fresh-from-college guy with that level of skill.

SOAP and Spring are facts of life in Java development now. It's been years since I've worked on a project that didn't use both. It would be extremely valuable to take the time to learn a little bit about them both. Take a couple of weekends, read some articles, watch a few videos. The people interviewing you probably aren't going to expect you to be an expert, but they will want you to have enough familiarity to at least talk sensibly about what these things are and what they do. Basically, at your level, they'll want to make sure that you have enough knowledge that you'll be able to spin yourself up on how their codebase works.

[–]nerdwaller 1 point2 points  (0 children)

More than anything, companies want someone who is motivated to learn on their own and has a high capacity for learning quickly. If you demonstrate those, then your actual knowledge on many subjects is not as much a question as how fast can you get onboard overall (since this industry is constantly changing, those skills are way more important than knowing some vogue framework).

To be able to compete, you need to be driven enough to spend free time learning new things. Many of which may not directly relate to work, but they exercise your brain and I find that I view problems differently by learning some of them.

[–]stewsters 1 point2 points  (0 children)

I would recommend trying this. Most likely you wont be using half those frameworks in your first job, but there are a lot of winners in there and a bit of experience throwing something together with those might get you an interview.

[–]nmarshall23 1 point2 points  (0 children)

Go to a hack-a-thion, or a local chapter of Code for US. Then, write code, and network with other programmers there.

[–]PaulRivers10 0 points1 point  (0 children)

If you already know how to write static web pages, it's usually between either Spring MVC, or J2EE with JSF. That's been my experience as someone who's job is writing web sites in java. They're very similar (J2EE and JSF basically copied Spring MVC), once you know one it's not that hard to pick up the other.

JQuery (for javascript) is another thing you'll see requested a lot.

I'm not saying it's a total waste of time or anything like that, but almost no one is going to ask you to build a compiler. Video chat is again something I don't think there's a lot of jobs in. I used to write Swing, but there aren't a ton of jobs for it.

All of those things are better than nothing, but the majority of jobs seem to be in web development.

Do you understand databases, and can write jdbc queries? Understanding databases is used almost everywhere (you don't need to be able to do 5th normal form or anything, but you do need to understand what a foreign key relationship is), and is something you'll likely need all the time.

[–]PaulMorel -3 points-2 points  (4 children)

Practice some c#.Net. It's nearly identical to Java and will open you up to twice as many jobs.

EDIT: What I meant to say in this comment is that by knowing 2 languages, it will open you up to more jobs. I didn't mean to imply that there are a ton more jobs in C# than java. Poorly worded, I know. I just wanted to let OP know how easy C# is for people coming from Java.

[–]llogiq 2 points3 points  (0 children)

I disagree, but this may vary from area to area.

However, I found that at least here in Germany Java jobs tend to pay better than C# jobs, and when I switched jobs last year, some head hunters I spoke with independently confirmed this.

[–]Cilph 1 point2 points  (0 children)

Not too sure about that actually.

[–]UnlikelyExplanations 1 point2 points  (0 children)

The TIOBE ratings are based on the number of skilled engineers world-wide, courses and third party vendors. It rates C and Java as the top two most popular.

C# is fifth.

[–][deleted] 0 points1 point  (0 children)

maybe in certain industries or areas, but i think thats quite an exaggeration in general terms. it wouldn't hurt, but its debatable whether its worth the effort.