HNHacker News
TopNewBestAskShowJobs

jacobyoder

533 karma · joined February 6, 2019

submissionscomments
jacobyoder··on Success determined by ability to speak, ability to write, and quality of ideas
Have worked with this for a while - multiple positions where "hey, just lead by example" which... never works. I was referred to as a "lead developer" on a small team, but everyone would still defer to (or explicitly seek out) input from the company owner. He went through a period of "do whatever jacob says" but that wasn't followed. I would give input, then it would be tabled until someone could 'confirm' with owner.
jacobyoder··on Ask HN: What's your 10x developer story?
> If the average velocity per engineer on a team is 10 story points per sprint, a 10x developer is not going to complete 100 story points in the same sprint. That's impossible.

Is it? We had a sprint in march. Estimated 60 story points, arguably split between 4 people. Around 48(?) points got done, and I did 32 of them. The other 3 people each did around 20% of what I did. 3 of us were only part time on that project (~20 hrs per week).

Now, with that said... it was somewhat an edge case. That differential existed for a long time, and I kept it going for months (close to a year, honestly), but burned out. One of the biggest (expressed) concerns I had was "if we hit all this, they'll just keep adding more". And... that's what happened.

Along the way ... I was growing more and more irritable - the pressure, the meeting pace, the public front to the client vs the under-the-hood realities, the constant feeling of letting everyone else down if I didn't finish everything...

I pulled back my time/commitment some, and that feeling got worse, because no one actually pulled back any goals/commitments, just... more public "yes, things are great, everything will be fine, all goals will be met!" and a growing increase in stuff not getting done.

> If you add a single 10x engineer to that team, the entire team will step up because 1) they can learn from someone and are motivated to do a good job, 2) they become more intellectually stimulated because they have someone they can bounce high-level ideas off of and actually get good answers, and 3) there's an implicit trust of having someone who is so much better than you telling you how things should be done and expecting you to step up and do it.

The team would actually want to learn and get better. Some will and some won't. I've seen it go both ways in the past 20 years. The people have to want it, and the org needs to have an actual plan in place to support that goal.

jacobyoder··on Ask HN: Starting a Career in Programming at 61?
Partially through trial and error, partially from other people, partially from books, etc.

It's not so much that "these young kids won't listen" that's annoying, but this mantra of "we're all here to learn from each other - that's how we grow!". Except... if it's me. Then you choose not to learn from me. Or older people in general. Just drop the "feel good we're all a team" facade, because it doesn't represent what you're actually doing. The disconnect is the problem, not the actual behaviour.

jacobyoder··on Ask HN: Starting a Career in Programming at 61?
Accepting some advice or input on an individual item vs having someone 'manage' you are different beasts. As I come up to 50, and work with a group of folks ranging from 28-32... the age and experience gaps are highlighted often. I'm happy to contribute, and I do occasionally learn something from someone (often some specific tool I'd not seen before). But there's a resistance to 'learn' from me. We're 'equalized' on a 'team', and "we should all learn from each other!" is a common mantra.

I've done many of these projects before, and will raise issues. "Let's just see how it goes!" and "well... we might make some mistakes, but that's how we learn!" And I'll say "but I thought we were supposed to be learning from each other?" "yes!". "Why does no one ever want to learn from me?" I've done XYZ longer than these colleagues have been adults, but I'm never asked for stuff, people avoid my input, etc.

