11 Replies - 2517 Views - Last Post: 21 June 2013 - 11:47 AM
Posted 13 May 2013 - 06:37 PM
Is the Java technology stack as bad as .NET?
Replies To: Entry-Level/Interviews
Posted 14 May 2013 - 08:49 AM
You were in the Navy. Did you approach it like this? Did you look at all the skills for all the jobs and lump them together then think that in order to join the navy you had to know everything:
- Helicopter piloting,
- Submarine sonar reading,
- Nuclear power plant operations
- Launch catapult repair
- Cryptography equip. operation
- SEAL training
- Satellite communications setup
No. Of course not. You picked a job, then learned the skills for that.
This is no different. You need to decide what kind of job you want (and don't just say 'programmer' as there are 1,000 different specialities) then learn the skills for that.
Do you love web applications, finance charting, games, interfacing with hardware, mobile platforms... etc. etc. etc.
This post has been edited by tlhIn`toq: 14 May 2013 - 08:51 AM
Posted 17 May 2013 - 06:17 AM
Obviously won't be able to learn "all" of it straight off the bat, but don't despair, just pick a stack and make a hello world and then keep going. There's a ton of tutorials out there for whatever you choose, and you can get something half decent up and running in a few days, easy.
Posted 17 May 2013 - 08:24 AM
Sadly, HR departments often write requirements. Most entry level people don't need to know all of that. They do need passing familiarity with all of it, but not to be experts.
Of course, the reason you need to know all of this is that it all works together. ASP.NET uses C# as a server language, HTML/CSS/JS on the client, and SQL for data access. It's not that the stack is abnormally large; any web development framework is going to have similar requirements. For instance, if you wanted to be a PHP developer, you'd need to know PHP, HTML/CSS/JS, MySQL (or any other SQL DBMS), and probably Bash as well. It's because there's so much more to Web development than just writing compiled code. It's not that .NET's stack is crazy, it just includes the basic things that every web developer must be familiar with, plus its own stuff.
If you don't want to learn a web development stack, don't apply for those positions. But in the business programming world, most of the time you'll need to be more than just someone that knows one particular thing. For instance, making modern .NET desktop applications will require you to learn XAML to write WPF applications.
Don't be discouraged. If a company won't hire you for an entry-level job because you aren't already an expert in every requirement, you don't want to work for them anyway. Keep interviewing until you find a company that recognizes potential instead of just previous accomplishment. We just hired a junior developer that has no business programming experience. He comes from a game programming background. But we know that talent is more important than any particular set of knowledge.
Posted 17 May 2013 - 01:17 PM
I was mostly just venting. In previous lines of work, I'v never been turned down at an interview. It pretty much sucks to be turned down, but now I know what companies are looking for and I will not let a "JUNIOR" title fool me anymore. The posting may be for a junior level pay, but from the interviews I have been on-- the companies wanted intermediate level talent or above. It seems everyone has a different definition for what a junior level programmer should be able to do. I know the basic syntax for alot of different languages but haven't memorized the different libraries for each language.
I can write basic SELECT statements and such in SQL but I can't tell you the difference between an Inner/Outer join (interview question), I can pull up notepad and format out a plain no frills html site, with css but I don't know much about session state and postback. I can write loops, functions/methods/sub procedures, use inheritance, pass variables, etc in 5 different programming languages but I can't write a lambda expression (interview question), I can't remember wether or not the DateTime object in C# can be assigned a null value (interview question). I can tell you value types are stored on the stack, and reference types on the heap but I can't explain to you the exact definition of boxing/unboxing (interview question). Oh I had another one where I had to draw an ERD diagram, and explain how I would convert a numeric string to words. Sure I can do that, but give me Visual Studio and google.. I'll knock it out in an hour. Heck just let me use notepad, forget visual studio.
Especially when you're in a creepy conference room, being interviewed by cocky kids that are 10 years younger then you. (I am 34). Ok that only happened once. But anyways, I am just going to keep at it. I will study SQL, C#, ASP more in-depth because that's what it takes.
I also need to get a little better at the interview process itself. I previously owned a business, and interviewed hundreds of people for positions, but when I get interviewed myself I still get nervous. I don't get it
Anyways, Thanks for the advice everyone.
Posted 17 May 2013 - 01:42 PM
I've had juniors who knew less than what you just rambled off.
You're right about people having different definitions of junior though. Some redefine it because they don't want to pay as much, others just because you're the lowest on the totem poll, some just base it relative to the best in the office (and some offices the best is intermediate at another office).
Oh and for those question you had, they all kind of relate.
Value Types (structs) are on the stack, Reference types (classes) are on the heap. Value types can't be null, because null is the absence of a reference. DateTime is a struct/value type, so thusly it can't be set null. Boxing is when you take a value type and throw it on the heap... this is done if you stick a value type in a variable that is typed object (or an interface type). Unboxing is when you cast it back to the value type, transferring it back to the stack. A boxed value can be set null... if you wanted to throw off the DateTime guy you could have said, "Is that DateTime boxed or unboxed? And is the swallow Mediterranean or African?"
This post has been edited by lordofduct: 17 May 2013 - 01:44 PM
Posted 11 June 2013 - 05:36 AM
Call it a portfolio, etc... but in the end ... even small web apps, show us more about an applicant's skills and interests than discussions about MySQL commands, etc.
I'd encourage you to pick one particular technology and produce something. A simple charting app or utility - anything really.
We had an applicant who applied for an entry level position, but after he took us through some of the personal projects in their portfolio, we offered him a more senior position instead.
Posted 12 June 2013 - 05:08 AM
Posted 21 June 2013 - 11:33 AM
Posted 21 June 2013 - 11:39 AM
Depends on what you're going for. Android isn't so bad. It takes a little time to get used to the XML layouts, but the learning curve isn't bad. The GUI code resembles Swing to a certain extent, but is far less bulky. Depending on the application, you'll probably want some basic web development experience so you can write a web service to be consumed by the app.
Java EE comes with analogous requirements listed in comparison to .NET. I'd echo Curtis Rutland's sentiments here. You want some familiarity with these technologies, but you learn a lot for your projects on the job too.
Posted 21 June 2013 - 11:47 AM
At the moment I work as a Java developer, working on the service side with Spring, Hibernate and Apache Tomcat. These technologies are difficult to learn, but they can be used to create applications that scale for hundreds of thousands of users.
I would say .NET is easier than what I do in Java, but it depends what you do with it. It seems easy to make basic Android applications.