DEV Community

When are you happiest as a coder?

Ben Halpern on July 05, 2020

What are the times when you just really really love doing this stuff?

Collapse
 
j4ng5y profile image
Jordan Gregory

My favorite time it's when the thing you have been working on for hours, days, weeks, months, finally goes into production and people actually start using it. It's usually the start of a long journey, but it's the best feeling.

Collapse
 
zilti_500 profile image
Daniel Ziltener

Yes! I get to have that on Tuesday. Guess until then, I'll have to live with the nervousness

Collapse
 
j4ng5y profile image
Jordan Gregory

I hope everything goes well for you! I feel the need to ask what you are deploying, but if it's a stealth release, feel free to tell me no lol.

Thread Thread
 
zilti_500 profile image
Daniel Ziltener

It is the-network.io, a platform for VC investment funds, and over the past week we had a bunch of calls with clients, showing them a non-permanent version of the platform to get their feedback and maybe have them subscribe to it. I'm happy to say it was received very positively :)

Thread Thread
 
j4ng5y profile image
Jordan Gregory

Congratulations!

Collapse
 
stealthmusic profile image
Jan Wedel

Doing TDD up to the point where the last line of implementation is done and everything works.

Collapse
 
ben profile image
Ben Halpern

Great feeling indeed 😄

Collapse
 
scrabill profile image
Shannon Crabill

When I've finished a thing (feature, a commit, a whole project). Those are the best moments.

Collapse
 
octaneinteractive profile image
Wayne Smallman

A pause for pragmatic celebration.

Collapse
 
kenbellows profile image
Ken Bellows • Edited

When I'm working on an interesting, complex problem, but making progress at a steady pace.

It's a balance that's easy to upset in either direction: if the problem is too simple, especially if it's a lot of repetitive, rote work, sure you'll make quick progress, but it can get boring; but if a problem is overly complex, like a caused by subtle, weird race conditions that are hard to reproduce, or if the library you're using has some unexpected behavior and you have to dig through someone else's poorly organized deep class hierarchy to find the bug (this is definitely a hypothetical and not my actual life right now 🙄), it can feel like trudging through deep mud, making frustratingly slow progress.

Both of these are normal parts of software development, but they aren't the parts I love the most. I'm happiest when I'm presented a really interesting, non-trivial challenge, especially one where I have to do some research and learn a new technique, but where I have at least an idea where to go and I consistently make some significant progress daily, check off a subtask each afternoon before I leave.

Collapse
 
scottstern06 profile image
Scott

When I'm working on an interesting, complex problem, but making progress at a steady pace. It's a balance that's easy to upset in either direction: if the problem is too simple, especially if it's a lot of repetitive, rote work, sure you'll make quick progress, but it can get boring;

Wow, you really nailed this!

Collapse
 
maxart2501 profile image
Massimo Artizzu

When I'm actually coding.

So no:

  • useless meetings;
  • calls with the client;
  • asking the designer what the heck is that;
  • writing documentation;
  • bickering with the accounts for the impossible deadlines;
  • pondering estimations (even for things like "how long will it take to fix this bug?"), especially when there's no clue of what the project is meant to achieve in details and the functional analysis is a shape-shifting abomination.

But I understand it's all part of the game and my seniority demands me an important role in all of that, so it's ok. Just let me code once in a while.

Collapse
 
ben profile image
Ben Halpern

How much of your work do you typically find "matters"?

 
kenbellows profile image
Ken Bellows

I feel this deeply. I don't mind some backend optimization work, and I get that it's important, but man, there's nothing like user-facing development, especially in a situation where you can talk directly to your users and take feedback.

Collapse
 
ryansmith profile image
Ryan Smith

I think it is when the focus is on the problem I'm trying to solve rather than on tedious language, framework, or environment quirks. That was the initial appeal of web development for me because I could start a new file and turn a design into code and have something to show for it. When the extraneous setup and prerequisite learning are already taken care of or if a language/framework/environment makes that super easy, then I tend to be happy while coding.

Collapse
 
adrianmarkperea profile image
Adrian Perea

Refactoring!

Nothing beats the feeling of transmuting a garbled mess into well-written prose

Collapse
 
axelledrouge profile image
AxelleDRouge

But first you have to read and understand the garbled mess, even (especially) if it's yours, and I find that part excruciating.
But yes, after it is done, it is really a fantastic feeling of accomplishment. Maybe it is actually proportional ?

