Basically allowing for a uniform way to query data which is reminiscent of a more modern version of SQL (in my optics anyway). Does anything library wise come close to this within the Golang ecosystem?
The book doesn't use the phrase founder mode, but it discusses the transition from a founder oriented company to a culture oriented company in detail.
The human analog works well here. Advice for parenting a baby, toddler, child, or teenager is all different. People's needs change over time. At a certain point people become adults and need mentoring more than parenting.
Almost every article on how to run a company fails to qualify the stage of growth that the company is in. Once you start thinking about how companies evolve over time (somewhat predictably), it changes your perspective. PG is right in the correct context. Those advising AirBNB are also correct, in the right context. Following either piece of advice blindly is just living in a cargo cult.
https://www.amazon.com/Managing-Corporate-Lifecycles-Ichak-A...
(Like any business book, it's at least 20% BS, but the remaining 80% is quite good. If you do read the book, do not read the first few chapters and assume you've gotten the whole idea. The book has a very good paradigm on worker profiles and what is needed in different stages of growth in its later chapters.)
A single talented carpenter with an energetic but otherwise totally unskilled helper can accomplish more in a shift than two talented carpenters together. If you don't have someone to run to the truck for nails, hold shit, move ladders, etc. productivity suffers because your talent is wasting time on menial tasks.
Same thing applies to IT departments. The folks the author is busy sneering at are at least as valuable as the engineers they're actively trying to retain because (among other things) they soak menial tasks that would otherwise cut into their rockstar's productivity.
I'm usually one of the smarter people in the room when doing software development and spend a lot of time helping others. In construction, I'm the enthusiastic idiot as the skillset is different. Most tech workers underestimate how high skilled tradework and many other positions outside their experience are, especially management work.
Having said all that, I feel uniquely qualified to offer a rebuttal. The article is describing a clear pattern that I see at large companies that are not focused on software development or lack solid engineering leadership. Ironically, the problem gets worse the more a company tries to outsource IT as they face all the same challenges with less control. It is an organizational health issue however, not some universal truth. If tech workers lack anything, it's experience with organizational growth, change, and group dynamics, not construction experience. Organizations are like people, they grow, change, figure out who they are, have identity crises and need different things in different phases. Ask the highest level/most competent manager you have access to for book recommendations if you're interested in this.
Anyway, back on topic, software "gruntwork" typically implies a department lacks the agency to automate away said gruntwork or lacks the skills to do so. As an example, I work with many organizations using the JVM, but none of them use Scala, Kotlin, Clojure, or any other "nice" JVM language. They use Java. In some cases Java 8. If you're writing Java, there is absolutely stupid gruntwork. I've written example applications for some of these organizations and I had to create code generation tools to stay sane in this environment. In software, you eliminate stupid gruntwork with tools, not people.
We do need average enthusiasts in software development, but it's not the same as construction. In construction the less talented person fetches things and does setup work. In software development, the less talented workers spend most of their time using libraries, plugins, frameworks, compilers, interpreters, databases, and languages while the more talented workers write them.
My experience isn't universal, and I'd be interested in hearing some dissenting opinions on this.
That made me chuckle.
But it's possible for siblings not to share any genetic material right?
A brother and a sister would obviously get different genes from their father and presumably there would be a 50/50 chance of them getting different genes from their mother.
There's four unique prototypes of children any two people can produce together.
The biggest issues I see are:
- getting candidates to put their data in, you can't really rely on scraping because a résumé doesn't provide enough information, and your hallucination quantity will go up
- getting critical mass of users, so that recruiters and potential employers would find the database valuable
- candidates embellishing their accomplishments, though admittedly this is also a problem with basic resumes
It's often better to be in the hiring position than in the applying position. But it's awful for everyone involved.
The way to avoid this mess when applying for jobs is to build up a network and lean on it for new positions. I wonder if dating may have a similar alternative approach.
You can't really have a reasonable conversation about ORMs without defining the feature set your ORM has. If an ORM doesn't apply type safety to SQL queries and translate typed code expressions to equivalent SQL expressions, it's not performing two of the key functions I associate with ORMs. If I didn't take these features for granted, I would probably question how useful ORMs are too!
I think the reason it's so hard to have a conversation about ORMs in general is that we're often lumping radically different systems together and then making a blanket judgement. Again, it's like working with C macros, getting annoyed with them, and then judging all macro systems to be bad.
Sounds like an OK test to me. Great (senior) developers should be able to do that kind of thing. Categorizing yourself exclusively as "a Ruby developer" is a career trap.