

Ask HN: Programmers, what are your min requirements? What is your utopia? - NullReference

This account is a throwaway as I wanted to ask this semi-anonymously.<p>I&#x27;ve been thinking over the past few years about what my minimum requirements are in a working environment and what my ideal would look like, but I honestly have no idea -- not really.<p>I&#x27;ve got 10+ years of coding experience at a major corporation -- non-tech -- and I&#x27;m getting rather bored. I&#x27;d like to do something new: it doesn&#x27;t have to be new subject matter, but I&#x27;d like to do something different. But before I embark on my journey I need to define my parameters: what is the minimum I need to leave my current (cushy) position? What is my ideal working environment?<p>I honestly have no idea how to answer these questions - which is scary. So I open the question up to you, HN: what is your IDEAL utopia for a workplace, as a programmer? It could relate to the physical workplace, source control, programming language, IDE, agile, Goodness and not Evilness, whatever. It&#x27;s entirely subjective. What is your MINIMUM baseline for a working environment for you to even consider working somewhere? Again: this is entirely open and unstructured. It might be &quot;free snacks,&quot; it might be &quot;lets me bring my dog to work&quot; or it might be &quot;doesn&#x27;t engage in human sacrifice every week.&quot;
======
HeyLaughingBoy
Not a utopia (no idea what that would look like). This is my bare minimum I
set myself as I'm now on the market.

No open plan spaces or sharing. I want an office to myself or at least my own
cubicle with full-height walls.

No mandatory overtime or hints at "we all work really hard." I expect to come
in at 9 and leave at 5.

No waterfall process (yeah, it still exists)

SCM, reasonably recent toolset, clueful managers. The actual language or
technology isn't that important as long as it's not trending towards
obsolescence.

Market pay and benefits. I currently have 4+ weeks vacation and I just turned
down a job where they said "everybody starts out at 2 weeks." F' that!

~~~
girvo
Waterfall.. Heh. That's what I do, only with agile buzzwords thrown in :(
everything else about where I'm at is perfect. Amazing talented people, damned
cool bleeding edge tech (for where I am anyway), and I'm left to play with new
innovative stuff. So, my ideal place would be exactly where I am, only without
waterfall.

------
AtTheLast
Give me a product I believe in and a team that I respect and enjoy working
with. After that everything else doesn't matter much to me. Because, with the
right team and project it doesn't even feel like a job anymore.

When work starts feeling like work, that's when I start looking for a change.
That's why I've always been drawn to start ups. It's usually a small group of
talented and smart people looking to make a dent in the world.

------
benzesandbetter
I wouldn't spend time thinking about your minimum requirements. Seems like
you've already something pretty close to that.

I recommend instead to think about what _your_ ideal situation is, and then
invest your energy in creating/achieving that. Make it something compelling
enough that you'll put in the massive amount of effort to make it happen.

Hearing other peoples ideal work situations might be a source of ideas, but
ultimately, it's up to you to decide what's important to you.

Personally, my list includes: high income, respectful clients, choice of
languages and technologies, working on things that matter, getting paid to
learn new technologies, smart colleagues, good process, autonomy, time
freedom, location freedom, ability to bring in team members I select, low
bureaucracy, low politics, and working with contacts high on the org chart.

As far as my physical work environment, I'm pretty flexible. I've worked from
coworking spaces, cafes, Regus locations, hotels, 3/5/7-series BMWs,
airplanes, restaurants, E/S-class Mercedes', dinner tables, beaches, boats,
train stations, and occasionally even the offices of my clients. I do my best
to pay attention to ergonomics and environmental quality. I carry an
inflatable lumbar pillow and a yoga mat and like workspaces free of
fluorescent lighting and chemical scents.

------
pjungwir
I freelance but often a startup client will ask if they can hire me. To me
it's not about lunches and big monitors, nor git and agile. These are my
requirements:

\- I want to keep working remotely.

\- The salary should be competitive with what I'm making now.

\- There should be proof the company is an ongoing concern.