Collapse
 
adrianmarkperea profile image
Adrian Perea

You're absolutely right! It's painful to refactor large piles of stinky code. I find it less accomplishing to do manage that since I don't find any joy in doing it. Then again, continuously optimizing/refactoring after every small change in code slows your progress to a crawl.

I think laying down the logic, and THEN ironing out wrinkles afterwards is the sweet spot!

Thread Thread
 
axelledrouge profile image
AxelleDRouge

Laying down the logic is the part where you must rethink your logic (why sometimes asking yourself "what the h*** was I thinking ?"). I find its a stimulating time. Most of the time, I use my good old paper and pen to do that, and really like the process.

Thread Thread
 
adrianmarkperea profile image
Adrian Perea

I totally agree with using pen and paper to map logic! This is where I appreciated my UML diagram lessons back in university. They may seem esoteric, but knowledge of flow charts/activity/sequence diagrams really help clarify your own intentions. Plus, it's a good skill to have if you work with a team.

Thread Thread
 
axelledrouge profile image
AxelleDRouge • Edited

Indeed! I actually discovered the computer world with flow charts/sequence diagrams first, using them to work with a software that allowed to create new modules without code (a so-called "no-code" platform). You could say that I start with diagrams, before learning to translate it to code

Collapse
 
darksmile92 profile image
Robin Kretzschmar • Edited

The moment when I had been sitting for hours/days on a complicated task / feature / issue and then had the enlightening breakthrough to solve it! 💡

In this very moment you feel you just understood the whole universe 😁

Collapse
 
kristijanfistrek profile image
KristijanFištrek

Honestly, getting paid 😅

Don't get me wrong, it's an incredible feeling working on my own projects and seeing them work. But to be rewarded for what I am passionate about and actually making a living from doing what I love is the greatest high ever.
Keep in mind that I did numerous projects for free just to fill up my portfolio and earn some credit. It was many years down the line when I actually asked for some money.

Collapse
 
frankfont profile image
Frank Font

Getting paid to do something valuable that you also love is the best!

Collapse
 
msfjarvis profile image
Harsh Shandilya

Kinda lame: When I delete more lines than I add in a PR

LoC is an incredibly stupid metric, without a shadow of doubt, but there's something about the joy of making something better than it was by reducing the amount of code needed to make it happen :-)

Collapse
 
merri profile image
Vesa Piittinen

I have a confession to make. Because I really like doing those refactors that last intensively for a couple of days. They're not healthy for one to do continuously and generally it is better to improve incrementally in small steps, but just getting yourself lost entirely into some code and complexity for a couple of days is something I love. Even with all the swearing I have to do with the "stupid" existing code that is in the way and doesn't do things the way I want :)

Collapse
 
yoadev profile image
Younes

When things are working on the first attempt without having to fix any semicolons errors 😂

Collapse
 
hammertoe profile image
Matt Hamilton

At that lovely point when after much trial and error and learning about the problem you are trying to solve, things start to come back together.

You start with an idea or a problem to solve, and things get more and more complex as you try to solve the edge cases, etc. Then there comes a point when the patterns emerge. The refactoring happens. The code gets smaller. Gets simpler. Lines of code get deleted. Things get elegant.

That is when I'm most happy.

Collapse
 
eekayonline profile image
Edwin Klesman

When I create value for other people creating something that works. It doesn't even have to be coded. Might be no-code, a demo version using a mockup tool, etc.

As long as I'm providing value I'm on the jazz.

Collapse
 
hi_artem profile image
Artem

When I struggle with learning some new tool/framework/concept for few hours/days/weeks/months, but then it finally "clicks".

Collapse
 
axelledrouge profile image
AxelleDRouge

When I am working on a project just the way I like, without any exterior factor (like working just like the old version of the software design, regardless of the logic and the necessity, or using an older technology rather than a newer more efficient one, because nobody else really took the time to learn about it before saying NO, or having the condition on creating a web application to work EXACTLY like its desktop counterpart even if it make no sense)

Collapse
 
togakangaroo profile image
George Mauer • Edited

When doing domain modeling and you suddenly "see the matrix". Usually on a walk or in the shower; you're thinking about things as orders and deliveries when a thought punches through. What if you modeled it as a series of composable service provider abstractions? This will create a far more naturally flexible system and significantly collapse the complexity. You run it by the product owner who excitedly validates that yes indeed, this approach works and simplifies things. Then you get to delete tons of code.

