Live data from Hacker News

The shittiest project I ever worked on

blog.plover.com

101–110 of 187 posts

Re: The shittiest project I ever worked on

#101
post #66

Earlier quoted context omitted.

As a former chemical engineer, I agree with your gf's classmates. In late 90s, I was working on an advanced chemical manufacturing process control project with a team of software developers. I found out they were getting paid twice as much as me and they were half as productive as me (they knew nothing about manufacturing, chemicals and process control) and I was twice as stressed as them. The best decision I made wa…

Or you could have moved to the petrochemical industry, where you would have been paid more than any software engineer anywhere...

Is that really true? This article [1] lists a top 10% petrochemical engineer's salary as $146,000. A fairly skilled senior software engineer at, say, Google can easily pull in $250-300K in total comp, and a programmer on Wall Street or independent consultant with good domain knowledge in wealthy industries like banking can pull in $300-500K/year. That's not even counting talent acquisitions, which can go for $1M/engineer/year.

[1] http://work.chron.com/salary-petrochemical-engineer-4334.htm...

Re: The shittiest project I ever worked on

#102
post #8

Earlier quoted context omitted.

Ha! I think the people who downvotted this didn't realize that "mjd" is Mark Jason Dominus aka the guy who wrote the blog post.

Even then, the post adds no value to the discussion, so it deserves downvotes anyway. Its a great blog post, and I upvoted it, but its a bad comment, and I downvoted it.

Indeed. There's no place for humour on HN.

Re: The shittiest project I ever worked on

#103
post #66

Earlier quoted context omitted.

As a former chemical engineer, I agree with your gf's classmates. In late 90s, I was working on an advanced chemical manufacturing process control project with a team of software developers. I found out they were getting paid twice as much as me and they were half as productive as me (they knew nothing about manufacturing, chemicals and process control) and I was twice as stressed as them. The best decision I made wa…

Or you could have moved to the petrochemical industry, where you would have been paid more than any software engineer anywhere...

@Nostrademons

Ok clearly I am out of touch then. But seriously, how many SE really gets paid 250k+, even at Google? Quants is in my mind the same as the petrochemical industry tough, rediculous salaries so that one I can believe.

Re: The shittiest project I ever worked on

#104

> In 1995 I quit my regular job as senior web engineer You had the job title "senior web engineer" when the web was 4 years old. That's pretty cool.

I had a "Senior Software Engineer" title after only about 2-3 years of real-world programming experience, at age 23 or so. I had shipped a couple games as lead by then, so it wasn't entirely unearned.

I started out at a non-technical startup that was pushing a technical tool as its main product. Out of a team of three developers, I became the Lead Developer, despite having barely a year of experience, simply because I was the better programmer and was willing to call management out when they tried to make technical decisions. I was offered a choice of "Senior Developer" and "Lead Developer" and went with the lead role because I didn't feel very senior.

In reality, I was barely a junior dev, and being in charge of a site that's getting millions of views was absolutely terrifying. In some ways, it was one of the best training exercises I could have. It forced me to learn things, and to learn them well. It was also total bullshit. My pay wasn't that great, and although I was working in a startup that was slowly becoming technical, had absolute control over technical decisions, and was able to turn a company that struggled with FTPing to a server into one with automated builds, regular code reviews using a new source control system (Git), and much more, it still highlighted more than anything that I really didn't have the slightest clue what I was doing.

It really couldn't have gone better for me. The company was acquired, and I landed a job at a great agency, and was able to work on enough projects to actually know what I was doing, and to see what good code looks like. I'm a mid-level developer now, with much better pay, but instead of looking back over old code and laughing, I tend to look back over the time where I led the technical side of a startup and laugh.

Re: The shittiest project I ever worked on

#105

Although it's a fun read, it's a classic example of diving into coding without giving a project it's due diligence. There's nothing that's derailed my projects more consistently when I started out as not understanding the user's needs. They'll never tell you what they want, only what they don't want after you deliver something. I think that's the key difference to an experienced dev/BA. One who can actually sit with…

"One who can actually sit with the stakeholders and build the system on paper and go through each of the problems as the diagrams connect." Reminds me of an old saying: "If you don't know how to do it, you don't know how to do it on a computer."

Test-Driven Sudoku? :)

Re: The shittiest project I ever worked on

#107

Earlier quoted context omitted.

> Although it's a fun read, it's a classic example of diving into coding without giving a project it's due diligence. If everybody was so picky the size of the IT industry would diminish by 90%.

and the success rate? and value delivered?

How dare you bring technical excellence as an argument? Don't you know this is about money, not performance? Jeez, get an MBA.

Re: The shittiest project I ever worked on

