I currently live in jar/dependency hell. At one point there was about 5 jars for everything and statements like "We need to break things apart" swung the pendulum all the way to the other side. Left or the right, you pick :). Recently I was working on a project where we have old spring xml configuration meshed with new java config. There was some conflicting configuration classes so I needed to use a filter to customize scanning.
I am working for a company that is transitioning to an agile methodology. During a training session co-locating was emphasized which is a concept where an entire team is all sitting side by side in the same room or space to promote collaboration. Since team members work in different offices all around the world, work from home and have alternating schedules, a question was asked how do you engage remote team members to spark collaboration? In this article I will share a few ideas that I find helpful while working remotely 100% of the time.
If you are using spring boot or working towards java config, you might have or are looking to get away from web.xml based configured web applications. Various frameworks, such as JSF, rely heavily on context parameters for initialization and configuration. If you aren't familiar,
< context-param> is available to all parts of the web application and typically can be retrieved by
In places of work before you start something you will have many internal debates, "flexing of architecture muscles" on how something is named. Naming of classes and files is an important aspect of software development but it is very difficult to get done right. I personally struggle with this, pick something and be consistent vs spending days upon days to find the right name. There has been a smaller percentage of the "oh man we named this right" to "crap, why the heck would we name something like that".
JSF, GWT and various other java frameworks masked java developers from having to learn HTML/JS/CSS which is what we wanted or allowed them to do. It allowed management to resource project teams with a set of java developers for front end, back end and middle tier. In this resourcing model, one thing that it prevents is the ability for developers to get vertical and grow which creates frustration among developers. What I mean is developers don't have the time to get good, efficient or understand one slice of the stack (service, front end, middle tier, etc). In many cases when project teams are put together, the development team naturally segregates itself into front end, back end and application tiers.