I remember the first time this happened to me. It was so profound i had to take my lunch to go sit on the banks of the Mississippi and feel the Zen.

Collapse
 
okeeffed profile image
Dennis O'Keeffe

When I am working on things that peak my interest! I come to find that the act of coding inspires more motivation and it becomes a snowball effect. This could even mean learning a new technology, pattern or library.

Generally, I love doing small projects or deep dives into new libraries/projects and having those sweet victories or lightbulb moments. They are moments to savour.

The longer the project (if I am interested), the bigger the payoff too. Similar to training for a big event and finally running the race after all that training.

These are especially true of work projects too. If I am not aligned with what the company wants to do or it doesn't align with what I want out of my future, I can be very flat in my career. Worst-case scenario, I do this "flat" work and then the company project pivots after a few weeks of toiling away. This happened a lot early into isolation and it brings a real feeling of wasted time - not ideal in these trying times!

Collapse
 
nikoheikkila profile image
Niko Heikkilä
  1. Find a bug
  2. Write a failing test for it
  3. Fix the bug
  4. Ensure the test is green and open a PR

The fact that I can only follow this pattern for 1/3th of my coding time makes it even more special a treat.

Collapse
 
lauragift21 profile image
Gift Egwuenu
  • When I'm working on a project I'm really passionate about.
  • When something I worked on gets shipped.
  • When the work I do gives value to other people and communities
Collapse
 
ndy40 profile image
Ndy

When I work on a new feature or concept that is major and at the heart of the product. When it is done and it actually works and the business actually notices it and the dev team gets a mention in the Company Update meeting and we get to visit the bar like Spartans.

Collapse
 
borisv profile image
borisv

Believe it or not - it's when I can have good and extensive communication with clients about the pitfalls and obstacles we are BOTH facing, but look at differently, and then I can contribute to their understanding and I'll receive appreciation for those explanations. It is is the best way to find solutions for frustrating aspects, because it is a way to find the compromise we both on our own wouldn't be able to take successfully.

Collapse
 
octaneinteractive profile image
Wayne Smallman

While it sounds egotistical, I like the challenge of doing something others (often the client included) thought was impractical or too intractable to do.

Collapse
 
frankfont profile image
Frank Font

I know the feeling. I'll add that it feels even better to bring someone along (mobbing or pair programming) and witness them realize they did more than they thought possible too.

Collapse
 
octaneinteractive profile image
Wayne Smallman

If I did bring someone along, they'd be refactoring everything in my wake!

Thread Thread
 
frankfont profile image
Frank Font

I know what you mean. :)

In all seriousness, mobbing and pair programming work best when everyone is contributing real-time organically so there is nothing to refactor when the session is done. It has a productivity potential beyond the capacity of any one of us.

Collapse
 
jmplourde profile image
Jean-Michel Plourde

During the morning, when I put my coffee on my desk, put on my headphones with some good vibe music and start making my todo list on my scratch pad.

Collapse
 
billylo1 profile image
Billy Lo

Released a surprisingly useful feature that few people thought it was possible.

Collapse
 
shinabr2 profile image
ShinaBR2

When I understand that my code can help a lot of people.

Collapse
 
gillarohith profile image
Rohith Gilla

When the code I write helps others, to put in simple words when I see my production code in other person desktop/mobile devices it gives immense happiness.

Collapse
 
kristijanfistrek profile image
KristijanFištrek

As an Angular developer, I find this too relatable. 😥

Collapse
 
rahuldkjain profile image
Rahul Jain

When I see that my contribution is runing in production

Collapse
 
downey profile image
Tim Downey

When I am slinging sweet, sweet YAML.

Collapse
 
kenbellows profile image
Ken Bellows

Ooh spicy opinion over here 🔥🌶️🔥 haha

I personally like YAML a lot, but it takes a lot of flak for some reason.

Collapse
 
downey profile image
Tim Downey

🙃

Collapse
 
zilti_500 profile image
Daniel Ziltener

Oof.

Collapse
 
nitinreddy3 profile image
Nitin Reddy

When I feel that I have accomplished my goal for the day.

Collapse
 
scottstern06 profile image
Scott

When you build stuff that others use to make their life better/easier through feature work and tooling. Its especially nice when you can calculate time saved to do a task for a large group of people.

