
What is the best part about being a Software Engineer? - akras14
http://www.alexkras.com/what-is-the-best-part-about-being-a-software-engineer/
======
epalmer
I 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
That'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
I 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.

~~~
ak39
Like I said, full respect. Thanks for such a detailed response.

Been hearing much about eXist but haven't had the courage to get my feet wet.
Maybe some time this year. I don't use Oracle, have had all my clients on MS
SQL Server (BI Cubes and reports) and they're happy. So am I. Not religious
about this anyway. Have been dying to convert some of our consulting wares to
pgSQL - soon.

I don't intend to impose my views or perspectives on you or on anyone here (as
I'm sure you have your own practical conclusions about what traits are
important for developers to keep positive attitudes towards their careers).
But after nearly leaving the field twice in the last 10 years I can, with
humility, say this:

I am more and more convinced that for a developer to continue retaining "mojo"
in the field, and consequently to enjoy his or her work, he/she has to possess
at least two traits:

1) Have the courage to try out new languages/frameworks fearlessly. (I am a
bit of a coward here.)

2) Be a finisher. If you can complete projects - even if they're small
(actually, the smaller the better) \- you can always look back and say "I did
that. That system they're using there ... I had something to do with it." I
know the spouse couldn't care two hoots but it is the stuff that keeps me
alive with hope. There's something deeply Marxist about this - I know - but I
don't want to philosophise.

I can see you possess both.

You said: "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 can see. :-)

Keep well. (Beer next time on me)

\- Edited for clarity

~~~
epalmer
I am humbled by your comments.

> 1) Have the courage to try out new languages/frameworks fearlessly. (I am a
> bit of a coward here.) > 2) Be a finisher. If you can complete projects -
> even if they're small (actually, the smaller the better) - you can always
> look back and say "I did that. That system they're using there ... I had
> something to do with it." I know the spouse couldn't care two hoots but it
> is the stuff that keeps me alive with hope. There's something deeply Marxist
> about this - I know - but I don't want to philosophise.

Agree 100%. Working in the bank (really a credit card bank at the time) taught
me so many ways to overcome obstacles and to get the job done. Plus now 11 or
12 years of scrum (agile light) helps. I am a director so I am required to be
the face of web development with campus units. Interpersonal skills,
collaboration and an understanding of company, working units and individual's
culture and how to use that to you advantage helps immensely.

Stay positive, keep a sense of humor.

------
tboyd47
The 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.

------
blowski
When 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
I'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
There'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.

~~~
lgieron
> 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.

~~~
pc86
Plus if you've made $150-250k for the past 8-10 years, it's easy to have that
retirement buffer and that money in the bank and think that working in a mine
might be "satisfying" for six months even if you did it for $15k.

It's totally different when you can barely afford your mortgage, you're in
debt, and you have no chance of getting a better job.

------
thiago_fm
Perhaps 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
I 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
As 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.

~~~
joshvm
If you see living in London as a hassle, then you should stay up North. I
would hazard a guess and suggest that the salary would have to be at least
double what you could earn up there to make it worthwhile. Have a look at
Scotland, plenty of tech companies there and it's a lovely place to live.

~~~
bshimmin
100% this. Some people simply do not like London - they stand atop the tube
station at Oxford Circus and look at the succession and repetition of massed
humanity (to quote Waugh) and think, "How unpleasant." Even if you're making a
six figure salary, if you find that many people - and everything else that
goes hand-in-hand with that - unpleasant, it will grind you down; that salary
won't cheer you up every time you're having a horrible, hot, sweaty commute,
or you're staring in misery at your lack of garden, or wishing that the other
tenants in your building would stop stealing your copy of The Economist.

I personally like London very much, but eight years of it (and now just a day
every two or three weeks) was plenty for me.

~~~
m-i-l
I grew up in a small town in Scotland, and my mother was always going on about
how terrible London was. So much so in fact that when I finished university I
was looking for a job anywhere in the world except for London (even had a
telephone interview with a company in Palo Alto before I knew where that was).
But as things happened I eventually ended up in London. And I do think that
moving here was one of the best things I've done.

My mother had of course never lived in London, just visited once as a tourist.
And if you are a tourist you are likely to end up in the busiest, noisiest,
smelliest and most expensive parts. But once you live here for a while, and
realised how enormous it is, and how many completely different experiences you
can have and how many different things you can make of it, there really is
something for just about everyone. And now I've settled in a relatively quiet
and green area, even my mother is willing to concede that maybe London might
have some nice parts.

------
joepour
In 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.