\- The company should have a good answer to how it can help me progress in my
career, preferably without moving into management. (As far as I can tell most
startups have never been asked about career advancement before.)

\- There should be some upside beyond the salary, because owning my own
consulting business already has upside from side projects and potential to
grow into a development firm.

Those are probably unrealistic, so I'm still freelancing. :-)

~~~
panorama
To me, this is the best answer. I'll work for almost any company for a long,
long time as long as they allow me to work remotely and always pay me
competitively. The rest are just small, interchangeable details.

~~~
mlwarren
I agree with that. Pay me well and let me work remote and I can handle mostly
all the other details that make me happy.

------
ChintanGhate
I am not going to present my answer as my ideal utopia but rather as a
suggestion. You should try one of these things

1\. Go Indie

2\. Join a startup

These both options have cultural parameters that are weighing in exactly
opposite direction to that of a major-corp. Doing this will help you learn
about your own definition of an ideal utopia for a workplace. Having
experienced both the cultures you'll be able to decide your ideal utopia -
what team size you like to work with, at what pace, at what degree of freedom,
in a flat hierarchy or well structured one, remotely or inside an office
surrounded by colleagues and so on. I hope this helps in finding your ideal
workplace. Good Luck :)

------
dack
For me, I want the freedom to learn new technologies and try out ideas. A
humane work environment, such that work is valued and respected - and everyone
pulls their weight. The deadlines are reasonable and the management chain
understands the tradeoffs inherent in software development and delivery. If I
work on a big existing system, the problems still left to solve should be
within my (and the team's) ability to understand but still stretching my
current knowledge. Of course, that changes constantly because I am always
learning new things.

For a while, I was really into Angular and badly wanted a job where I could
just do that full time. I had been mainly doing backend Java stuff at work,
but eventually was in charge of a completely green-field project so I wrote it
using Angular/Java. However, I've quickly gotten comfortable with those
technologies and now Clojure/Haskell/FRP excite me more. Not to say I would
write big production apps with them right out the gate - but it would be
valuable for me to learn more about them and understand the tradeoffs. I also
still haven't written a lot of backend code for massively-distributed systems,
so anything involving that would interest me right now (i.e. need for real-
time stream processing, mapreduce, sharding, etc).

I also want to work on a team of really smart people - not arrogant
programmer-types, but people that know what they're doing. I want to pair with
someone and learn a lot from them. I actually like to impart the knowledge
that I have while pairing, but I just don't want it to be a one-way street. I
also don't want to work in isolation - so a project where I rarely interact
with anyone gets boring for me (and especially if the technology doesn't
excite me much) will end in me leaving for somewhere else.

------
jason_slack
I need a place where if I really have something on my mind I'm free to take a
day and explore it. If I think I can improve the quality and codebase I should
be free to do so provided I dont break anything or I make all the changes
required to implement it fully.

Example: I wanted to start to implement std::thread and use of auto. It
required us to start using c++11. I should be free to do this, fix anything,
make sure devs are set to compile correctly and start implementing. I can do
it locally, demo it and then get the green light to merge.

------
sauere
The number #1 thing that i want: treat me like an adult. This means i will not
follow any stupid workspace policies. Example:

\- If i get a phone call that i consider important, i will answer it.

\- If i am feeling sick, i will stay at home, don't ask me to provide a
doctors note.

\- If i come in late, i will stay longer, just don't write me some BS e-mail.

\- Don't install a website filter or something similar.

\- I will take my off-days when i desire, i don't know 6 months upfront when i
need a day off.

... the list continues.

Somewhat minimum as far as the physical workspace and tools: a desk, a decent
chair, a 24" screen, a custom-built PC and my operating system of choice with
full control. I don't mind working in a open/shared space as long as it
doesn't get too loud. A big bonus would be providing free snacks, drinks and
meals - it is a cheap and easy thing to do and benefits everyone.

------
MalcolmDiggs
If it's the _right_ product and the right people I'll work in a sewer
pipe...at night...in COBOL...

The creature-comforts only start to matter to me when I'm fundamentally
unhappy with the job in some other way (not rewarding, incompatible culture,
etc).

So my utopia is: A product I believe in, co-workers I love to be around. That
simple.

------
steedsofwar
A few things actually. I only do my day job to pay for my lifestyle and
hobbies. I would be happy to take a pay cut if it meant i could do something
of significance. For me that is something that would have a positive impact in
others lives as cliche as that sounds. It makes me get up in the morning, and
makes my body tingle. For instance a recent ted talk on drones aiding
aid/medicine drops to remote places off the world. That just excites me! Or i
would love to work on games, which is my side project, that my day job pays
for.

In terms of physical env, i don't care much. As long as i'm comfortable and i
can do my work. Preferably i'd like to work at home, with little to no
interaction with anyone. Working in the IT/Banking industry for over 14 years,
has made be cynical on human interaction.

~~~
NullReference
I am in the same industry and am looking for a change. But I have to define
what would make me happy in a day job. My hobby is programming. My job is
programming. But there's something soul-crushing about programming at a bank.

------
ramtatatam
I know exactly what you mean - I was thinking the same thing when was making
decision to start something on my own.

As of physical environment - stup below works perfectly for me: \- 27'' double
screen \- proper headphones with noise cancellation and DVD's stack with my
favorite music \- proper ergonomic chair \- big desk \- non-membrane keyboard
\- big (0.5 liter min.) cup of something to drink (not necessary coffee since
it usually makes it harder to focus)

As of tools I use: \- operating system depends on work I do, however Linux
Arch is my favorite \- subversion as version control (old but still has
something in it) \- working with code - usually simple kwrite is just enough

~~~
NullReference
I guess I am wondering more: what sort of work would make you say "hey, I want
to go work there!"

I guess I'm trying to figure this out in reverse. I know I'd leave whatever
I'm doing to work for, say, Google because Google (really: I needn't say more,
right?).