What's more interesting is that a couple of folks on the client side of the equation (contracting house) have been added who are older, and ... they're quite open to picking my brain. We mesh quite well, and have pairing sessions and learn from each other (but I'm giving more than taking in those cases). With the younger crew... there's just a real standoffishness, and focus on 'team' and 'learning from each other and our mistakes' but... they're willing to make mistakes (repeatedly) vs taking my input to avoid those mistakes in the first place. The client's new person seems to have picked up on this and is raising some issues.

For a while, I really thought it was something wrong with me, but as I jump around between clients/contracts/etc, it seems to be more age related. The larger the age gap, the less impetus there is to work 'together'. And... I'm trying to think back to when I was 25... how open would I have been to 50 year old colleague's input? If they were 'management', I'd have to. Otherwise... possibly not? Hard to remember that far back, other than that I thought I was invincible :)

jacobyoder··on On Being Indispensable
being given deadlines ("get XYZ done by march 1")... i take that as... "this needs to be done by march 1". This was very much more towards 'nepotism' than "oh he's just so pleasant".

Colleague (new, like me) was given task of "build web software feature X for the marketing team, and you have to ensure colleague B is trained". Colleague B ... did not understand browser technology or server vs client stuff (literally - 'how do you upload a file?' and 'how do you submit form data'?). Colleague tells boss "I can work on training B, or get feature done, but can't do both by the deadline in 2 weeks". "That's your problem, get it done". Feature was done, but marketing team didn't want it ("why did you build this?"), and B wasn't 'trained', and this reflected very very negatively on my colleague. The 'chill' guy? Regularly missed deadlines and delivered buggy stuff. But hey... he's chill, so everything must be cool, right?

If you have loose deadlines... just say "this is a loose deadline".

Unsure how doing work you were assigned is being a 'busy body', but hey, you were there, and I wasn't, right?

This is also a place where the tech leads in charge kept pronouncing that HTML tables were "depreciated" and we should build all tabular data in divs only. In 2004. As in "transform these dozens of Excel spreadsheet data in to something that looks like a table, but... hey you can't use tables, because they're depreciated". If you can't even use the word correctly... I'm not sure I can trust you. This effort took 8 people 3.5 weeks to recreate 'table-like' visuals (across Netscape and IE 5 and 6) with discrete CSS for each browser because... 'depreciated')... It should have taken 2 people a day, and initially it DID, because it was done, then... 8 people were roped in to redo it all without tables.

I ended up quitting in less than a year.

jacobyoder··on On Being Indispensable
reversedly, I was at a company where I kept focusing on 'stuff', trying to respond on time, hit deadlines, etc. Went to lunch with someone and he kept saying "chill out, don't sweat it". We were late back from lunch. It bothered me, but not him. I found out a few months later he was dating the niece of the dept manager. The two of them were friends with another lead on the floor. This is why he was always 'chill' about stuff. He never hit deadlines or delivered great stuff... it didn't matter. He was 'in'.
jacobyoder··on How much did VHS tapes cost in the 80s?
I'm 99% certain it was Top Gun, and also, IIRC, it was because it had a Pepsi ad bundled with it before the movie (a somewhat groundbreaking move at the time). That subsidized the 'cost' of the movie on tape, reportedly.

EDIT: looked a bit more. Diet Pepsi, not Pepsi, and it was 1986. Article I just found said it was only dropping the price from $29 to $26, so the bigger price drop was likely/possibly something else before that. My memory was that that Top Gun / Pepsi thing was the big deal that changed the VHS pricing, but it's been 30+ years so I'm likely misremembering...

EDIT 2: maybe it was TG after all... https://www.everything80spodcast.com/how-the-top-gun-vhs-cha... ?

jacobyoder··on Doing too much work on one's own before looping in others
Why not just say "Agile Works Sometimes"? Or "Agile Can Work"? Because when "Agile Works" is touted, and then things go wrong, people get blamed, vs the actual processes and concepts. If "Agile Works", but we're not getting the results, then someone must be doing something wrong - can't be "Agile" that's wrong (for this scenario).

"Agile" software development doesn't work when there's 5 non-technical stakeholders and 1 software developer.

jacobyoder··on Doing too much work on one's own before looping in others
> Suffice it to say, it's all been accounted for. Agile works.

And if you are doing "Agile" but it's not working... then you're Doing It Wrong(tm). Right?

jacobyoder··on Doing too much work on one's own before looping in others
I'm ... late 40s. Have been paid for working on software development in some capacity for... 28 years (first paid contract was 1993), and did hobby/amateur for several years before that.

I'm contracting with a couple different companies, and one of them... the others on the team range from ... 27-32. So... I've been doing professional/paid development work longer than most of them have been alive, certainly longer than any of them have been adults. The manager(s) I interact with - one just turned 31, and one is... I think 29 or 30.

The older you get the more common this may become.