------
henrik_w
Good 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._

------
andywood
Those 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.

~~~
dagw
Every 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".

~~~
mooreds
Me too. I have over 15 years of experience both as an independent contractor
and employee (roughly half and half) and have only once worked an 60+ hr week.
And have always had bosses/clients that valued my input and my efforts.

Dumb luck on my part? I don't know.

------
crispyambulance
I 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!

~~~
fridek
CRUD apps are 90% brainless. The only challenge not solved by phpMyAdmin or
others alike is UI and nice connections between the data. There were already
attempts at generating this 90% just to decorate with UI and additional logic,
but I feel it will take some time to do it well. People got burned by GWT and
other backend + frontend solutions.

Also "CRUD apps put food on the table for you guys. Be grateful!" is a really
broken way of thinking. Salary after a certain point doesn't increase
happiness that much [1] so there is no good reason to work on CRUD apps if one
doesn't like that and can cover their needs otherwise.

[1]
[http://content.time.com/time/magazine/article/0,9171,2019628...](http://content.time.com/time/magazine/article/0,9171,2019628,00.html)

~~~
emilburzo
> People got burned by GWT [...]

What do you mean?

~~~
crispyambulance
Back in the day, there were few javascript libraries and none of them could
handle differences between browsers consistently. This was when people had to
"roll their own" javascript, explicitly use xmlhttprequest (ajax) and web
development was a pain in the ass.

People will laugh when I say this now, but for a time GWT was seen as an
AWESOME alternative. The proposition that you could just write java and just
have GWT shit out html and javascript for you was incredibly compelling.

... until you started using it!

~~~
emilburzo
> .. until you started using it!

I've been building stuff using GWT for the past 5 years, so I'm either doing
it wrong or I'm completely missing something.

So, what's wrong with GWT?

~~~
jimbokun
We have a large GWT code base, although others here work on it more than I do.

Problems that seem to get mentioned a lot:

1\. Difficult to develop or debug without custom IDE plug ins. With Google
cutting back on their investment, not clear how well those plug ins will be
maintained in the future.

2\. Awkward to work with Javascript libraries, at least compared to all
Javascript development.

3\. Sometimes hard to predict exactly what Javascript will be emitted for
specific Java code.

4\. Remembering the rules for what Java code can or cannot be compiled by the
GWT compiler.

5\. A lot of indirection. The event model has definite benefits, but it also
seems to make it very hard to figure out what the program will do by just
navigating the code.

6\. Difficult to find developers willing and able to work on a GWT code base.

~~~
emilburzo
> 1\. Difficult to develop or debug without custom IDE plug ins. With Google
> cutting back on their investment, not clear how well those plug ins will be
> maintained in the future.

Interesting, I'm just using IntelliJ IDEA‎ and their GWT plugin.

What are they using?

> 2\. Awkward to work with Javascript libraries, at least compared to all
> Javascript development.

Fair enough, it does take some getting used to it.

> 3\. Sometimes hard to predict exactly what Javascript will be emitted for
> specific Java code.

I'm not sure why this matters?

I thought that's the idea when you add another abstraction layer.

> 4\. Remembering the rules for what Java code can or cannot be compiled by
> the GWT compiler.

Oh I think I get it now, they haven't migrated to Super Dev Mode yet.

That way it no longer requires a browser plugin (the old devmode), and the
code is just JS + sourcemaps.

And if you use code that can't be compiled, you know straight away, not just
when doing a production compile.

> 5\. A lot of indirection. The event model has definite benefits, but it also
> seems to make it very hard to figure out what the program will do by just
> navigating the code.

I don't agree with this, but I'm probably biased as a Java guy.

> 6\. Difficult to find developers willing and able to work on a GWT code
> base.

I'm available :-P

But being serious, thank you for the write-up, you do have some good points.

------
clentaminator
\- 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
That article is here:

[http://www.onebigfluke.com/2016/04/whats-awful-building-
soft...](http://www.onebigfluke.com/2016/04/whats-awful-building-
software.html)

Referenced from this article.

~~~
clentaminator
Thanks 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
I 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...

------
cmdkeen
I 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.

------
sudeepj
The 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
adding 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
> 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.

------
partycoder
The 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
5 years seems like enough time

Working at MacDonalds for 1 month must be awfull

~~~
partycoder
There are many positions at McDonalds.

~~~
lostlogin
And there isn't one that I'd want.

~~~
Infinitesimus
What 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.

~~~
lostlogin
I 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.

------
nieksand
I 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).

------
erikb
I 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.

