Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Who are these mentioned "middle 33 % of developers"? #109

Open
k00ni opened this issue Jun 18, 2024 · 5 comments
Open

Who are these mentioned "middle 33 % of developers"? #109

k00ni opened this issue Jun 18, 2024 · 5 comments

Comments

@k00ni
Copy link

k00ni commented Jun 18, 2024

The term middle 33% of developers is used several times here, for instance in:

I think its very useful to have such a target audience, but I am wondering what characteristics this group as a whole or a developer of this group have? Its important to have a vague idea, because there are arguments for certain changes to benefit this group.

I assume its meant in a way like a persona, is that correct? Although for the purpose of this repository, some properties, such as demographic and biologic-related information, is not of interest here.

As a starting point I suggest the following two dimensions:

  • Known Skills (in technologies, languages, concepts ...)
  • Goals / Wishes: setup an online shop very fast; connect to a Wordpress instance, use RDFa to increase my SEO ranking,...

With these two dimensions I would vaguely describe the middle 33% of developers as:

  • Known Skills:
    • Advanced knowledge in a programming/script language and the related ecosystem
    • At least some advanced knowledge in the areas of software engineering (such as architecture, organization, ...), database management (especially translating a use case into a database model) and web-oriented technologies (such as HTTP, REST,..)
    • they have at least some interest and the ability to learn new technologies, languages etc.
    • they speak English to a degree that they can understand and follow technical texts
  • Goals / Wishes:
    • Get things, such as custom software projects, done, as fast as possible (if its a paid developer)
    • For spare time projects: try out new things, but keep an eye on the available time
    • Use known tools, methods, etc. wherever possible
@dbooth-boston
Copy link
Collaborator

The term "middle 33% of developers" was an attempt to be clear that the goal is to make RDF readily usable by average developers, not just some highly skilled elite. This was driven by two anecdotal observations: 1. that too many developers with RDF-appropriate use cases decided against using it because it "wasn't worth the effort"; and 2. RDF (and especially OWL) was getting a reputation as requiring two PhDs to use. These concerns weren't shared by all, but they seemed to resonate enough in the community that there was considerable interest in the idea of making RDF easier. Concerns about the term "middle 33% of developers" also led to dropping that term from the stated goals of the Easier RDF effort, so it now says simply "easy enough for most developers". In short, I don't think "middle 33% of developers" was ever intended to be precisely defined.

With that said, I think your suggested criteria seem like a reasonable starting point, with the possible exception of the word "Advanced". I'm really hoping that we can make RDF -- or its successor -- easy enough for average developers.

@k00ni
Copy link
Author

k00ni commented Jun 19, 2024

If I remember correctly, there is a saying: "Something that is made for everyone, is made for no one". The term "average developer" might seem more handy, but it is still too unclear for me due to its implication of a scale. But what is the scale about? In the end we circle back to the same question of how this group is characterized.

In my opinion this repository is needed, because W3C outsiders can voice their concerns, raise questions and interact with W3C "insiders". I don't get why there were concerns about the term "middle 33% of developers". To be quite frank, the RDF ecosystem fills a niche (at best) and is used less and less, at least in the PHP world. There are huge tasks ahead before "getting back on track". Therefore, defining a target audience is an important step to have a reference point to work with. For each development it "allows" checking if something would be helpful, harmful, required, ... to the target audience.

Finally, a target audience is more valuable than focusing on "solving problems" in my opinion. RDF is a cooking pot filled with solutions, but there are not enough problems available to solve.

@chiarcos
Copy link

chiarcos commented Jun 19, 2024 via email

@k00ni
Copy link
Author

k00ni commented Jun 19, 2024

@dbooth-boston Even though it was stated multiple times in various issues of this repository, that RDF should be/needs to be more developer-/user-friendly, does this really mean that future W3C developments are aligned with the needs of this group? Is there some kind of a consensus among W3C folks to align their work and help moving in this direction? I am asking to avoid a misunderstanding here.

@chiarcos very interesting input. I think we are agreeing on a lot here, for instance the two major groups of developers who could be representatives of the initially mentioned "middle 33% of developers".

It also seems to me that the "paper-format" is less accessible for younger audiences (being 25 years or younger) as it is for us. You need a certain knowledge to read and understand a paper or paper-like written specification like https://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/. For instance, technical language(s) or citing and using sources is not that common for people with no academic background. Also, we should consider the fact that academia might be more of an obstacle than a stepping stone at some point. Each community has its own style, such as the Linux Kernel community which still uses mailing lists for communication and to share patches primarily: https://lkml.org/ (the nineties called and they want their design back). However, it works for them. I don't mean to take each new trend and to abolish working stuff, but embracing new developments and openness are a good foundation.

Crazy idea: Invite people with technical background and a known Youtube- or TikTok-channel and ask them, what they think about RDF and what it needs (maybe together with W3C folks and make it an open talk). Youtube frequently shows me shorts from this guy, who is very entertaining but also provides technical insights (in programming languages, technical problems, ...): https://www.youtube.com/@ThePrimeTimeagen

Back to the initial question of, who are the mentioned 33% of developers? In the following a suggestion how to describe them in more detail:


Goal: W3C is willing to adapt its technologies, languages, methods etc. to better fit the goals and requirements of a larger group of developers. In the past, the target audience consists of people with advanced/expert-level knowledge in the fields of "Logics, discrete mathematics (graphs!) and formal algebra [...]".

Description of this larger group of developers: For modelling reasons and to get a better grip, this group should consist of sub groups, for instance:

  • Sub group 1: People with a formal education in Computer Science (or in a similar field), with advanced/expert knowledge in at least one of the following fields: Logics, graph theory, formal algebra, databases, data modelling, [...]
  • Sub group 2: People who are self-taught programmers, without any formal education in computer science, but with high interest in the fields of Computer Science. They are also able to understand, to some degree, advanced content/specifications. Also, they already have advanced knowledge in at least one programming/script language and the related ecosystem. I would include data scientists here.
  • Sub group 3: People who work in the field of knowledge organization, usually having a formal education in library- and information science and who are interested in use RDF metadata in a project (e.g. use an ontology to derive metadata from). This group could be called "knowledge organizers".
  • [who else?]

All sub groups are viable, they overlap but also cover different parts of the spectrum of today programmers/people with a technical background. The question is on which part to focus on first?

The following table contains possible goals/objectives ("what they wanna do?") and needs ("what do they require to be able to accomplish a goal?") for each sub group:

Goals / Objectives Needs / Requirements
sub group 1 (with formal education) (1) Implement software for a business or research use case (e.g. demo for a paper, experiments, productive software, ...), (2) Not afraid to try out cutting edge software, but with better understanding when its not a good idea (1) Can improvise if technical support is not sufficient as long as there is enough information available online (e.g. specification, examples), (2) Appreciates good tooling, but can work with the bare minimum (e.g. writing RDF/XML by hand)
sub group 2 (self-taught programmers, data scientists) (1) Implement software for a business use case (e.g. end user software, productive software, ...), (2) Not afraid to try out cutting edge software (even in productive systems) (1) Small/medium chunks of learning material (doc), (2) Good editor/IDE support (e.g. code highlighting for RDF/Turtle), (3) Appropriate tooling (e.g. Github Action for CI jobs)
sub group 3 (knowledge organizers) (1) Use existing vocabs/ontologies to enrich their own data or to derive own data structures (1) Small/medium chunks of learning material (doc) written for non-programmers, (2) Appropriate tooling, but with more focus on UI than on Terminal-based environments

@namedgraph
Copy link

@k00ni if you want RDF learning material for non-programmers, then write it? What does W3C have to do with it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants