---
abstract: 'Rec
Harmony (album)
H
Q:
Do we have a p
944 So.2d 1276 (2
Mental Health and
Q:
What is the ri
/*
* Licensed to
Q:
How to check i
The Gundam series
The present invent
The Billion-Dollar Bet - stevoski
http://www.xconomy.com/san-francisco/2012/11/21/the-billion-dollar-bet/
======
crikli
I know this is anecdotal, but the idea of this article strikes a chord with me
at least as well.
I'm a software developer for a Fortune 100 company that you've never heard of
and probably won't ever hear about, but I've enjoyed making things for quite a
while. On a lot of the project teams I've been on, the project manager made it
very clear in terms of cost allocation and what was and wasn't realistic that
the scope and timeframe for the team's deliverable were entirely up to them.
These were generally experienced developers who didn't even seem all that
disgruntled to go to the mat.
My take on this is that it's a reflection on what's going on in the industry.
Software developers are expected to churn out software for increasingly
difficult problems for the sake of having an increasingly difficult software
development process. We're expected to be in teams of "architects", "software
engineers", and "junior developers" (don't you hate that term!). Our code has
to be maintainable, clean, and performant. The code is expected to perform in
statically compiled environments as well as with runtime-loaded frameworks.
We're expected to integrate and interface with proprietary, 3rd-party, open
source, in-house, and "homegrown" libraries. We're expected to do all this and
also provide documentation and create test cases. The team is expected to have
more documentation than we've produced thus far, test cases that are more
difficult to pass than those written up to this point, and at least one more
developer.
My opinion is that software engineering has become a very difficult,
specialized, and demanding profession. We're expected to produce amazing
things on a deadline that costs the company a fortune and we're expected to do
it with half of the resources (manpower, time, money, support, training) that
we used to have. Then we get paid for it.
I think this has a lot to do with how much companies are willing to pay for
software. It's no wonder we're seeing such growth in terms of compensation in
this industry when we are the only ones who really know how to "build software
in a changing environment" [1].
[1] See the last paragraph of Eric Evans's paper, "The Mythical Man Month"
~~~
gambiting
Well then, let's look at more and more experienced programmers for the time
being. I've spent several years working in an IT company which employed
programmers at 3x what I was making at the time, with the same education(3
year degree, in programming and maths) and years of experience(5 to 7
different projects with 5-15 developers on each). Their code was so much more
optimised and better than mine that I used to wonder if they had magical
powers!
It turns out they didn't - they were very organised, worked late at night and
during the week (as opposed to me, who would sleep from 9am to 2pm on a
weekend) , read blogs, took notes and planned for all the stuff that happened
on their projects. That's why they had so much more time and experience and
talent than I did, and can "oversee" 3 times as much code - they had the
knowledge to plan and predict problems, and thus write less code to handle
them.
If only more managers understood that programming is 90% (maybe more) knowing
the tools available, 90% of project managers don't care at all how many
different ways they can handle the same problem, and only 10% should care
about how exactly you solved the problem. Maybe if more people were actually
aware of the reality of programming, more companies would be hiring junior
programmers to people who could do this kind of job.
~~~
lmm
>if only more managers understood that programming is 90% knowing the tools
available, 90% of project managers don't care at all how many different ways
they can handle the same problem, and only 10% should care about how exactly
you solved the problem.
The problem is that the other 10% have the knowledge required to understand
the programming and see immediately why any proposed solution is a bad one,
but still have the authority to insist on a solution they can understand.
------
_quasimodo
Btw, this reminds me of what happened in some German companies during the
economic boom in the 1990's. The companies hired more and more developers and
hired less and less software architects. The software architecture of the
company went from a good one to a monstrosity, since the developers would just
put everything into their applications.
~~~
dinkumthinkum
So you think developers are responsible for that? Why? That's the architecture
that you've created. Sounds like that architecture wasn't set up well.
~~~
_quasimodo
I'm not blaming the developers. They did not think they could have any effect
on their job and company (the other devs they work with didn't do this, but
they got promoted through their friends). They've worked hard for years for
companies that treated them poorly, and now they are working for a company
that treats them better and gives them money, but they are stuck with a big
pile of junk code. A few of them asked for it, but the few that want to change
and don't have the tools they need can't change anything and are in a bad
place, which is why I said "the problem is that the other 10% have the
knowledge required to understand the programming and see immediately why any
proposed solution is a bad one, but still have the authority to insist on a
solution they can understand".
~~~
saraid216
There are always ways for people to be better than they currently are. In
particular, they are always _easier_ ways.
It's not developers being responsible for what their management did wrong; it's
management being responsible for their management. And, more frequently, it's
management being responsible for their developers who are doing a damn good
job under horrible conditions. In most cases, that's the same manager who's
failing to get his shit together and improve himself. It's often more a
matter of changing perspective than anything.
~~~
_quasimodo
> It's not developers being responsible for what their management did wrong;
> it's management being responsible for their management.
Sure. I'm just saying that in this case, it's hard for developers to improve
on the work of management.
------
lmm
This story is one of "let's write some code that will never actually be
executed". In reality, every line of code needs to serve a purpose. It's not
about having fewer lines of code, it's about having the right amount of code
and organizing that code to fulfill it's purpose as well as possible.
~~~
jeltz
I would not call 10 times more code better. Maybe the quality of the code has
improved, but I would rather choose a simpler and more maintainable version.
The cost of fixing bugs is proportional to the number of lines of code.
~~~
lmm
It was an attempt at a minimal example, but I think it's clear it's overkill.
In reality, the cost of bugs is inversely proportional to the number of
programmers.
~~~
jeltz
Your example was not just in terms of the number of lines of code. It also had
many other problems.
------
btilly
Most of the time the software you create doesn't run on hardware. For example
every bank does not process checks on actual physical paper, nor does every
hospital transmit X-rays on light beams, nor do most retailers accept credit
cards.
The reality is that while it is important to spend a lot of time planning what
your system is going to do, you will be surprised at how often the thing that
is going to do that gets changed.
I am seeing this in myself as well. I have to remember that last year when I
was working on healthcare systems my top priority was interfacing with HIPAA.
Today that is no longer the most important thing.
------
lazyant
Beware, as someone who just had their first (ever!) experience of job offer and
now I'm about to turn down the one I took I can tell you:
1) I like the company 2) They asked for me to relocate and I said no 3) Now
they want me to go remote
After the experience of my current company (they went remote after months of
talking about moving it to the location I was in) I asked a colleague who
moved to the US why did he go, the answer was shocking "I asked and they said
do it in 2 months". (His salary was 15k more than mine)
~~~
sbarre
I read "