jacobyoder··on The "five whys" productivity technique
I've gone further in some of these, but sometimes it gets to "there's not enough time or people to do X".

There's been some cases where "I missed X - there's not enough time to check everything and I missed X". "Well, you should have told us X wasn't checked" or "you should have raised the alarm before". I've been raising it for ... 5-6 months. And the whole point of "I missed something" was... it's a mistake/oversight, not "I intentionally didn't check X".

There are rumors of other developers being interviewed, but no one has come on board. Assuming someone does, I suspect the thinking will be "let's double the previous workload - we have 2 people now".

I'm understanding of the situation, to some degree. Pretty much everyone on the project is 'overworked' in some sense, but they've been hiring and doubling up other positions, just not this one. I've been keeping this pace for 18 months. I scheduled one day off - 2 weeks in advance - because I had to drive someplace. That morning, someone noticed a financial bug that was preventing everything from working. 2 hrs later, from my hotel, I had to connect in and review and fix stuff. It was totally my fault - I missed stuff - but there's just... no getting away from it.

Adding in '5 whys' and other formal review processes on top of this situation borders on insulting.

jacobyoder··on The "five whys" productivity technique
Yes. As more management layers/people are added, people are all wanting to be "more professional", and seeing "oh, we did formal written RCAs on production events at my last company, we need to do that here".

I did a 6 month gig at a company a few years ago. Team of... 6-8, with a dedicated PM and a good team lead. Company was around ... 80 or so at the time, and there were a couple other 'dev' teams (I think around 35-40 'dev' folks at all - it was growing so hard to pinpoint numbers).

I saw some of these types of processes there - I didn't always agree with 100% of everything done, but there was a team. 1 lead, one PO/PM, and... 5-6 devs and a couple testers - a self-contained unit. It worked pretty well, all things considered.

I'm currently in a situation where it's completely backwards, but they're trying to implement all the 'correct' and 'professional' techniques. Oh, and I'm part time - ~20 hrs per week. Pretty much everyone is part time, either overall, or part time on this project, and... the wrongness of trying to bring in techniques built for full time larger teams seems to be lost on everyone but me.

jacobyoder··on The "five whys" productivity technique
i'm currently the only developer on a project. i now have ... 3-5 'managers' (depending on how you count) involved in planning/direction. PM on "my" side, PM on "client's" side, PO on "client's side", and... some other 'higher ups' on each side that drop in now and then.

Recently, they've instituted formal RCA process with "5 whys" and... every 'why' ultimately ends up being my fault. Now... they're not saying 'fault' directly, but no matter how you cut it, I forgot to add another test, or I didn't document something clearly enough, or I forgot some error checking, or... I forgot to remind someone of something or... whatever.

"Oh, don't take it personally! It's not just you, we're a team". But.. I'm the only one doing the work that is breaking, and I'm the only one fixing it, and every documented RCA lives on, pointing out that I made mistakes, and each document is delivered to 12 stakeholders every time there's a mistake, and mine is the only name on it attached to the 'root cause'.

"What lessons can we learn from this?" That we can't sustain this pace, and adding more managers is not helping the situation in any way.

I've been saying for a while we're formalizing way too much stuff, and that most of the practices they're bringing in from other places all had the baseline of "more developers than managers" in a team environment. I'm a team of one, and processes designed for teams of 3-5-10 aren't appropriate, imo.

jacobyoder··on Everything I know about freelancing
"If a client gives you a design to implement, make your implementation pixel-perfect. It’s crazy how sloppy some developers are; the client put together that PSD for a reason"

Even when the various mockups are in conflict with each other? Dealing with internally inconsistent state?

Building full web applications off of a PSD file is often a bad start. Things like menu/toggle state, hovering, accessibility, etc - these are - in about 95% of my experiences - ignored or broken in "designer-led" design stuff.

Yes, they had an idea that was translated to graphic state, but when things don't comport with reality (no, browsers can't actually represent everything you just in your PSD, or no, we can't make 9 point fonts usable in pulldowns with the same font your designer used, and no, we can't use that exact font because it's $1500, etc).... you have to use your judgement - and you can do it collaboratively with the client(s), but do not spend hours/days/weeks trying to chase down pixel-perfection based on PSDs that were likely based off $30 templates themselves. When chrome does an autoupdate and things are 3 pixels off... what do you do then?

