Software Engineering is a modern day dilemma akin to Don Quixote charging at windmills in attempts to slay dragons.
It's miraculous to watch people in a team spend hours upon hours discussing solutions for problems that are as easy to reach as sending the Space Shuttle to Proxima Centauri.
It's the moment when the title Engineer is most obvious, mentally walking down branches, attempting to avoid future pitfalls for solutions that haven't even been implemented.
Internally, the Engineering mind is quite fun and exciting, yet a boiling cauldron of contradictory realities of insecurity and deep set assuredness.
One of the hardest issues that I've faced in my short time as a professional Front-end Developer is accepting that my job is one that can't give me a sense of daily accomplishment in return for a full day of writing code.
All arrows are pointing to completion, finishing the task, launching a product, meeting timelines, and not disappointing users and bosses alike.
I'm grateful for the company I work for, because they're acutely aware of Developer burnout and push hard for us not to cross 40 hours of work per week.
Nonetheless, the opposing force of "finishing a product" pushes back hard, and I cannot deny that as a deadline begins to approach, the pressure mounts no matter how hard you may be told not to let it.
These are how the seeds of stress are planted. It's how coding standards and a programmer's well-being are put aside for the sake of meeting an artificial line drawn in the sand. All to be able to click a checkbox to move a project from version 1 to version 1.1?
These things don't do much to motivate.
To me there's nothing better than the act of creation and making it work. The dopamine hit of seeing a problem and solving it, which may or may not align with administrative goals in project estimation.
How then can an engineer maintain a sense of completion in workflows that are never complete?
This is so hard to mentally understand as the most obvious signs are pointing towards finality and accomplishment. As we lust over that moment we can put down our tools, kick our heels up, and say to ourselves, "ah ha, this is just how I wanted it."
That dream is impossible, and chasing these ghosts of our imagination can drive someone mad.
Leaving these aside, what measure can be used to feel our way through a workday? If far off goals leave you feeling empty and unaccomplished, how can someone maintain a perspective to avoid falling for the pitfall of "completion"?
Take yourself back to your first code camps. Or the first coding lessons you took. Or the first time you wrote actual code.
Think back to the first time you figured out how to use a loop, manipulate data, move an UI element with the click of a button? Whatever those early senses of achievement may have been.
Knowledge is a powerful drug, as well as a destroyer of the simplicity.
But that doesn't mean that the simple excitement of basic accomplishment is gone, it just means that you stopped paying attention to it in lieu of something you believe to be more compelling.
Allowing the mind to keep searching for more and more complex problems to solve may be the foundation of your pay rate, but unfortunately leaves the beauty of the mundane by the wayside, a tragedy to chasing achievement.
If feeling lost and bored while developing, and stressed at far off goals, allow for a challenge to bring things back to basics.
Bring your attention back to the moment by moment pleasure that you feel by solving problems, breaking down a puzzle, and connecting with fellow like-minded people who are driving towards accomplishing something together.
Leave behind the wide-viewed problems, and find your way back to the smallest of accomplishments.
Then iterate it. Again and again and again.
Placing emotional payoffs in small, everyday accomplishments will quickly make far off, nearly unachievable focuses seem silly.
By the time a goal, artificial or not, is reached, you've had hundreds upon hundreds of little victories. You won't be worried about putting things down to take a break after "accomplishing something so huge," you'll be excited about tomorrow's fun and excitement for a whole new set of accomplishments to achieve.
Ultimately, you and your mental well-being are more important than any product that could be made - sacrificing that for any reason will do nothing more than keep any long-term goal from being accomplished anyway.
And why sacrifice both to accomplish neither?