5 ms·
Programming is Not Terrible
- mschmo 13y agoJust a slight suggestion that doesn't actually have to do with the article itself: Make your links stick out more. Maybe I just have bad eyes but I really can't tell if a word is a link until I hover over it.
- molex333 13y agoThanks for the input, I have since modified this a bit to make the links more visible.
- mathattack 13y agoThis would make one think that in the 70's all software engineering was awesome and exciting and everything that was done was cutting edge. The truth is that at this time it was the same as it is today. They were writing machine code (because they had to) and drivers for everything. They used punch cards and time sharing machines. They didn't have GitHub or the Internet so code sharing was not really possible outside your immediate social circle. I think that there were some people then (just as there are today) who worked on exciting stuff, but the majority were just doing a job. This is very true. It's easy to have some appreciation for being closer to the machine in prior eras, but it is a much better time to be a programmer today. There are many more tools, and much more collaboration available. The time from idea to completed project is much shorter. The ability to scale projects is much higher. The wait time for code to compile and run is much shorter. I can go on and on...
- debacle 13y agoI have a hypothesis. Is it possible that the people who talk with wide-eyed wonder about programming after doing it for ten years and the passion that they have for writing software haven't come to appreciate the banality of almost every problem that they're going to be asked to solve in the software space? If you find putting together CRUD apps and laying out contact forms challenging and engaging after ten years, you may lack the mental capacity to really appreciate and understand why programming is terrible. The reason open source software exists is because programming is terrible - if programming were the digital orgasm that these people pretend it is, people wouldn't have been bitching for years about how bad the open source ORM they're using is - they would have rewritten it already, twice. Programming is a menial mental task for anyone with the capacity to properly abstract their real world problem into a solution that a computer can understand, with a few bits of crunchy debugging on top, that has no reward on its own. We program, not because it is fun, challenging, or fulfilling, but because it is morphologically necessary for our continued existence as solution creators and problem solvers. 90% of the time spent programming is a slog. All of the enjoyment comes from the 10% of time spent solving cool problems, but more and more as open source technology gets better, sturdier, and more engrained into IT, the 10% problems are being solved before ldconfig is done doing its thing, and so you're left with 95% slog or 98% slog. Are there domains where programming is still hard? Most definitely, but for most programmers programming is no longer drole.
- Afforess 13y agoWow I thought I was cynical. Have you considered doing something new? Learning a new framework or language often gives me a fresh perspective on past projects.
- UK-AL 13y agoDude, when most programmers hit 25 they have already learned dozens of frameworks, know how to build compilers, machine learning, etc. The problem is after a certain age, all the cool/novel stuff no longer is, and it becomes boring as hell and your back to building CRUD Apps and your still got most of your career ahead of you.
- Afforess 13y ago>when most programmers hit 25 they have already learned dozens of frameworks, know how to build compilers, machine learning, etc Really? I have yet to meet one of these 25-year olds.
- AUmrysh 13y ago25 year old here, I agree. I only know enough of the frameworks I've learned to solve the problems I've come across. As far as compilers and ML... yeah, I know a little bit of that stuff, but it's far from common for people in my age range to be good at it.
- UK-AL 13y agoWhat 25 year old developers hasn't learned frameworks like django, rails, Java EE, iOS, node.js etc. I know fair few frameworks, some more than others. The majority of university courses teach you compilers(Parsing, Multi-pass optimisation, machine code output) and ML. I've built a fair few compilers in spare time, and I'm in no way special within my peers. Sure the stuff you learn probably isn't leading edge in terms of research, but unless you take a second job reading research papers, it isn't going to happen for most software developers. The most enjoyable part of job is probably introducing better software processes, but once it is set up well, I get bored again.
- cnorgate 13y agoThis 'response' was needed. Thank you! If anyone is interested in getting a refreshing perspective on job and life satisfaction, you might consider reading 'So Good They Can't Ignore You' by Cal Newport - great read on what provides for a fulfilling career. I think the original writer of the post could benefit from that. http://www.calnewport.com/books/sogood.html http://www.calnewport.com/books/sogood.html Enjoy
- crazygringo 13y agoExcellent. This is what I wish I could have said in response to that other article, but couldn't find the words for. This post is exactly right -- and I've seen a few newly-hired programmers in their first job out of college who had a very difficult time adjusting to the "real world", where programming isn't about fun and games and self-fulfillment any more, it's about creating real-world value. There's nothing unique to programming in this -- journalists discover they can't write about whatever they want, scientists have to follow the funding, etc. However, I do wonder if programmers, on average, might have particularly inflated expectations of what their jobs will be like? Just like the original blog post expressed. And what makes this so?
- molex333 13y agoI agree, I wrote this to just to show that there are still people who enjoy their work and think that it is a great profession.
- maligree 13y agoHuh. I understood the article he's referring to as something more along the lines of "don't make «programming» your job, make it your tool". Similarly, not becoming a "software engineer" means not becoming a merely guy with a hammer, but a guy with and idea and a hammer. That idea I liked pretty much, actually.
- NathanKP 13y agoIf you like writing software, if you look forward to getting your next assignment, then you should probably go ahead and pursue it as a career. If you trudge through it and show some aptitude for it, but you don't enjoy it, please choose another career. Exactly. It seems that recently there have been a lot of young people who are treating the Software Engineer position kind of like the RN position. They think "There is high demand for this profession so I'm going to study for it in school and make big money, and this will be awesome." But money !== happiness. RN is considered to be a good profession to study for in college. But not everyone who studies to be an RN can be happy taking care of sick and dying people all day, even if they are getting paid well. Likewise not everyone who studies to be a software engineer can be happy sitting at a computer writing code all day, even if they are getting paid well. Some of us are happy to write code all day, and to "waste work" by rewriting systems frequently whenever the business changes directions because we love the challenge and the sense of progress as we get to see our coding skills improving month after month as we learn new technologies and techniques. I'd probably still be coding even if it was a low paying job, but I'm fortunate that because I enjoy coding so much and do so much of it I've become quite good at it and am able to make good money as a side benefit.
- UK-AL 13y ago"If you like writing software, if you look forward to getting your next assignment, then you should probably go ahead and pursue it as a career" - The thing is academic/personal assignments are probably novel and interesting, while 99% of business programming isn't. The jobs that have problems that are novel or interesting, are damn hard to get. So if you enjoy it at school/hobby, that has no relation to if your going to enjoy it as a job. So you can easily end up hating your job.
- NathanKP 13y agoThe jobs that have problems that are novel or interesting, are damn hard to get. I disagree. The monthly Who's Hiring thread here on HN is full of great jobs solving interesting problems. If you find those jobs "damn hard" to get maybe you need to learn some of the in demand skills or build a better portfolio of projects that you've worked on. A github full of open source activity can get you an interesting job quite easily. A while back I put a very simple entry on an HN contractor thread and started getting two to three job offers a month in my inbox, many from very interesting companies doing interesting things. This was while I was still in college, not actively looking for a job yet. I accepted interview offers from a few of those companies and basically picked and choose who I wanted to work for, which eventually lead to me getting a job at the startup I work for now (storydesk.com) without ever needing to send out a single resume. Maybe my experience is unusual, but I don't see it as being that difficult to get an interesting job as a software engineer if you leverage a community like HN.
- AUmrysh 13y agoI got really burned out on programming my senior year at university and after 2 years of working alone on a massive web app. There are many other things I'd rather be doing, like running a company or killing people for money or something exciting, but I suspect that those jobs would get boring/old after a while too. The important thing to keep in mind is that your day job is a way to earn an income. If you don't enjoy it, at least do yourself a favor and find one you care to show up to every day. If you really want to work on "hard problems" and other groundbreaking and cutting edge technologies, you can always do it in your free time. Whether you want to write software at work and then do it at home is another story, but keep in mind that if you're successful, you can turn your side project into your career, one you actually do give a shit about doing every day. The great thing about software is that you are only limited by your knowledge and determination. There are very few problems you need a massive expensive computer to solve (at a small scale, at least), so your home computer is usually just as capable as your work computer. If you're bored with programming, why don't you start digging into the parts that really get you excited. For me, that's functional languages and dynamic typed languages, computer vision, and machine learning. Don't be afraid to try new things and fail at them. If you just sit around doing the same mundane work all day, don't be surprised when you believe all of software is mundane. I actually agree that programming sucks, but that's more to do with the fact that you have to turn an idea into logic and math before you can make a computer do it.
- Tloewald 13y agoGood post. The original article (which this article addresses) falls straight out of the most entitled kind of thinking ("the world owes me a living I enjoy"). I'd go further: even if you don't enjoy programming, there are far more horrible ways to earn a far worse living, and plenty of people have little choice. Yesterday, I ordered pizza which was delivered by a guy older than me (and I'm no spring chicken -- I learned programming on an HP calculator) who wasted ten minutes finding my apartment because the delivery instructions were so poorly printed as to be unreadable.
- antocv 13y agoProgramming is programming. It depends on what you are programming that makes it terrible or a joy. Im right know payed to do another CRM in PHP and Id rather gauge my eyes out at the end of the day than continue with it. Im not solving any problems at all. Its just business/stakeholders/managers/whomever that decided a few months ago that their CRM needed a "facelift" and here we are. We use some new frameworks (slim), TDD, bootstrap/jquery, talk about agile/lean but in the end the problem we are solving is just some stupid shit like making a document or presentation better than what it was before. And the users are joyful. They got to look at something new while at work. They compete with each other with who will be picked to be among the pilot group, the new the cool. Like kids. A day looks like, fix some "bug" in on the server in an older application among arcane spaghetti-code, or some client-side jquery platitude (oh its you ie8 again?), write some new "functionality" which is fetch this data put it in there display it like this, take this data validate, serialize and send it over there. This is not even programming, it is bullshitting. Then I go home and relax and read, after a while Im ready to play with python and C, solving minor and sometimes bigger problems. Trying out some machine learning at the moment. Ah the joy of hacking. It fills me up for next day.
- martijn_himself 13y agoI am in a very similar situation. Except I do not have the energy to sit down at home and do more programming, I am happy to get away from it until the next day.