12 ms·
Why I Love Coding (2012)
- spideymans 5y agoThe title should be "Why I Love Coding", but the system appears to have modified the title after submission. It would be great if the mods could revert that.
- greenyoda 5y agoYou can contact the moderators at hn@ycombinator.com.
- throwawayboise 5y agoI think there are some automatic removals of gratuitous words with the intention of making titles less clickbaity. Not sure I see the value in this case, or I could be entirely mistaken.
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- the_arun 5y agoThis article is from 2012, but still relevant.
- sedatk 5y agoThe Mythical Man Month was written in 1975.
- bitwize 5y agoI got hooked on the feeling of power and control. When you're five years old (the age I was when I started programming "seriously"), it's an age when people start expecting things of you, making demands of you, but you are in no position to do likewise to others. The computer is a machine, not a person, but it's more like a person than other machines are (which is part of why it's so mystifying). It can follow instructions, answer questions, and remember things. It can be communicated with. It is like a rather stupid genie that can only accept meticulously formulated wishes, but will carry them out faithfully to the limit of its power. So a kid like me, finally confronted with something that will do whatever he wants, can spend hours formulating wishes for the genie to construct whatever his imagination can dream up.
- enw 5y ago> When you're five years old (the age I was when I started programming "seriously") I know this is HN, but I have a hard time believing this. Somehow feels like nostalgic self-congratulatory boasting. Honestly curious, what does it mean for a 5-year-old to be programming seriously?
- shakna 5y agoFor myself, it was around that age that I stopped just writing games line by line from magazines, and started creating my own from scratch. I also branched out from just making games, and started writing programs to solve things for me, for example, a budgeting program.
- deleted 5y ago[deleted]
- menage 5y agoI think "seriousness" has to be interpreted in the context of the programmer. I discovered computer programming at the ago of seven, and I was about as serious about it as a seven year old can be.
- ipaddr 5y agoIt means to type basic programs found in a book or magazine. It meant learning a poke command to change your background color. Writing a for loop to print out a number. At 6 maybe you type that huge program that creates a sprite ball that bounces across the screen. By 7 you are drawing out sprites on grid paper and making that bouncing ball different pictures. It took me until later in highschool to understand things but typing and modifying is programming. My variables for loops were always lili,lolo,lala,lulu,p naming them there purpose seemed foreign.
- bitwize 5y agoThat's why I put it in quotes. Compared to the stuff I would do later, it was utterly trivial, but yes, I was writing what one might consider real programs, with multiple statements, branching, loops, and conditionals, at 5. It's not intended to be self-congratulatory at all -- honest. Only to give you a picture of what's going through a kid's head at that age.
- the_only_law 5y agoI feel like I’ve lost most of my interest in it. It’s been years since I’ve been truly excited by it and and motivated to do it, but I had been on and off the edge, losing interest for long periods of time before a random spark of motivation would bring it back, only to go out within a few months at most, and after the most recent spark, I’m not sure if I can see myself coming back to programming. It’s a strange feeling, as this has been my “thing” for many years now, both as a hobbyist and a professional. I can’t exactly pinpoint why the situation feels different this time. Until a few weeks ago I had dozens of interesting projects lined up and had invested money into at least a couple of them. I think part of it is that I lost a sense of “magic” that once enticed me. Whereas when I was still very new to me there was a lot of software I would think about and wonder “wow this seems incredibly complicated, I wonder how it works”. When I returned to learn about it whenever. A lot of thing seemed like sorcery, and I just needed to know how it worked. Well years later, when I decided to return to those sort of things, more experienced, I would start to dig in, only feel a bit disappointed when I figured it out and it was no longer cool or interesting. That’s not to say I’m an expert or that I know how everything works and implement it all, just that I can generally get the idea and that causes the magic to evaporate. Additionally I’m beginning notice a mismatch between interest and ability in a lot of things. I find myself unable to learn and implement the things I’m interested in. While that may sound like it’s in opposition with the my first theory, it’s not really. There’s a lot of things where I have a general mid-high level idea of how they work, but couldn’t implement if you asked me to right now. I’m probably going to focus on other interests of mine for the time being, though I’m sure I’ll never truly be divorced from programming. Additionally, I have a feeling that the problems I noted in the previous paragraphs will eventually wither away my other interests as well. I figure simply return to it in a much different and reduced manor. I’m also considering giving it up professionally, but I’ll have to see how that ends up.
- zxcero 5y agoAre you burnt out? Every person needs a break. Well in the end, programming is a means to an end. Sometimes people obsess and see the skill as the ends. Some others see it as a tool to achieve their goals. Anyways maybe take a break/vacation or something.
- 5y ago
- SeriousM 5y agoThis is pretty much the best explaination why I love coding and why I would still choose this work over everything else. The other reason is that I, when thinking about the solution, just feel home. It's just natural to me.
- jack-bodine 5y agoThere really is a special kind of satisfaction when you see something you wrote actually work. I remember the first time I made a sprite move around the screen with arrow keys, I probably moved that guy around for several minutes just out of pride. I'm sure we all have similar memories.
- Flex247A 5y agoI have a similar memory where I made a sprite jump by pressing the spacebar! I played with it for atleast ten minutes without getting bored! Recently I made a small music player and till now I have played several songs on it just because the software is programmed by me!
- spideymans 5y ago> I remember the first time I made a sprite move around the screen with arrow keys, I probably moved that guy around for several minutes just out of pride. I'm sure we all have similar memories. Memories? I still do that to this day :)
- collyw 5y agoConversely I get the opposite. I come up with an elegant solution to a problem, but the previous dev has architect things in such a way won't work. Rinse repeat a few times until you have something that will work, but is not elegant at all. I feel like the people going before me are the "ninja coders" I see in job ads. With all my years of experience I come up with various ways to solve a problem, but these guys are so much more effective than me in anticipating my moves and have a way to block them already.
- onion2k 5y agoI come up with an elegant solution to a problem, but the previous dev has architect things in such a way won't work. Finding an elegant solution to a problem in isolation is usually quite easy because you can ignore all the edges that make it hard. Finding an elegant solution to something within the constraints of where the problem actually lies is what separates great developers from the rest of us.
- graton 5y agoI also love it :) Just this weekend I was learning about RabbitMQ and setting it up on a free Oracle Cloud VM. Writing some Python code (using the Pika library) to be able to send and receive messages. Also getting around to learning about how to use Flask (Python web framework) and then Gunicorn. All this so I could try to figure out how to have my own webhook receiver accessible on the Internet and then get those events to end up inside my local intranet. And reading an article here today (https://news.ycombinator.com/item?id=27100974 https://news.ycombinator.com/item?id=27100974) and realizing I could use Cloudflare's Tunnel (aka Argo) and be able to stop using the Oracle Cloud VM. At the end of it all I was thinking, "this is cool!" :)
- technological 5y agoI too love coding but as I code complex things I get frustrated when things do not work (may be due to my lack of knowledge) or hard to understand and loose interest
- FractalHQ 5y agoThis is always when I double down. For better or worse. I’ll happily spend a week stubbornly chipping away at the same brick wall with no feedback or positive reinforcement. By the end, though, you’ll likely hear me yell “I’m a FUCKING GOD LETS GO GET FUCKED” from down the hall.
- jrm4 5y agoI do too, and I'm 99.8% certain it's because I don't (primarily) do it for a living.
- yeswecatan 5y agoI love coding on my own projects. When it comes to work, I get so incredibly anxious about not being able to deliver a good solution. I obsess over every detail fearing I'll make the wrong choice ("this _could_ be a foreign key but should it be?" "Redis or postgres for this very crucial counter data") that most joy is completely stripped away. I admire and envy those who can hear unclear requirements and get excited about needing to solve a problem.
- matheusmoreira 5y agoI feel the same way. I love obssessing over small details. In professional programming there's no time for that, people just want results and profits as soon as possible and the technology is just the means to that end instead of something that's inherently good. I chose not to pursue a career in professional programming because of this.
- vaylian 5y agoTry to keep your code and architecture malleable (and documented) instead of optimizing everything upfront. Once you discover bottlenecks, you can actually spend time improving things.
- knuthsat 5y agoI usually just don't do foreign keys, makes the queries insanely fast :D
- onion2k 5y agoGetting past the "fear of getting it wrong" is a powerful skill. Learning that it's actually easier to fix a mistake than to get something right first time is the first step to developing that skill.
- asar 5y agoThis is so true! When starting work on a new project or feature I nowadays actively try to embrace ugly solutions. Refactoring after you have a working solution is much easier than coming up with a perfect solution (which probably doesn't exist).
- allenu 5y agoI love coding too, basically for the same reasons. There’s something about creating things from scratch, making them better, and debugging issues that can’t be matched by other hobbies. You just have more control and speed in working on things versus physical things like working on an engine. That said, I don’t like the business of coding. Doing coding for a living strips away a lot of the joy out of it, but this is why I have side projects and why I have learned to treat the business of coding as a job first and coding second.
- spfzero 5y agoI think a big part of the “joy”, is pursuing your own idea of what would be cool to make. Start a side project, and not one you think would be lucrative, or that other people would be impressed by. Just something you yourself are fascinated with, even transiently.
- garethrowlands 5y agoPursuing your own idea of what's cool to make is sometimes possible in paid work too. Within constraints, to be sure, but it can be one of the great joys of being a dev on a product team.
- basq 5y ago> Doing coding for a living strips away a lot of the joy out of it As someone with a lot of interests, I have found this to be true for every one of them. Seems like monetizing yourself is always soul sucking to some degree.
- Barrin92 5y agofor me it's the difference between doing purely commercial work and treating it as a craft. I picked up woodworking years ago as a hobby, and after a while I started doing paid work for a bunch of friends and it really wasn't any less satisfying. When you build unique things that people really want to me it's no less interesting, same with programming. Once you start doing industrial style coding it becomes cumbersome.
- ChrisArchitect 5y ago(2012) 7 years ago, 3 pts, no comments. (https://news.ycombinator.com/item?id=7010730 https://news.ycombinator.com/item?id=7010730) 9 years ago, 3 pts, no comments. (https://news.ycombinator.com/item?id=4057897 https://news.ycombinator.com/item?id=4057897) Nothing super insightful really in this article, usual creativity, problem solving allure etc.. Most comments here just self-analysis, anecdotal. This year present time, 67 pts, 19 comments. Meh, why?
- deleted 5y ago[deleted]
- mackrevinack 5y agoyea I've thought the same thing about coding being the ultimate puzzle. i think you pull your hair out way more than you would if you were solving a regular puzzle but there great part is having something that's actually useful at the end of it all, and not just having the satisfaction of solving it.
- megamix 5y agoCoding at work sucks. Coding at home is great as a hobby.
- wildmanx 5y agoTime to find a new employer then.
- collyw 5y agoI have changed job numerous times in the last decade. It's the same shit everywhere. Poorly paid jobs writing fresh projects, or better paid senior roles trying to keep the crap projects started by a junior running a few years down the line.
- wildmanx 5y agoYou may have bad luck then. Anecdotal evidence from myself and friends tells me that there are better outcomes too.
- tonyedgecombe 5y agoNot many. I was doing short term contracts for a while, anything from a single day to three or four weeks on site. Over the five years I was doing that I visited a lot of companies. I could count the number I would consider working for on one hand.
- nly 5y agoIf you're lucky enough to actually write code (or preferably, solve problems) at work then you're already quite lucky. I seem to spend all my time in meetings, preparing presentations, performing sysadmin tasks, testing things owned by other teams or external providers, looking things up for people, "resolving" tickets, communicating with other teams, chasing other teams, debugging internal infrastructure, doing code review, and being involved in a peripheral manner with more junior team members. Apparently this is what being a "senior software engineer" is all about, and it really does suck. My solution is to work on interesting things on the side and treat the day job for what it is: a ticket to financial independence before I'm 50. And if it all becomes too much, then the job market (for now) is at least very fluid.
- narven 5y agoAmen to that
- deleted 5y ago[deleted]
- Murgen_90 5y agoI loved coding for a short period of time before work stress made me hate it. I went from Developer for 4 years to Sales Engineer for the past 3. I'm now completely exhausted of joy for Sales Engineering and now want to get back into something purely technical, but not sure if my Development PTSD from my past company is done. What can scratch a similar intellectual itch as coding that doesn't come with the same stress? Data Analysis? Technical Writing?
- sublimefire 5y agoThe set of "why's" is well put. But in a production environment, that pleasure is being squeezed out by processes, principles, capitalism. Programmer becomes like a machine that makes sure the necessary requirement is in place and then executes. Over time this flow brings cancer to the hacker soul. I fight it every day: sometimes by visiting HM to charge myself with ideas, sometimes by delaying the work and delving into some piece of the abstraction. The last bit just extends the delivery of a feature but brings long-awaited joy to the soul. Whether it is a new type of assertion in the testing framework or a more performant and elegant authentication logic or even an exploration of a new browser API. The rule is simple - for every piece of work for the devil, do something pleasing for yourself without any exception. Otherwise, the fingers of pleasure will tickle you only at night in your bedroom.
- tonyedgecombe 5y ago>The last bit just extends the delivery of a feature but brings long-awaited joy to the soul. Programmer productivity is so hard to measure that I think nearly everyone can get away with this and should.
- thelastinuit 5y agoMy first love was a classic C-64. I was able to code back then but i believe that’s why i ended up as a program writer (i’m a physicist by training).
- globular-toast 5y agoI dislike the use of the word "coding" here. I don't enjoy coding that much. Typing text into the computer is menial work. What is being described here is more generally called programming. If I spend my entire day typing code then it's a bad day. There are no castles in the sky, only text on the screen. The castles are made in my head. Coding is just a necessary evil to get my ideas from my head into the computer. But it is necessary, as there is definitely joy in running your own program for real, rather than just in your head.
- CodeArtisan 5y agoIf you want to be pedantic, "coding" was about translating by hand instructions into machine code when working with the very early computers where there were no assembler yet.
- bitcoin01 5y agoI love coding. Only issue I have is that I don't talk to many people during the day. I rent an office and I just sit at work the whole day. Don't get me wrong, I love it, but I wish there was a setting in which I could network with more people. What has worked for you?
- deleted 5y ago[deleted]
- et1337 5y agoTry working somewhere that does pair programming. I work at a full-remote company that does pretty much 100% pair programming. We're constantly talking all day.
- mfbx9da4 5y agoI love coding too. I really enjoy pair programming as a more social way of coding be it with better or worse engineers.
- jasonhansel 5y agoI would add: the ability to automate nearly all the repetitive or tedious parts of the job, something not found in (nearly) any other profession.
- sidpatil 5y agoThis is the same reason that motivates me. My day job involves some really tedious manual procedures, of which I've been able to automate a few of through software. I've never been more motivated to learn relevant knowledge and work on solutions than when the goal is to write tools to make my team's work less tedious. And I've never felt more satisfaction than when I completed those tools, successfully used them to cut those tedious tasks down to a few minutes, and got praise from my coworkers for making their jobs easier. See also: https://news.ycombinator.com/item?id=27080695 https://news.ycombinator.com/item?id=27080695.
- hyperpallium2 5y agoI don't really enjoy programming. But I love having new ideas, and enjoy being able to validate them by programming. My personal R&D laboratory.
- valenterry 5y agoI started to lose interest in coding over time until I learned about functional programming and started to apply it by writing code in Scala. Sometimes it is enough to change perspective and learn a new way of doing things to enjoy old stuff once again.
- roland35 5y agoI have always enjoyed coding most when it is part of a bigger project - such as writing firmware for an electronics project or writing a script to generate G-Code for a CNC machine. Connecting code to the real world is always the most fun.
- hyperpallium2 5y agoI used to like making things that are useful to other people (2), but just us people quickly switch to your shiny new thing, they quickly switch away to the next shiny new thing. That impermanence makes me feel it was never intrinsically valuable.
- slothtrop 5y agoEverything is ultimately impermanent. I think over time novelty-seeking takes more of a backseat to the work itself (from which to draw value), whether or not we rationalize it's importance. You can probably argue for or against the value of anything, the more detached and objective you try to be about it and after enough scrutiny, nothing we make feels valuable. I think we can't accurately predict the extent to which our work will be valuable to someone else. The Feynman perspective I came across is that we should "play", follow those kernels of interest whatever they may be, and that may turn into "something". Whether intuition, foolishness, whatever, having curiosity/interest feels good.
- hyperpallium2 5y agoThere's less impermanence in becoming part of the "stack" (e.g. geometry, algebra, calculus, Kleene algebra, relational algebra, unix, C) or being an inspiration/predecessor of progeny (C again). But that's real hard. I agree with the "play" attitude having a sense of intrinsic value, regardless of newness, importance or usefulness.
- hyperpallium2 5y agoFurther to the nonrepeating nature of the task (4): There need be no real danger of it ever becoming a drudge, for any processes that are quite mechanical may be turned over to the machine itself. https://wikiquote.org/wiki/Alan_Turing https://wikiquote.org/wiki/Alan_Turing
- aome510 5y agoI love coding as the way to build things and play around with new/cool technologies.
- replwoacause 5y agoI love it too. However, it is one of the few things in my life that has plainly exposed the limits of my intellect and sobered my imagination. So while I love it, I always wish I was better and smarter but can at least take satisfaction from continuing to learn.
- alexf95 5y agoI feel you, in general I love coding, but I just usually run out of ideas fast if I actually want to start some kind of side project.
- commandlinefan 5y agoThat's why I don't know what to say to people who ask me why I would write my own date picker control or my own URL parser or (you might want to sit down for this) my own cryptography routines. If you don't already understand why I would want to do that, I don't have an explanation that's going to make sense.
- MeinBlutIstBlau 5y agoThis is why it boggles my mind schools bother teaching low level standard library operating systems coding. Not only is the likelihood of me needing to know how to implement my own scheduler, bit also dynamically allocating memory. The system is so low level that the only way you will ever do that is if you work with MS, Apple, or contribute to Linux. Which I'd wager is only a single digit percentage of programmers worldwide.
- BeFlatXIII 5y agoTo be honest, your example here reminded me of the standard pre-med chemistry curriculum many of my classmates were in. It has an extended focus on building up from fundamentals that I am not sure pays off once it’s time to handle the high-level concepts. The chemistry sequence is something like gen chem |> o chem |> bio chem |> pharmacology. My understanding is that most of the pharmacology fundamentals are not used by MDs in practice: it’s usually only a dedicated PharmD, MD/PhD, or the EMR who considers the chemistry of various drugs on a regular basis. The other thing that comes to mind is the quip that it’s easier to innovate down the stack than up the stack. Apple can design new chips better than Intel can create an operating system.
- nonameiguess 5y agoSchools are also trying to prepare people who might be going to grad school and into research careers. Computer Science is still an academic discipline, not just a vocational major. Very little research goes into creating user-facing consumer apps. A ton of research goes into trying to make virtual memory allocators and process schedulers work just a tiny bit better. Pre-med is totally different since it is explicitly vocational. People in it are becoming licensed clinicians. If they want to do medical research, they need to separately pursue a PhD. What more schools need are Software Engineering degrees in addition to Computer Science, maybe even Application Development as its own major or sub-focus within Software Engineering. Some schools have something like this, but at the biggest and most prestigious institutions, there is a huge focus on research.
- randomopining 5y agoI literally view coding as a skill, like a blacksmith of the past or a mid-higher level field architect. My one coworker/semi-mentor also seems to view it that way. I'm not even that good, I just learned enough Java etc to be solid as a mid-level engineer at age 29. It pays well, sometimes it's fun (with coffee and techno music of course). But I do what I need to do to get the job done well, and then reap the benefits of having a skill that's in demand to build what companies/society wants.