4 ms·
As somebody who does interviews for developers in a Java shop, a very blunt view of things: Any coding you've done more than five years ago isn't relevant anym
by nomercy400 9y ago
As somebody who does interviews for developers in a Java shop, a very blunt view of things:
Any coding you've done more than five years ago isn't relevant anymore. I can't remember what I did five years ago. It is probably outdated, replaced or not in use any more. Looking back at my projects from five years ago, I would probably not agree with most of the code, as I've learned a lot of new things.
I do care about your projects. This is the most important part for me. What projects have you done, what was your role, what did you do, what did you use, what was the result, and what are your proud of. Also, I hope you varied your work a bit, because when I read you worked 10 years on the same system, it tells me you didn't think enough out of the box and I'd worry about your skills outside of that system. Also, surely you did smaller projects in those 10 years than just saying you 'maintainted and implemented new features for system X'.
I don't care about your Delphi, BASIC, COBOL or Java 1.2 skills (looking at your CORBA). I do care about your Java 8, mobile, and recent webtechnology skills. You don't know what the technology behind a website is? Then it's a minus, as you've missed out on ten years of technological advancements in your field. I'm not saying you should be expert in web technologies or frameworks, but at least have a basic understanding about HTML5, CSS and Javascript, what they do and what they are used for. Like, the basics.
I care little about your soft skill trainings, they might have some value. I don't care about your framework trainings, I'd rather see you use them in your work experience. I do care about your Java (Programmer 2) certification, because you are working in a Java shop and as somebody who has done the certification I know the value of preparing for the certification, and I know you are dedicated for this.
I care about what libraries/frameworks you would use, and will ask about the reason for using one over the other. This gives me an idea that you can look outside of your comfort zone, be able to accept other ideas, know how to analyze functionalities of a framework, and know that you should understand a library's internals before using it because of the hype.
I care about your theoretical/general skills: Do you know how to structure your program, do you know about SOLID principles, do you know design patterns, etc. These give me an idea if you can write larger programs, that can be maintained.
I care about how you answer my questions, how you respond to be challenged on a point, how you will defend a point, how you will convince me to use a new library that I don't know about (which I actually do) and sell me it's good points. This is because I want to see you speak the same language of the team, and can communicate your opinion in a professional manner. Get irritated or super-defensive, you probably aren't a good fit for the team, as you'll have colleagues that challenge you as well, and you will just be irritated all day long.
All these give me an idea on how passionate you are about developing software. Not passionate as in 'go spend 70hrs a week here', but passionate as in seeing software development as your craft, your reputation, your skill.
In the end I care about three things: Can your do the work in a professional way (hard-skills), will you be able to work well with your colleagues (soft-skills), and will you be happy to work here (retention).
- alkonaut 9y agoI agree with most of this but lots of people will go a whole career without massive changes. I do desktop dev and the tech is not very far from where it was when I joined the project 14 years ago. I still change files I changed in 2003. If we found a good developer it wouldn't really matter much whether their skills was from 2007 or 2016. It's not "tech" or "programming" that evolves quickly, it's just a few specific domains (web, mobile, ...). Lots of others (desktop, embedded, ...) don't have that kind of churn at all.
- nomercy400 9y agoTrue. My point is that if you've worked 14 years on a project, I'd like to know what you've done in those 14 years. Did you upgrade your toolchain, did you upgrade your main language version (eg. java 6 to java 8), did you consider webdevelopment and if so why didn't you change (I'm not pushing for web here, I'm just curious why you didn't follow the trend/hype). And what kind of substantial features/improvements did you create in those 14 years? Or did you only modify existing screens based on business specs? Java didn't really evolve in the desktop development environment. We would still create Swing applications.
- alkonaut 9y agoYes, of course, sure. I mean it's a completely different world then and now (Multi core cpus, High dpi displays, language versions gone from C#1 to C#7 etc). Complete window toolkits swapped out etc. Feature set has probably grown 1000% (E.g. like Word 1.0 to 20XX). So it's almost unrecognizable but the thing is that someone who was in on the project 10 years ago would be up to speed fairly quickly even though the language jumped 6 major versions and the window toolkit changed etc. And someone who wrote a swing app in '97 could jump on board this C#7 project and be productive immediately. The fundamentals don't change much. When I look away from Javascript for 5 years I feel like I woke up on another planet. > did you consider webdevelopment and if so why didn't you change (I'm not pushing for web here, I'm just curious why you didn't follow the trend/hype). Same reason other heavy desktop apps and games aren't web based. Need the power of the local machine. It's not a db+forms app, it's a CAD+FEM package. There are of course some examples of "cloud cad" now but I doubt it will become mainstream any time soon. Probably what is the core of the matter here is that the fundamentals of the application isn't the code that makes application tick, it's the domain logic. So while desktop moves slower than web/mobile, apps that are 90% e.g. physics etc moves slower than apps that are thin on logic and deep in presentation such as many web apps. I suppose if our app was an AI app, then it would be pretty out of date because the domain moved so much in 10 years. But for CAD/FEM it doesn't.