Collapse
 
ziizium profile image
Habdul Hazeez

That eureka moment of "It finally worked!"

Collapse
 
probeta1 profile image
Abhinav Kumar Srivastava

When something I code is being used by the intended user !

Collapse
 
xanderyzwich profile image
Corey McCarty

When I'm writing code and learning new things without spending the majority of my day in meetings.

Collapse
 
deogadkarravina profile image
Ravina Deogadkar

After hours of chaos and fixing bugs, finally it is working perfectly. That relaxing moment when I am shuting down all open tabs in my browser. I really like that moment!!...

Collapse
 
shahzadvirani profile image
Shahzad Virani

When the code runs without any errors xD

Collapse
 
crimsonmed profile image
Médéric Burlet

When you've been writing a complex piece of code for hours then try it and it works on the first go.

Collapse
 
tvanantwerp profile image
Tom VanAntwerp

When the day is over and the work is done. Time to relax with the fam!

Collapse
 
annietaylorchen profile image
Annie Taylor Chen

When I worked out the final product/projects as my mind intends it to be (UI, UX, performance etc) and tests are bug-free.

Collapse
 
ordiel1 profile image
César Martínez

When I can determine the application's logic myself while having creative freedom to choose the means to make it so

Collapse
 
ardennl profile image
Arden de Raaij

When I'm animating things and it's so cool I can't help myself making sound effects and repeating the animation over and over again.

Collapse
 
kubido profile image
Rifki Fauzi

Pull request approved.. tears of joy

Collapse
 
vuelancer profile image
Vuelancer

When I watch some youtube tutorials and learnt something really new to me!
(For ex. Fireship, Coding Garden with cj videos!)
After some eternities, I will try to do those things!😂😂

Collapse
 
casuso profile image
Alberto Fernandez Casuso

When i have to make something i have never done and i spend days and days learning and searching until it works. And then you realize 100 better ways of doing it.

Collapse
 
spiritupbro profile image
spiritupbro

when i can finish my project and side project

Collapse
 
mistrikushal profile image
Kushal

Agree with this. If you can solve a problem that matters to yourself or others then it's worth feeling

Collapse
 
vtrpldn profile image
Vitor Paladini

There's this critical point in frontend dev where you start to mistake the layout for the implementation and vice-versa... I live for it

Collapse
 
swarupkm profile image
Swarup Kumar Mahapatra

As a coder when I see an opportunity to DELETE code, I do it.

Less Code, Less bugs.

This happens as part of Refactoring process

Collapse
 
oxy_oxide profile image
Hamza Hesham

Sucsess feeling.

Collapse
 
brettmstevens7 profile image
Brett Stevens

When I've been researching on Stack Overflow and trying a million different things, piecing together my understanding, then an idea hits... and like magic, it just works.

Collapse
 
atulcodex profile image
🚩 Atul Prajapati 🇮🇳

When I learn something different and new 😎🔥

Collapse
 
alchermd profile image
John Alcher

Automating a time consuming task, especially those that are expected to be done by other engineers in my team. Life is too short to do things manually.

Collapse
 
prafulla-codes profile image
Prafulla Raichurkar

When I make a pretty user interface.

Collapse
 
leojpod profile image
leojpod

I'll agree with all of these and add a nice technology is also great, my personal favourite at the moment is elm.

Collapse
 
webdev_chen profile image
Uchena Miller

when everything works smooth and I dont have to worry about errors. LOL

Collapse
 
willemodendaal profile image
Willem Odendaal

When I'm building brand new features, or brand new applications from scratch.
And secondly, when I figure out the cause of a tricky bug.

Collapse
 
jacobmgevans profile image
Jacob Evans

Working on a side project with friends.

Collapse
 
molly profile image
Molly Struve (she/her)

When I understand what is going on with my creations!

Nothing is worse than wondering why things are behaving the way they are and you have no idea why

Collapse
 
miteshkamat27 profile image
Mitesh Kamat

When I am able to put certain addon in my implementation which I never thought of before writing code.

Collapse
 
rhrafi009 profile image
Khandakar Rashed hassan

After working hours on a feature or a bug, when you run it and it just works. That is the happiest time for me as a developer.

Collapse
 
functional_js profile image
Functional Javascript

I am happy when everyone else is happy.
It makes for a great and inspirational environment.