> It’s crazy how sloppy some developers are

It's also crazy how un-aware of what browsers actually are and how they work some designers are.

jacobyoder··on The Plight of the Graying Tech Worker
> As a tech lead / team lead over the last five years in a small East Coast market I've experienced real difficulty finding competent Software Engineers at any level

Amen. I've been in a few US markets (non CA/NY) over the past 20+ years. Finding a decent number of available/skilled software engineers is always a challenge. If they're skilled (beyond competent), they're employed or doing their own thing.

I've recently taken a 6 month contract, and have been amazed at the quality of the team, but... they're really having trouble finding people - people that wouldn't be a net negative on the team (there's both cultural fit as well as skill fit). And yes, they're hiring junior folks from area bootcamps and training them up. Doing real training - reviews, handholding, explaining, testing - is a real investment, and takes a lot of time.

This has been one of the few teams I've worked in where I've been pleasantly surprised at the level of quality of everyone in the company (10 in the group I'm in, around 65 in the company altogether I think).

I'm watching how they interview/hire/expand, and... it's tough. They could easily bring on more people quickly who would be a net negative, and cause more problems (I've seen that many times - I was the net negative problem at least once!)

jacobyoder··on Ask HN: How to cope with job hunting and depression?
Wow - you're getting rejection letters/emails? You're doing much better than I've been faring. Have reached out to around 25-30 places in the last 2 months - 2 have actually responded with "you're not a fit".

Consider connecting with someone at 7cups - https://www.7cups.com/ - it's free.

jacobyoder··on SleepyHead Project Is Shutting Down
that's still 'before sleep', isn't it?
jacobyoder··on The shady economics of ‘buy one, get one free’ deals
paganel is saving time by no thinking about the issue, so 'winning' in some sense.

However... you don't know what the brand is. The brand may be the store brand, which... while it's brand loyalty, is almost always the cheapest, and usually don't have any marketing expense beyond the product in the store in the first place.

I've learned to love most store brands, and... it may be my mind rationalizing it, but I think they've actually become much better quality wise than they were 20 or 30 years ago. But again may be a trick of the brain.

Biggest issue I see is that store brands often don't have the same level of variety. Chips - store brand may have 4 flavors - other vendors may have 10-12 on the shelf above. If I really want a specific flavor, I'll get a name brand, otherwise, just go with store brand (or.. with chips, hopefully skip altogether!)

jacobyoder··on The shady economics of ‘buy one, get one free’ deals
> usual items I purchased and some of those items are on sale

Often the "deals" are "buy 3, get one free", where the per unit price might be a bit less than a single unit, but if you only went in for 1, but ended up buy 4, you've paid more than you might have otherwise. Sometimes it's a good deal, and you get more value, sometimes the items expire before you end up using them, etc.

jacobyoder··on Technical Recruiting Needs to Focus on Selling the Position
I've talked with a number of recruiters - 2 specifically indicated that they had arrangements with the end client - essentially an exclusivity deal. Once they revealed the client name to me, they'd let the client know, and if I made contact outside the recruiter, it was still an 'introduction' they'd get paid for if/when I was hired. Both of these were from a job search in the mid 2000s.

I've spoken with many more generalist recruiters, none of whom ever indicated this sort of system. I don't think it's overly common, but it was an arrangement that 2 recruiters indicated they had. Perhaps they were extreme one-offs?

jacobyoder··on Technical Recruiting Needs to Focus on Selling the Position
The recruiters I've known would document their outreach to you, and notify the company that'd we'd spoken. If they'd specifically contacted me, the I bypassed them, they may still get paid somehow (but I'd lose whatever bargaining skills they might bring to the process)>.
jacobyoder··on Ask HN: How much should I charge for a simple CRUD app?
> Framing this product in terms of time spent rather than value created gives rise to all the wrong incentives

Mostly agreed, however, when you leave the determination of the value created in someone else's hands, other wrong incentives come up. And... the value is often reliant on execution of other areas of business outside your control (support, marketing, pricing, etc). I can do the same project for 2 companies - one will struggle to get any value from it, another will get millions.

jacobyoder··on Ask HN: How much should I charge for a simple CRUD app?
"People have told me for an app of this caliber"

Also, that's not really a good yardstick to use. Bigger issue for you is... you. Even without looking for outsized "profits", you have living costs. Assuming you work in the US (or similar western-ish country), $30/hr to provide the level of professionalism you'd want to provide is not enough. For the project: adequate time/money for meetings, travel, equipment, tools, testing, documentation. For your operation - time/money for dealing with your taxes/finances, investigating any server stuff you need to do, any other miscellaneous stuff...

On 'hourly' - I typically, use between $100 and $150. I go less sometimes if certain criteria are met (history of client paying on time, largish duration of project, interesting space to learn new skills and meet new people, etc). I do not bill for 5 minute meetings or 3 minute emails. I usually don't charge for travel time (driving 30 min for a meeting). If I need a $50 service or tool for the project, I'll buy it, if it helps me get the project done. I do not bother adding on misc line items like that, as in the majority of cases, these tools/services just make me better at my craft, and possibly can be used in other projects later too.

Higher rate (project or hourly, whatever) give you the opportunity to budget to get better - again, tools, or videos, or conferences to meet specific people, etc.

Assuming a western country, look to budget for at least $60/hr, regardless of your experience level. The rate should help you take your own process and your own image of yourself more seriously. Missing a deadline may be easier for some people who say "well, they're only paying $25/hr". Treat everything as if it's high priority and urgent, and charge accordingly. Then deliver on that.

jacobyoder··on Ask HN: How much should I charge for a simple CRUD app?
"The design is already done"

I've heard this one hundreds of times over the years, and it's actually never been the case. Ever. There's always some functionality question that the design creates/raises/highlights which often becomes a stopping point until a hard decision is made.

I was handed a 240 page mockup - team had spent weeks working on this, with a skilled team of design professionals. I was told "everything's been thought of - just make this (pixel perfect!) in to a web app". Well, basic things like "these select box and radio button together lead to 11 different combinations, 3 of which are mutually exclusive scenarios. How should we deal with this? Disable the items in that case? Or show an error to the user? Both? Neither? Should we log that people are trying those combos (so the business process could be adjusted to accommodate that expressed need)?"

"Dude, we've already planned it all out - you don't need to think about this, just implement it - all the hard work has been done. These people know what they're doing."

With all respect to the talented design folks out there, sometimes "design" people are just putting buttons and boxes in to photoshop. Just one example I dealt with last year: in 240 screens, site shell wasn't consistent in use of fonts between screens - step 1 of 7 had 12 pt font in the 'step X of 7' area, step 2 had 11 pt font, step 3 had 12, step 4 had 10.5,.... So anyone looking at an individual process I'd put together would take 'step 3' and say "this isn't exactly what the design team put together" "Fixing it" would then get feedback from someone else indicating "the font changes when I move between the steps - this is bad".

Toggle slider to "enable" X and "enable Y" (two services), and a pulldown at the top also indicating if you want "X" or "Y" or "X and Y". Pull down X, "X" toggle slider is enabled, and "Y" toggle slider is disabled. Pull down Y, the reverse happens. If you toggle X on, the "Select X" from the pulldown is selected. If toggle Y is on, "Select Y" in pulldown is selected. If X and Y are both toggled "on", 'Select X and Y' is chosen. If X and Y are both toggled off... what should happen to that pulldown? ("it's gotta be a dynamic representation of the state of those two options" - but there's only 3 options and 4 possible states) ... reply was "well, they can't do that - it's not possible for those to happen". Except... that's the state the screen starts in.

This was two examples of 8-10 "issues" I found in just a few weeks. "Winging it" - just making an basic educated "I'll choose a sane default in the absence of guidance" - every time that path was chosen, it was the 'wrong' choice (even when a right one was never given).

So... yes, minor rant, but "the designs are already done" - by other people, especially those who will not bear any cost of actual implementation.... TRIPLE your time estimate. From the already doubled one. And go buy some Dale Carnegie material to brush up on winning friends and influencing people.

← PreviousPage 6 of 6