Strictly speaking, the requirements aren’t much as there are redundant items on the list.
Like I told @JohnEnoh once on another thread (or maybe this one), the issue is the presentation & not the requirements.
Let me take a stab at condensing this:
One possible refactoring could be:
- Front-end development (HTML5, Javascript & CSS)
- Java
- PostgreSQL
- Frameworks: Querydsl, AngularJS 1.5, Spring 4
- RESTful API / REST API
Knowledge of the Meta-Programming & Aspect-Oriented Programming is also required.
-
With Spring, Java knowledge is implied just as Rails implies Ruby knowledge. Also, any good Java dev can get comfortable in Spring in days.
-
If you use Spring, you work with JPA.
-
PostgreSQL is a popular RDBMS, so even if you work mainly MySQL, if you’re any good you shouldn’t have issues working with PostgreSQL. Also in this case, JPA would do most of the plumbing for you.
Querydsl is a convenience, but if they deem it important, then it is important. -
With your Spring knowledge, if you’ve been developing in this day & age, chances are high to certain that you know how to create REST APIs. Even if you don’t, if you’re good you can get up to speed in a day.
-
If you do Java, it’s a given that you know OOP.
-
If you do (or have done) front-end development, you know HTML5 & Javascript (ECMAScript 5.x especially as it’s the most popular version around & it’s what majority of Javascript devs know).
-
You may not be an AngularJS dev, but you should have little/no issues if you know enough Javascript & understand how the plumbing works.
8a. Responsiveness is something you get out of the box from many CSS frameworks e.g. Bootstrap.
8b. You may not know Material Design principles, but there are frameworks for that. I used one of them for Moview & I still don’t know the principles cover to cover. So, these two could be bundled under CSS.
Skill levels in each of the needed areas can be determined at interviews.
Notes
- Ability to see that the list can be shorter than it is could also be something one could look out for in an interview.

- You might want to hire different people for front-end & back-end development to get the best in each specialization.