~~~
Gigablah
I dunno, you get to call your compiler all sorts of names without violating HR
policy.

~~~
erikb
But he also won't understand if you tell him directly.

------
progx
Please change your title to "What is the best part about being a Software
Engineer in the USA?"

It depress me ;-)

~~~
scotty79
Or in most large cities in Poland....

------
nickysielicki
> 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
You have to compare purchasing power. You dont get $200/month rents, $1 good
quality restaurant meals and $3 taxi rides in those places either.

------
jetengine
What 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
> 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
I think its more about building new stuff or maintaining legacy code. The
first is more interesting than the second.

------
benas
I couldn't agree more. Choose a job you love, and you'll never work a day in
your life!

------
fruzz
The 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.

------
sidmkp96
Wrt 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
Not if your Mars lander has already crashed.

------
jneal
> 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.

------
kylec
It 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.

~~~
akras14
I was actually fairly unhappy at my last job, but still was able to enjoy a
lot of things from that list.

~~~
akras14
Also fun can be a relative term, my worst programming gig was more fun than
working at Walmart for example.

------
mooreds
I 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.)

------
man2525
I 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.

------
eva1984
Best 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.

------
fit2rule
For 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!

~~~
jventura
Give it a few years doing the same thing, and it'll probably get boring as
hell..

~~~
fit2rule
30+ years, still going strong! :)

------
adrianlmm
My 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.

------
joeld42
To me it's like the world's best puzzle game where you never run out of
levels, and get paid well for playing. :)

------
PaulRobinson
Software 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.

~~~
pc86
> _Nobody cares if I 'm a few minutes late in as long as I make stand-up._

I see this sentiment a lot. What is HN's aversion to showing up to work on
time?

~~~
jetengine
I'm pretty sure that a significant portion of programmers are night owls and
don't like showing up before 10 AM.

~~~
pc86
I'm pretty sure that people are different and there are plenty of programmers
that are the exact opposite.

~~~
mden
Well, it's great that they are not forced to show up late then.

------
ajuc
Once 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.

------
namelezz
We are all entitled to our own opinions. I would say this is your personal
perspective of being a Software Engineer in tech. city(SF).

------
k__
Creating things, seeing stuff grow while you work on it and seeing other
people using it.

Also, making mad bucks while sitting at home.

------
vidoc
For me the best part is working from home, without actually working and not
being at home.

------
amorphid
Getting a well thought out pull request merged with minimal pushback!

------
hoodoof
Having a magical superpower.

------
_Codemonkeyism
Being creative.

------
askyourmother
For 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.

~~~
dkopi
Yeah, but If I had to reverse a linked list without recursion to be hired,
I'll be damned if I'm going to allow someone else to be hired without doing
that.

~~~
gonzo41
put it in a stack then take it back out, first in last out.

~~~
dkopi
Follow up is usually: now do that with O(1) memory.

~~~
jstelly
This doesn't seem like a very valuable interview question anymore because it's
well known and you can probably google the simple answer, but if not this is
the basic idea (walk the list once pointing each next at the previous node and
return the new head when you reach the end):

    
    
      List *Reverse( List *pList )
      {
    	List *pPrevious = nullptr;
    	List *pCurrent = pList;
    	while ( pCurrent )
    	{
    		List *pNext = pCurrent->GetNext();
    		pCurrent->SetNext( pPrevious );
    		pPrevious = pCurrent;
    		pCurrent = pNext;
    	}
    	return pPrevious;
      }

~~~
khedoros
I've never seen an interview question that I couldn't Google an answer for,
after the fact. That doesn't seem like a necessary criterion to decide if it's
a valuable question or not. However, it's a problem if the question's so
common that even unqualified candidates would be able to answer it.

We ask these questions for a few reasons. You hope that the candidate hasn't
seen it before, because you want to see their problem-solving process. You
also want to see which questions they ask, which assumptions they make, etc.
How well do they explain their thought process? Do they understand the
algorithm, or did they rote-learn it?

Will they need to jump through algorithmic hoops writing a CRUD app? Probably
not...but they'll need to solve problems creatively. It might be better to
walk through an actual investigation+bugfix in a piece of software, but that
takes more time to do (interviewer+candidate) and more effort (interviewer) to
set up, so it's not surprising that most interviewers would take the easier
way out.

------
dschiptsov
The same as being a poet or an artist.

~~~
logicallee
But 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
Only 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).

------
gaius
Is it the ageism? The constant threat of outsourcing? The neverending stream
of media pundits blaming you for every social ill?

