Live data from Hacker News

The Conjoined Triangles of Senior-Level Development

frontside.io

61–70 of 79 posts

Re: The Conjoined Triangles of Senior-Level Development

#61
post #33

Earlier quoted context omitted.

>This statement makes me concerned that they have greatly devalued technical skills. [...] When technical ability is devalued so much in a company, I'm not going to justify their thinking but I'll attempt to explain where it probably comes from. The context for their perspective is crucial. Notice that their assertion for "less time to develop technical skills" is followed by a sentence praising graduates of "code bo…

I like this. I'd elaborate on your groups this way: Group 1's job is to save the company money, or make existing systems easier to use/more efficient. They help increase sales by implementing metrics/ab testing/etc. A top member of group 1 will be leveraging technology to automate costs & complexity away. If the company nets more money because a Group 1 person is employed, they're doing their job. Group 2's job is to…

That's not always true - many businesses make a lot of money with a core product in Group 1.

Group 2 is only necessary for certain companies, where leveraging technical advantages is core for the business. Most startups are not this, though being one maybe helps a startup's chances of success.

Re: The Conjoined Triangles of Senior-Level Development

#62
My problem with these sorts of discussions is that they try to put technical know-how on the same footing as social aptitude, charisma, and other "soft skills".

I can throw darts on a map and find billions of people capable of "connectedness" and "leadership". Finding you capable "technical" talent on the other hand...

This ease is mostly due to connectedness and leadership being naturally grown out of decades of organic social interactions that people need to do in order to... you know... survive. You can accidentally reinforce these properties just by being 1.) a member of the human species and 2.) alive.

No one accidentally reinforces the understanding required to mentally maintain the thousands of arcane exceptions written by the result of C-Levels pivoting endlessly across outsourced teams for the cheapest price, compiling the world's worst spaghetti code responsible for an everything-on-the-line application.

And if this seems a bitter, then look into your own organizations and experiences: Who gets fired/quits the most? Human Resources, C-Levels, Marketing or the Technical team? Whose ass is on the line when the fires start? Who is expected to work 10+ hour days every day for all of eternity?

Looking for unicorns does not make you a unicorn hunter. It makes you delusional. A senior knows unicorns don't exist even if people look to him/her as one.

Re: The Conjoined Triangles of Senior-Level Development

#63
post #27

Earlier quoted context omitted.

Frankly I hope that that regulation never happens. It sounds like a dystopian nightmare to me. The biggest reason I became a programmer, besides the fact that I really enjoy programming, is that there was no one to tell me I couldn't become one. Growing up I wanted to be all sorts of things only to find out there were entrenched gatekeepers and a multitude of of barriers to each profession. For whatever reason jumpin…

But, on the other hand, companies are throwing away countless dollars on bad software. The problem is that it's relatively easy to write code to make something look somewhat functional, but it's a different level to complete it. The mistakes of the quick approaches take time to show, and then it becomes too late. It takes way more time and money to fix the issues, later. This has been a debate that's been going on fo…

> That said, I have seen a trend over the last decade of 'juniors' disregarding the wisdom and experience of 'seniors'. Maybe it's because we are too slow, too methodical, not well informed on what's new or recently hyped. Maybe we are more strict, more ambivalent (seeing everything as trade offs), or maybe we are just not fun. Who knows? But, it's incredibly frustrating to continuously fix poorly developed systems. It's irritating to give advice and guidance, only to have it disregarded because some celebrity consultant, blogger, or tweeter invented another silver bullet.

Maybe you're just getting older, and more aware/tired of it.

Re: The Conjoined Triangles of Senior-Level Development

#64

My problem with these sorts of discussions is that they try to put technical know-how on the same footing as social aptitude, charisma, and other "soft skills". I can throw darts on a map and find billions of people capable of "connectedness" and "leadership". Finding you capable "technical" talent on the other hand... This ease is mostly due to connectedness and leadership being naturally grown out of decades of org…

> My problem with these sorts of discussions is that they try to put technical know-how on the same footing as social aptitude, charisma, and other "soft skills".

You really do need some level of each.

Difference is you can reach a pretty low bar in term of social skills, being approachable and being able to communicate, vs a high bar technically.

Re: The Conjoined Triangles of Senior-Level Development

#65

Earlier quoted context omitted.

> Fire them if they prove they can't do their job. What kind of timescale would you consider reasonable for this? Because the cost of changing jobs once you have a family means anything less than 3 months is pretty unethical. Unless you tell them up front, but that's just probation, which means good luck hiring anyone.

I do not agree that it is unethical to fire someone before three months, but it's not been an issue, I've neither had to do it that early. I do think it's more unethical to keep a person in a position for which they are not suited, though, regarding your responsibilities towards the company, to the worker in question, and to their co-workers. I am up front about the process and the possibility it could end very early…

> I typically suggest to them that they start at 10hrs/wk while at their current job to see if they like the work.

ha. Good one.

oh wait you're serious. Noooooooooooooooooooooooo

Re: The Conjoined Triangles of Senior-Level Development

#66

I liked a lot of the article until I got to >Our hiring “secret sauce” largely stems from the fact that it seems to take significantly less time for someone with leadership and community skills to develop technical skills than the other way around. I’m seeing a large number of people who graduated from code bootcamps 3 and even 2 years ago now handily and gracefully filling the role of senior developer. This statemen…

Because in software we build platforms that let the new developers stand on the shoulders of giants. With Rails you can learn and build a web app in weeks. With AWS you can learn cloud architecture in months. Spend two years focusing on the right tech, get sufficient depth, and you are an expert. There are also infinite resources to help with this from books to blog posts to a culture of mentorsship in the work place…

it's easy to "build a web app in weeks"

The really hard bit is:

Building a web app that can evolve and grow to build a business over several years, eventually with a large team.

And that's where traditional Rails development fails, and we still haven't worked out quite the best way to resolve that.

Re: The Conjoined Triangles of Senior-Level Development

#67
post #33

I liked a lot of the article until I got to >Our hiring “secret sauce” largely stems from the fact that it seems to take significantly less time for someone with leadership and community skills to develop technical skills than the other way around. I’m seeing a large number of people who graduated from code bootcamps 3 and even 2 years ago now handily and gracefully filling the role of senior developer. This statemen…

>This statement makes me concerned that they have greatly devalued technical skills. [...] When technical ability is devalued so much in a company, I'm not going to justify their thinking but I'll attempt to explain where it probably comes from. The context for their perspective is crucial. Notice that their assertion for "less time to develop technical skills" is followed by a sentence praising graduates of "code bo…

Thank you for spelling this out.

IMHO most of the world runs on project management, social skills, soft skills, "changing the world" by making a better mouse trap, increasing the conversion rate by 0.5%, decrease the customer support response cycle by 2.5 minutes and satisfaction/loyalty survey by 3 points.

I think most people has moved onto (1) because of the universal adoption of the web. (1) makes the most splashes because it's more relatable, accessible and dare I say, more profitable? However (2) still exists, but seems they've declined because in the late 90's, they seemed to be the dominant icons/heroes of computing (Phrack/2600, compare to today's "founders"); it takes more fortitude and individual direction to push yourself to dive deeper into the stack and take on more kernel and distributed computing problems, without the extrinsic reward of money.

In a sense, it's kinda of students choosing business consulting vs. going into (pure science or humanities, not pre-professional) grad school.

Re: The Conjoined Triangles of Senior-Level Development

#68
post #65

Earlier quoted context omitted.

I do not agree that it is unethical to fire someone before three months, but it's not been an issue, I've neither had to do it that early. I do think it's more unethical to keep a person in a position for which they are not suited, though, regarding your responsibilities towards the company, to the worker in question, and to their co-workers. I am up front about the process and the possibility it could end very early…

> I typically suggest to them that they start at 10hrs/wk while at their current job to see if they like the work. ha. Good one. oh wait you're serious. Noooooooooooooooooooooooo

I do what works for me. The best people I've ever hired were all this way. I don't think I deserve such shitpost replies in return.

Re: The Conjoined Triangles of Senior-Level Development

#69
post #33

I liked a lot of the article until I got to >Our hiring “secret sauce” largely stems from the fact that it seems to take significantly less time for someone with leadership and community skills to develop technical skills than the other way around. I’m seeing a large number of people who graduated from code bootcamps 3 and even 2 years ago now handily and gracefully filling the role of senior developer. This statemen…

>This statement makes me concerned that they have greatly devalued technical skills. [...] When technical ability is devalued so much in a company, I'm not going to justify their thinking but I'll attempt to explain where it probably comes from. The context for their perspective is crucial. Notice that their assertion for "less time to develop technical skills" is followed by a sentence praising graduates of "code bo…

These types of programming are different, but not in the way you describe. It's not the cliche of CRUD LOB vs. "Cool things", but of making apps targeted at the end user vs. creating a shared infrastructure (whether it is a library or a cloud service), and there are many levels down that rabbit hole.

But that being said, Unless you are working for a very conventional small or midsize business with no plans of rapid growth (and businesses of these rarely employ large teams that need leadership anyway), it's never going to be "just CRUD" or just slapping a client GUI in front o a database backend". With large datasets or many users you have to plan your storage and query patterns for scalability, when precision is crucial you have to design for consistency when a real-time response is required you need to reduce latency and when business requirements change often you need to design for flexibility, when your company has multiple clients you need to design a good API, and so on. In most cases you must balance between several requirements, and I haven't even gotten to security yet, which is a too often neglected requirement for almost every system out there. I also didn't touch all the peripheral requirements for having automated tests (and designing for testability), designing a CI pipeline and educating junior devs about revision control workflows and DevOps practices.

Handling all of that doesn't require the same technical skills required for writing kernel code, a ray tracing engine or a database engine (all of them different skills in their own respect), but to be able to design a good system and give guidance to junior developers you definitely need more than 2-3 years of experience.

Yes, many companies choose to ignore what I've just said, and hire low-level programmers anyway, and often put an MBA (who did some formulas in Excel back then) to (micro-)manage them. Of course the products they turn out are buggy, hard to upgrade, fall down to pieces under the smallest hint of load, end up requiring expensive hardware, have gaping security holes and all-in-all cost their failings end up costing the business dearly.

This blasé approach to group 1 development is very common in the so-called "enterprise world", but that's just because the organizational elite over there (as opposed to most of Silicon Valley) is not even tangentially technical. That's understandable: take a CS-driven company like Google or an engineer-driven company like Facebook, and you'll get the mirror image. But there's no cold truth about programming skill not being a big deal here. Group 1 development is at the very least as demanding a skill as plumbing.

Re: The Conjoined Triangles of Senior-Level Development

#70

Earlier quoted context omitted.

I find it amusing that you liked an article which argued against "X years' experience" as a way to define a senior developer, but your disagreement is that you want to insist on "X years' experience" as a definition. And as others have pointed out, it's not "technical ability" that is being devalued; more likely it's that a particular subset of technical knowledge is devalued -- perhaps appropriately for the situatio…

I can't speak for the parent comment, but I will say that while there are plenty of developers with "X years experience" who are not operating at a senior level, it is unrealistic to expect that someone will be operating at senior level without those years of experience. I liked their ideas around direction given vs. direction required. I liked their distrust of the notion of "cultural fit". I liked that they identif…

This is the kind of thing that bugs me, though, this sort of software-engineer exceptionalism. We like to pretend that somehow we're the only ones who have complex projects with tight deadlines and changing requirements. We like to pretend that if you haven't been coding since you were in diapers you can't possibly have enough context or experience or sense of the history of tech to make good decisions. We like to pretend that somehow the only people qualified to be software engineers are the kinds of people who've traditionally been software engineers.

But that's just bullshit. People with CS degrees from big-name schools and years of experience still do a shit job of managing software projects. They still do a shit job of picking tech stacks. Our literature, such as it is, is positively overflowing with stories demonstrating just how fundamentally horrifically awfully bad we are at this stuff. Often, they're bad at this stuff precisely because of the background that's supposed to make them exceptionally qualified; they're bad at it because they got extensive training in how to coordinate a dozen threads in an application but precisely zero in how to coordinate a dozen people on a team. They're bad at it because they got a bunch of ideology about theoretical purity shoveled into their heads in college instead of a bunch of pragmatism. They're bad at it because in the easy-VC-money days nobody cared what your tech stack was, as long as you picked something shiny and new. They're bad at it because they literally do not have the relevant background to be acting in a senior-engineer role.

But what about someone who gets tired of being, say, a lawyer and decides to do a coding bootcamp? They come in from a field where research, shifting requirements, teamwork and pragmatic approaches to dealing with a client's wants are all front-and-center required skills. The same is true for plenty of professions: we can take in somebody with the project-management skills and teach them about tech and coding. We're good at teaching tech and coding. What's hard is taking the person who has only ever learned tech and coding, and teaching them all the other skills.

Post reply on HN