12 ms·
What is the best part about being a Software Engineer?
- vidoc 11y agoFor me the best part is working from home, without actually working and not being at home.
- kylec 11y agoIt sounds like you've hit the jackpot. Especially the part about the fun job, I don't think that's that easy to find in the software industry.
- dschiptsov 11y agoThe same as being a poet or an artist.
- logicallee 11y agoBut being able to count on a six figure salary after a couple of years on the job (as long as you're from, or willing to relocate, to one of about a dozen cities) doesn't hurt either...
- dschiptsov 11y agoOnly if you are middle class American with ivy league degree, or migrant from wealthy family (so your family would pay your bills or already have paid for your education in US).
- namelezz 11y agoWe are all entitled to our own opinions. I would say this is your personal perspective of being a Software Engineer in tech. city(SF).
- mfmbarber 11y agoAs someone who has only just managed to crack into the developer industry. I agree with most of your sentiments. We get the same buzz and artist or musician might get.
- andywood 11y agoThose are some rose-colored glasses. I could easily make a list of the best things about being in the hospital, too. I'd estimate that my 18 years in software development have been about 25% good, 25% tolerable, and 50% team/boss-induced inhumane mental torture. The one thing I can't argue with is the money. Everything else has been highly volatile.
- akras14 11y agorose colored glasses was precisely the point
- vacri 11y agoHow is that different to the generic employee experience? Most people don't enjoy their jobs 100%, or even close to that.
- tluyben2 11y agoI think not actually having a boss and being picky about who to hire or work with turns it to 75% good and 25% tolerable for me over a period of 25 years prof software dev.
- scotty79 11y agoIn my over 10 years as commercial programmer I never had bad boss or torturous team members (apart from one angry inept guy who asked way too many basic questions when he was expected to pull his own weight and didn't last long). That might be atypical because I spent more than half of my time freelancing which gives you great freedom in steering clear of harmful people and confidence to leave any employment when it stops being benign.
- dagw 11y agoEvery time I read things like that I wonder if I've just been lucky or if there is something 'special' about the US. I've spent 10+ years working at companies of all shapes and sizes in Norway and Sweden, and with the exception of one 12 month stretch (working for an American ironically enough) all my bosses have been fine-to-great, and I've never had a real clash with any co-workers. And even that terrible American boss I had wasn't "inhumane mental torture".
- nieksand 11y agoI really appreciate this article. It feels like envy has become a major driver over the last few years in the US--it's obviously always been around, but now it feels like both an obsession and something that is broadly socially acceptable to indulge in. Thinking about the good and what to be grateful for sounds like a much better recipe for happiness than things like the share-my-salary movement. (I'm not opposed to the latter. It may result in modest comp bumps but I doubt it leads to lasting happiness bumps).
- henrik_w 11y agoGood post! I completely agree that programming is very creative. Fred Brooks said it really well in "The Mythical Man-Month" I think: The delight of working in such a tractable medium. The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of imagination. Yet the program construct, unlike the poet’s words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself.
- thiago_fm 11y agoPerhaps this is true if you 'can relocate to SF' + is american/won the h1b lottery, end up working in a company with 6 hours/day policies, 20% time and plenty of money to burn. All other mortals are in a way or another struggling. Pulling all nighters(because it's expected), having long periods of stress + burnout. The advantages I see are that the money is good and that people(me included) love programming. Having a job doing something you love is definitely a blessing. The biggest of them.
- jon-wood 11y agoI feel like people overstate just how massive the divide between SF unicorns and everywhere else is. While I admit I'm not on the 100k+ salaries of the big five, I'm definitely not struggling and pulling all nighters - I work 8 hours a day, 90% of the time from home, with the odd evening of working on something if I'm particularly into it. For that I get paid a decent salary for my area, get to do a job I find interesting, and without having to live in London.
- Flashuk100 11y agoAs a comp sci student up north, are the salaries in London worth the hassle of living in London? Don't get me wrong I like visiting London, but I wouldn't want to live there unless the incentive is too good to pass up.
- scotty79 11y agoThey are barely worth the hassle of relocating from Poland to London. High rent eats up almost all of the gain.
- lgieron 11y agoHow's that? You net maybe 2-2.5k pounds per month contracting in Warsaw, and 8k for an equivalent job in London. Rent and commute in London is maybe 1k more than in Warsaw.
- benas 11y agoI couldn't agree more. Choose a job you love, and you'll never work a day in your life!
- askyourmother 11y agoFor me, the best part is interviewing for new jobs. You have not lived till you are asked to reverse sort a binary tree, whilst skipping on one leg, having to show you are passionate about the job! The disappointment was that the actual job did not entail data structures, Algorithms or even skipping! Just CRUD web apps.
- JustSomeNobody 11y agoWait, what? You're experience doesn't matter? Your degree doesn't matter? You have to demonstrate you have the superior fizzbuzz implementation!? Tell me it's not TRUE!
- derefr 11y agoThis is the worst thing about this sort of "IQ dick-waving contest" culture, to me. I'd be fine with doing ridiculous CS Theory stuff in interviews, if the job was about doing that. I love that stuff, when my mind is geared into the right mode, and a job that required a lot of it would give me the ability to leave my mind geared into that mode. Instead, my mind has downshifted into the CRUD-dev gear from years of disuse, and you're asking me to shift it into high gear for the interview... only to shift back down for the work itself. I get that every small company wants "the best and the brightest" in order to have more value on the table under acquihiring conditions, but there's really no reason that the person programming Facebook's Android frontend view-controllers needs to know how to answer doctorate-level category-theory questions.
- deleted 11y ago[deleted]
- apercu 11y agoI think it's also counter to good work harmony. Whenever I have worked with or hired the genius/best and brightest, a high proportion of them have difficulty playing nice with others or staying focused on routine work. You need a couple really crazy smart knowledgable people. And then fill out rest of the team according to their roles and fit.
- cmdkeen 11y agoI write software in-house for a company that does other things. The company has a strategy of bespoke software rather than using the industry standard software in order to get a competitive advantage (i.e. we can do things our competitors can't). That means I get to not only work with bright developers but other bright people doing other jobs, learn about their jobs, help make their jobs easier and then move on to another area. Very few jobs offer you the ability to regularly switch the area you work in. It used to be claimed that a good manager could manage anything, I'd suggest that a good developer can design software for (almost) any industry.
- nickysielicki 11y ago> yet my income is in top 20% in the US and even better % in the world "even better" is a gross understatement. If you're in the top 20% of the US by annual family income, you're literally making more than 99.9% of the world. http://www.globalrichlist.com/ http://www.globalrichlist.com/
- mahyarm 11y agoYou have to compare purchasing power. You dont get $200/month rents, $1 good quality restaurant meals and $3 taxi rides in those places either.
- deleted 11y ago[deleted]
- partycoder 11y agoThe author has less than 5 years in the industry. He is still in his engineering honeymoon. In 5 more years ask him how it is going.
- isseu 11y ago5 years seems like enough time Working at MacDonalds for 1 month must be awfull
- partycoder 11y agoThere are many positions at McDonalds.
- lostlogin 11y agoAnd there isn't one that I'd want.
- Infinitesimus 11y agoWhat about being hired at CTO and tasked to improve the tech experience for all their stores? From connected services and employee efficiency due to better tech for making some of the meals, etc.
- partycoder 11y agoThey've done a very good job at that I have to say. I do not like touchscreens though, too many germs.
- lostlogin 10y agoI really wouldn't want that job. I don't believe in the company and wouldn't want to be associated with them or the way they do business. In my view they have a negative effect on communities where I live.
- lil_cain 11y ago
- sidmkp96 11y agoWrt to the title, I would like to add here that: We can fix bugs, even after something is finished! Same cannot be said for other professions like Civil Engineering, Doctors etc.
- Tepix 11y agoNot if your Mars lander has already crashed.
- erikb 11y agoI love being tech lead or team lead or project manager or whatever you want to call the mid level just above software dev. I feel I can have more impact in that area, meetings aren't bothering me too much yet (after a little over 3 years), and most of the problems can be circumvented by being smart, just as in software dev. Think about the scope problem. You never have enough resources to achieve all the goals the customer/boss/group of people who only go from meeting to meeting wants. Yet by asking smart questions you can actually figure out what is most important to them (even if they don't know) and then decide based on what you want, what they want and what your team wants the best path to go on. And then some of your devs try to be smart and also reprioritize based on what they think. But for some reason that's making it more fun not less. A reasonably smart dev is a much better stubborn goat than a compiler who doesn't want to understand your code, because he gets stubborn on much more reasonable ground and sometimes surprises you by being a lot smarter than you are.
- progx 11y agoPlease change your title to "What is the best part about being a Software Engineer in the USA?" It depress me ;-)
- scotty79 11y agoOr in most large cities in Poland....
- deleted 11y ago[deleted]
- granula 11y agoValley Bubble
- blowski 11y agoWhen I was at school we had to interview our headmaster, and somebody asked him if he thought his job was difficult. His answer has always stayed with me: "Compared to lying on a beach drinking cocktails, it's difficult. But compared to a coal miner, it's ridiculously easy." Would I rather be a software developer - even one who is building boring CRUD apps - or a coal miner?
- cheez 11y agoI've never been a coal miner, but there is some sort of satisfaction in working with your hands that you don't quite get being a corporate coder.
- k-mcgrady 11y agoThere's also the black lung that you don't quite get being a corporate coder. I think it's very easy for people who aren't working with their hands every day to sit back and talk about the 'satisfaction' you get. You may get that if you go and do it for a day. When you're doing it every day you're destroying your back, knees, your hands end up cut and calloused, and you're exhausted. And the 'satisfaction' probably doesn't make up for the lower pay manual labour jobs typical come with.
- efaref 11y agoWhilst nowhere near as bad as black lung, RSI and lower back pain caused by sitting all day are real things. Programming isn't without its own physical risks.
- lgieron 11y ago> destroying your back, knees, your hands end up cut and calloused + your hearing, it can be very noisy in a mine. I'm from a coal mining region and some of the miners hate the job with passion and curse it every day as they get on the comutter's bus. Others are more indifferent about it and even enjoy some aspects of it (mostly camraderie). I'm pretty sure the majority of them would switch for ANY office job that pays the same. My general thoughts on the "I'm unhappy doing CRUD" sentiments is that people generally tend to get bored with what they're doing and the dream of one day doing something else, something more fulfilling, relieves the pain somewhat. Funnily, for pretty much all the alternative careers that devs talk about, there are internet threads where people working those jobs are discussing how to retrain as a software developer.
- eva1984 11y agoBest part? You have to ask me is that, software is built on a beautiful and powerful abstraction, namely turing machine, if you understand the basics, a lot of knowledge are actually transferable, from seemingly very different positions. After all every operation you do is captured by the underlying mechanism, so nothing intimidating if you are willing to dig it up.
- hoodoof 11y agoHaving a magical superpower.
- mooreds 11y agoI think that software engineering, like accounting and lawyering, is useful in a wide variety of domains. The most interesting/best part of software engineering for me is that you can work across problem spaces fairly easily. (Of course specialization helps in remuneration.)
- fit2rule 11y agoFor me: new hardware. There's nothing I like more about this business, than to get code working on a new piece of gear. It just keeps coming and coming. So fun!
- _Codemonkeyism 11y agoBeing creative.
- crispyambulance 11y agoI think "CRUD" applications are getting an undeserved bad rap. There's always interesting challenges involved, which sadly gets dismissed as "business logic". If CRUD apps were really so brainless, there would have been a race-to-the-bottom plethora of platforms/tools by now that allow domain experts to create their own applications. Another way to look at is that CRUD apps put food on the table for you guys. Be grateful!
- ak39 11y agoPutting food on the table is still insulting it. I love CRUD apps. I especially love CRUD apps that are so simple that end users love using the app. And the best part about such projects/apps? The data that you collect over the months and years. With properly designed data models, the accumulated data for analytics and interactive feedback is worth gold. Then let's see who calls it CRUD anymore.
- humanrebar 11y agoCRUD applications are developed brainlessly. They're more challenging than it seems. It's interesting that people develop CRUD applications in garbage-collected languages because manual memory management is a pain, but they'll gladly expose manual data management to the end user without worrying about analogous data bugs. If data bugs are important, you need your data management system to have some qualities of a garbage collection system (tracing, reference counting) or it needs to be self-repairing (fill in missing data on demand). This is actually a challenging problem, assuming your data is important. This is why cache invalidation is one of the Two Hard Things in programming according to Martin Fowler.
- crispyambulance 11y agoThanks! that's a remarkably insightful way to look at it.
- OpenDrapery 11y agoInteresting. Would love to learn more about these kinds of ideas. Is this something you've been kicking around in your own mind? Or has someone put a more formal framework around these concepts? Where can I read more about it?
- deleted 11y ago[deleted]
- ajuc 11y agoOnce I got to play with long strips of colorful blinking LEDs that I had to drive from our warehousing management system. It was the best few weeks in that job. Also I don't have to worry about money.
- amorphid 11y agoGetting a well thought out pull request merged with minimal pushback!
- jetengine 11y agoWhat are your experiences with creative jobs? I'm currently making 1.5 times median income (compared to the rest of the country) as a Java back-end programmer. But it's not the most exciting job because all I'm doing is keeping legacy code alive and implementing new business specifications. I have thought of going back to my old job as web-developer, doing cool stuff with Node, Angular and all the cool cutting-edge technology. But I'll only earn a median income if I do that. Or go straight into management and earn 2 to 2.5 times median. But that seems even more boring.
- lgieron 11y ago> I have thought of going back to my old job as web-developer, doing cool stuff with Node, Angular and all the cool cutting-edge technology. I'd take Java over JavaScript any day. These technologies are trendy, but they're definitely not cutting-edge or cool.
- collyw 11y agoI think its more about building new stuff or maintaining legacy code. The first is more interesting than the second.
- bitwize 11y agoBecome a UI/UX designer. You could earn twice a programmer's salary.
- epalmer 11y agoI don't develop more than 30% of my time but I love it none-the-less. I'm 62 years old. I find software architecting, developing, and operational troubleshooting to be fun, requires a holistic view of a problem set, requires creative problem solving and more. I find development an outlet to create (make) stuff. I work at a university on the east coast of the USA and am on a high performing team that has not lost a member for at least 5 years. We love each others talents and respect each other's abilities. I expect to work full time till I am at least 67 and hope to be able to work part time till I am ~70. Edit: 62 years old not 63
- ak39 11y agoThat's super! I'm 43, but when I grow up, I want to be just like you. What languages and technologies do you use?
- epalmer 11y agoI ran a few small development shops a long time ago and then went into ecommerce in a bank. Eventually I was a bank compliance advisor (business side) for the bank. No hands on IT and I was miserable. I was good at what I did, remediate systems and processes to make the bank examiners happy but 70+ hr work weeks were killing me. Hence I decided I wanted to get back to web development as the job I am doing now that I grew up. I've been at the University 9.5 years. Almost as long as my longest job. I run the development shop for backend and the cms and I am the scrum coach for all development work. I am by far the oldest and we joke that I am the resident curmudgeon, but in reality I am a pretty positive person. I do mostly backend development in the order of priority: - java 1.8 (love hate) - python (love) - bash (necessary) - php (meh, only as demos for people that don't know how to do something) We use cloudfront as a cdn and our web is php based. But we have UI developers for 99+% of the pho work. I wrote a java middleware system 5 years ago that is old and very hard to extend. We are replacing it with spring based apache camel code and routes. Love, love, love apache camel) Db is Oracle because we have a site license. I occasionally write sql for others that don't know or need to know SQL. Our CMS is cascade by Hannon Hill. A publish only CMS and we love it. We are 100% in control of all the code that runs in our web. ~140 web sites, ~129 are branded for our university. Web Servers are RHEL, load balanced by F5 load balancer. Backend XML database is Exist-db (love this as well). Exist-db uses xquery but I don't do any xquery. Apache httpd (love for sites out size of traffic) with Zend Server (love hate but necessary for Oracle connectivity from apache httpd). Yes I could compile our own apache httpd with oracle libraries but that is strongly discouraged by our data center staff. Of course we use git. HipChat, BitBucket (free private repos for non-profits). I do development on Mac OSX mostly and port. We never have porting problems. Others use javascript with jquery and angular. No node.js in our shop. SAAS CSS compiler. I'm sure I'm missing something that that is most of it.
- jneal 11y ago> No matter how much I have or achieve in life, there is always going to be somebody smarter than me, who has more. I wish more people understood this concept. I'd even go as far to say it has nothing to do with "somebody smarter than me." Certainly there are people out there not as smart as I who make more and have nicer things. But don't dwell on such comparisons. If you are happy with what you have, that is what matters.
- sudeepj 11y agoThe best part about being SE are: 1) Iteration: We get to practice our stuff on real entities (language, OS, databases, etc). Do architects get to "practice" actual work at their home? Do new doctors get to try experimental surgeries? Do amateur civil engineers get to build those iconic bridges? They can do computer simulation ... but it is actually a software. 2) Hackathon: Can't imagine this happening in say medical field, mechanical engineering, law etc. Software Industry is one of few industries where this can be done. 3) Changing the world quietly: Many in my relatives are not programmers. It is hard to explain to them in what ways software is changing the world. 4) Open source: Imagine Coca Cola sharing its secret recipe. It won't but we as SE get to learn from open source projects. Now there is a cultural aspect to this but the point is that we as SE can experience it more than other professions.
- saiya-jin 11y agoadding to 1) - no real responsibility for bugs :) apart from few very specialized areas, you can do harm with bug but not harm/kill anybody. and we all do bugs, don't we
- majewsky 11y ago> apart from few very specialized areas, you can do harm with bug but not harm/kill anybody I'd still say that more bugs can kill people than you would expect. Many seemingly harmless bugs can be used (maybe chained together) to extract personal information out of systems, which is then used to prosecute people, or to justify putting them on a death list. > and we all do bugs, don't we Yes, sadly.
- zootar 11y ago1) Civil engineers and architects can design any bridge they want (though not build it). True, SEs can actually "build" any software they want, but without users it can be hard to tell how good it is. 2) What's the medical / engineering / legal equivalent of a hackathon that those professions aren't doing? Doctors and lawyers can always choose an interesting or deserving client (possibly pro bono), or do a research project. 3) If it's hard to explain, is it possible software isn't changing the world all that much? 4) Imagine Google sharing its Search code. It won't, but as lawyers get to learn from the best lawyers in any area of the law by reading their briefs and watching their trials (all public).
- k__ 11y agoCreating things, seeing stuff grow while you work on it and seeing other people using it. Also, making mad bucks while sitting at home.
- PaulRobinson 11y agoSoftware engineering is not a flat domain. I work in a web-based e-commerce outfit with 30+ other SEs who are all really into their work, smart, and committed to doing the Right Thing. This is a good gig. If I was working on a COBOL app on a mainframe where all the documentation was in German - and I was offered the chance to interview for that gig just a year ago - I doubt I would have as much fun. As a Ruby/Go/Rust/Python type of developer, I suspect - but can't be certain - my days are more fun than a Java developers. They all seem miserable, anyway. I don't wear a tie. I don't wear a suit. Nobody cares if I'm a few minutes late in as long as I make stand-up. Nobody cares if I work from home if I feel like it as long as I make core meetings in person. Would I get that writing J2EE code for a large corporate? Probably not. Would the people who enjoy those environments enjoy working in a startup? Or a games dev house? Or where I work? Probably not. I think the best thing about a Software Engineer is we kind find places that fit us culturally more easily than many other industries: medicine, law, most heavy industry, etc. all have a very strong culture that absorbs almost all players in that field.
- tboyd47 11y agoThe best part for me about being an open source web developer is that the capital required to bootstrap yourself into working is as low as $100 or even nothing at all. A few months ago, I had an idea for a side project that could lead to a lucrative business. I ordered a used Thinkpad with no operating system from eBay, and off I went, developing the same sort of website I do on a $1,500 MacBook at work. If I already had a laptop lying around, I could have just reformatted it and used it without spending a dime. When I lost my job in the city and had to move back home in 2011, I didn't have a computer except for an old Windows desktop. I pulled it out of storage, formatted the hard drive, installed Linux and Rails, put my resume on Craigslist, and within a week I had signed a contract with a company as a remote developer. I was lugging that desktop around everywhere -- on trips to visit family, to co-working sessions in hotels, to my new employer's office -- looking just as goofy as I wanted to, but didn't care, I was working again. Edit: I see my post is gaining upvotes quickly. If any open-source project maintainers are reading this, thank you! My story would not have been possible without your time and effort.
- adrianlmm 11y agoMy biggest satisfaction is the ftuits of automation my software brings, manual labor that used to take hours and prompt to errors due human interaction now is done in seconds with no error marging, saving many work hours to employees so they can go home early and stress free, I almost never get recognition for it, but is worth it.
- joepour 11y agoIn my mind, there are three really standout things about being a software engineer: 1. The multitude of small wins that you get throughout the day as you solve problem after problem, all from the comfort of your chair while you drink coffee and listen to music. 2. Creating something from nothing, not unique to software engineering but it is super satisfying to see something that didn't exist before start to form in front of you. 3. Whenever I see some one do data entry or some other laborious task, that I can automate in under 15 minutes, it makes you appreciate the fact that I know how to solve this problem in a more efficient way. People dismiss this because they don't understand that it takes me 15 minutes to write a program that inserts 1 row or 1 million rows, the work stays the same, this is not true for manual labour.
- deleted 11y ago[deleted]
- gaius 11y agoIs it the ageism? The constant threat of outsourcing? The neverending stream of media pundits blaming you for every social ill?
- clentaminator 11y ago- The feeling that everything "new" is something that essentially already exists but that you now need to relearn, because it's different in the most subtle and annoying ways - The knowledge that there is often no physical, tangible output to your work (as XKCD put it, you press buttons to make a pattern of lights change until it's "correct") - The damage done to your body from sitting at a desk for most hours of the day - The knowledge that, in some areas of some countries, billions of dollars are invested in what are essentially clones of existing "social" tools that while promising to connect us actually manage to isolate us, and that the whole concept of "value" seems a bit screwed when you focus on these examples Oops! Sorry, I thought the article was "worst part about being a Software Engineer". Best bits? - I get to browse HN from my desk while my code is compiling
- jimbokun 11y agoThat article is here: http://www.onebigfluke.com/2016/04/whats-awful-building-software.html http://www.onebigfluke.com/2016/04/whats-awful-building-soft... Referenced from this article.
- clentaminator 11y agoThanks for the link. A lot of the software engineer points in that article seem to be focused at the level of writing and maintaining code, but zooming out gives you the chance to look at the nature of a software development job.
- Joof 11y agoI really enjoy the level of writing and maintaining code. I really enjoy solving problems that very few people could solve. I don't really like the stuff that is produced and used that people get paid for...
- fruzz 11y agoThe best part for me is the money, benefits, the flexible hours, the free food, the mental stimulation, and the occasional expression of creativity. I don't believe that we change the world, or that we contribute to society any more than the person working behind the counter at a fast food join, the janitor, or other jobs that are so frequently devalued compared to ours. I believe that my job is far less valuable than someone doing social work or a nurse, for instance.
- man2525 11y agoI recently bought a car from a man who had a stroke. When I explained what I did for a living, he pointed at himself, drummed his fingers in the air like he was typing, and when he hit that Enter key, said, "Yeah!", while doing a pose. He had been both a developer and manager. To forget everything in life except that moment when you really nail some code is inspiring.
- joeld42 11y agoTo me it's like the world's best puzzle game where you never run out of levels, and get paid well for playing. :)