DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
The Latest "Software Integration: The Intersection of APIs, Microservices, and Cloud-Based Systems" Trend Report
Get the report
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. Stay Up-to-Date and Think in Contexts

Stay Up-to-Date and Think in Contexts

Nicolas Fränkel user avatar by
Nicolas Fränkel
CORE ·
Nov. 30, 10 · Interview
Like (0)
Save
Tweet
Share
5.39K Views

Join the DZone community and get the full member experience.

Join For Free

How many times in the last couple of years have you seen an initialization servlet (a servlet which is used only once with the load-on-startup parameter) although a context listener could have been used in its place? How many times have you seen a JSP full of indecipherable scriplets though equivalent taglibs were available? How many times have you disagreed with someone who wanted to talk you into using DTO regardless of your application’s needs?

I could go forever like that but the point is: this is bad and this needs to change. I personaly blame this behaviour on two things.

First, technologies change daily. This is a fact. And the more technologies you know, the more it takes time to stay knowledgeable on them. At least it is how I convince myself why I was not able to teach me .Net in the last years: because I had to stay up to date on so many Java/JavaEE subjects. That’s the reason for init servlets still being in use although listeners are available since JavaEE 1.3. Is it bad? Perhaps not so much, but why use a Ford T when you got a brand new Porsche? And people maintaining the code you developed will always wonder the reasons behind this choice (and sometimes even your capabilities).

Yet, this is not the same thing as always using the newest feature of the latest version of the hype framework of the moment, something I’m also opposed to. But when a solution is mainstream, you should have in your mind as many of them as possible, and know their respective pros and cons.

Second, most of the developers and architects I know (including myself) tend to have an rigid mindset. This translates to always applying the same solutions, whether taught by a guru, by experience or just by oneself, regardless of the context, because they worked once. That’s why many people “just” use DTO although DTO were only needed when using EJB entities, because those entities couldn’t cross application layers and were confined to the EJB container (see my previous DTO in anger article). Today, you should consider using DTO only when there’s such need and not by default. On the other hand, when you discard a technology/solution, it’s final, even though it may have evolved and finally reached its goal.

In conclusion, I would advise everyone that wish to be successful in software to have two mottos: stay up-to-date and think in contexts. I know that depending on your implication and personal situation, staying up to date is more or less easy but you should picture it not as a black and white goal but as a gray scale instead. As for the thinking in contexts side, well, there’s no reason not to do it.

From http://blog.frankel.ch/stay-up-to-date-and-think-in-contexts

Data transfer object application entity Moment Architect (software) IT Cons Container

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Reliability Is Slowing You Down
  • Spring Boot vs Eclipse MicroProfile: Resident Set Size (RSS) and Time to First Request (TFR) Comparative
  • The Path From APIs to Containers
  • Cloud Performance Engineering

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: