title: Flink developer's role from watermarks perspective
body: <p>I am a newbie to Flink and came across an article that mentioned</p>
  <p>&quot;<em>A flink developer is responsible for moving event time forward by arranging the watermark in the stream</em>&quot;.</p>
  <p>So, I figured out the possible answer for this. As per my knowledge, if I Instruct the program to emit watermarks every <code>5</code> seconds. Actually, every 5 seconds, Flink invokes the <code>getCurrentWatermark()</code> method of <code>AssignerWithPeriodicWatermarks</code>. If the method returns a non-null value with a timestamp larger than the timestamp of the previous watermark, the new watermark is forwarded. This check is necessary to ensure event time continuously increases; otherwise, no watermark is produced.</p>
  <p>So, once everything within a window has arrived it will trigger the operators and computations will be done accordingly and what is the role of the <code>processfunctions</code>? Watermarks can be used by <code>processfunctions</code> only, right?</p>