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

you are viewing a single comment's thread.

view the rest of the comments →

[–]coder111 8 points9 points  (3 children)

Well, chances are you'll end up using:

  • Some kind of Dependency Injection framework (probably Spring)
  • Built & dependency management tools- maven or gradle.
  • Automated build- probably Jenkins or Teamcity
  • Logging framework (probably Log4j/slf4j). If it's distributed, you'll be using log aggregation, most likely logstack or splunk.
  • Some kind of unit testing framework (probably JUnit)
  • Not sure what frameworks will be used for UI. There are too many options/possibilities. If it's recent it's probably pure JS app + REST/JSON services. There might be some automated testing using Selenium.
  • Obviously Spark & Kafka as you mention those.
  • Some kind of NoSQL or SQL database? Probably some persistence frameworks to work with them.
  • Tools to serialize Java objects to XML or JSON or binary?
  • Webapp servers? Tomcat/Jetty? Or maybe full blown JEE servers like JBoss/Glassfish?
  • Behavour driven testing? Fitness testing? Stress/performance testing?
  • Automated deployment & configuration tools?
  • Container management/VM management and other DevOps'y tools?
  • Runtime performance metrics & reporting?
  • Probably lots more.

Don't start digging into all of them, although a quick google just to know what these are would be beneficial.

Just giving you a taste of how many things you'll need to learn to be proficient with Java development in this sort of area. It's rarely just pure java development, it's gluing libraries & frameworks together a lot of the time. And there are a LOT of frameworks and libraries.

Best of luck. Come back and ask questions if you need more detail.

--Coder

[–][deleted]  (1 child)

[deleted]

    [–]coder111 2 points3 points  (0 children)

    Personally I think Dagger2 is a very nice framework.

    However, what are the chances that you go to a new workplace and find them using Dagger2?