But what makes Google so attractive? Some of it is the bragging rights but a
lot of is that they work on cool things and give you free reign to do cool
things.

~~~
ramtatatam
I'm working on custom integrations tailored to specific project so for me each
project is like a new job where I'm picking up tools and technologies that
will deliver stable and maintainable outcome. New job, new people and new
challenges - that keeps me sorta away from burning out. So I guess the main
question is how much influence do you want to have? Do you want to craft
specific algorithm that is somebody else idea? Or do you want to come up with
your own ideas and bring them alive? I'm in second group.

------
masukomi
I'd recommend getting a bit more specific. Your question is so open ended as
to be unanswerable in any practical way.

First figure out which areas of "work environment" you actually care about. *
location / commute time / remote? * if onsite then physical workspace ? *
develpment environment (mac/windows/linux)? * technology stack? * personality
of company? * social value (if any) of the company? * etc. etc.

Until you know what aspects of "working environment" you can't really define
what the min requirements are. Also, everyone's idea of "utopia" is different.
We all have different values.

------
circuitslave
My last gig and my current one are polar opposites but both filled needs. I
code for a very large direct mailer. It is not interesting work, but the pay
and benefits are great and it's super stable. My last gig was with a start up
that never really got going. Lots of R&D coding, lots of trying new things -
the work was very satisfying, getting paid weeks late, months in a row was
not.

Ideally my next gig would be in the middle of these - stable but more engaging
work.

------
hcarvalhoalves
\- Wiliness to sit down and define requirements

\- Clear strategic goals

\- Continuous improvement

\- Feasible deadlines

\- Remote work

\- Payment proportional to value added

This is the perfect project to me.

PS: An employee might be more interested in perks like iMac and free food. To
me it's bull __ __to keep people overworked and underpaid, hence why I
consult.

------
danielmunro
I will only work at companies where I am peers with everyone, from the bottom
to the top. Everyone makes good decisions and everyone makes bad decisions. If
you're hiring someone you don't trust to make decisions or question yours then
it's probably a bad sign.

------
JoeAltmaier
A place where I can keep innovating, keep creating things that ship and get
used. Where, if I know somebody who can help us, I can get them hired on.