#108
I can highly recommend Flawless Consulting by Peter Block. He covers all these issues and many others. Self awareness is critical to success. If you are inexperienced you need to be able to recognize/acknowledge your inexperience. Then read everything available on the subject and interview every expert you can identify. Clint Eastwood said it best, "A man's got to know his limitations". http://www.youtube.com/watch?v=_VrFV5r8cs0

Re: The shittiest project I ever worked on

#109
post #79

Earlier quoted context omitted.

The distinctions you are making are mere tendencies. Automotive engineering, for instance, requires everything on your list of software development traits—in spades. I would say that the essence of engineering is a devotion to verifying that the design works like you think it works. Software development often lacks this devotion, but when it is there it is entirely proper to call it software engineering.

i suppose there aren't very many software engineering fields (and most of them really are just computerized extensions of physical engineering). That's why i call it software development, and i m a software developer.

There are plenty of different software engineering fields, it's just that it's usually just called "domain knowledge" and nobody outside the field makes the distinction.

One of my internships was at a company that did avionics software. Avionics is about as different from Web 2.0 startups as you can possibly get and stay in the same industry. There are very rigorous traceability metrics that pretty much dictate exactly what can go in the software. Every line of code has to be traced back to a particular paragraph in the design doc, which has to be traced back to a particular numbered requirement. Oftentimes garbage collection or even heap allocation is banned to avoid unbounded pauses in execution time. So the behavior of the code is fully specified under all conditions, and often formally verified. This was the one place I've ever worked where I'd hear "So we should write it in Ada then?"

I've also worked in the financial industry. Little known fact about the financial industry: it's not one industry but many. The code that you'd use to build a quant trading model is very different from the code you'd use to build a retail banking portal. The former actually tends to look a lot like academic research code (i.e. a software engineer would consider it shitty, but it has impressive math and gets the job done).

I work in consumer web now, but at Google. We actually do care about latency, and CPU load, and memory consumption, and developer productivity. And so it actually ends up being a lot like real engineering, where you perform experiments to measure the performance of the building blocks you're using, carefully consider goals and trade-offs, make estimates and back-of-the-envelope feasibility studies before implementing, and then rigorously test that solution.

This is in complete contrast to when I had my own casual gaming startup, where neither performance nor reliability mattered all that much, the only thing that did was the user interface.

Re: The shittiest project I ever worked on

#110

Earlier quoted context omitted.

Sorry if it reduces self-esteem, but we (software developers) are not engineers. I've been brainwashed for many years by my brother, who is a Phd civil engineer, that professions that hijack the term engineer are kidding themselves. I know it sounds cool, and my current title is 'Senior Software Engineer', but it is all a scam.

I'm not convinced. Care to make a case?

I am a programmer, but my diploma says Electrical Engineer. I actually majored in EE because I thought it would help me be a better programmer (and I think it did, but that's a story for another time). I actually did EE work, too, and continue to do so sporadically, but I only tackle tasks where I can't screw up any actual EE's work. I know my fundamentals and have some design experience, but since I spent most of my career doing (admittedly, low-level) programming, I'm no match for someone who spent most of their career doing circuit design.

The whole frame of mind in which I do EE is incredibly different from the one in which I do programming, to the extent that, for much of my early career, there was simply no way I could do both of them efficiently during the same day. The time of context switching was, literally, a good night's sleep. There are marked differences; the ones that spring up immediately are:

1. I spend a lot of time doing actual computation, optimizing my design on paper and attempting to predict interactions that occur due to reality not being quite like its ideal model. Some of the younger engineers frown upon this (mostly because they suck at math and think theory is for bookworms), but it's very productive once you manage to do it right.

2. Even when specifications are complete and respected to the letter, there are still differences between what you specify and what gets built. There are technological variations you must account for.

3. Better yet, you always need to bear in mind the limitations of the manufacturing process for what you design. When I think about how I'll write something, my own ability to code is literally the only limit I have to deal with. There are, of course, hard limits due to the constraints of the platform you work on (e.g. there is some hard limit to how much code you can fit in 16K of flash), but these are of a very different nature compare to manufacturing constraints. Designs must account for the limits of your technological process (e.g. you may not be able to mount some types of components on a PCB), and they must also ensure manufacturing is feasible and scalable (something called DFM -- Design For Manufacturing -- which I have screwed up a couple of times, due to my inexperience).

Overall, there's a huge gap between how much intuition and craftmanship I put in each activity.

I'm not saying this disqualifies programming as an engineering discipline; such differences may also exist between other engineering disciplines I have no idea about.

I, for one, tend to frown upon it being called "software engineering" though, mostly in virtue of these differences. I don't consider the term "software development" demeaning -- in fact, I prefer it, and I always present myself as a programmer and my job title as "software developer", even though I'm legally allowed to call myself an engineer.

Post reply on HN