by Hunter Miller
Jess Eddy tweeted about the idea of bringing back guilds. My immediate thought was what if we used guilds as a method of organizing software developer talent?
- This is super off the cuff.
- I have never been a part of a guild or union.
- I don't really know the history of guilds or their downfalls.
- The closest I've been to a guild is working for a creative agency.
- There has been a lot of talk about requiring certifications for developers, especially devs who call themselves engineers, and much opposition with cries of gate-keeping. I don't think I fall on either side, but somewhere in the middle. There probably should be some kind of licensing for a certain class of software.
- I think it's important to write about this contextually, because the problems it solves is different for each type of employment status.
A guild absorbs risk for it's members. This offers devs of all types a benefit.
- For the freelancer, there's lots of risk: availability of work, price/value of work, contract and scope disputes, liability, health insurance
- For the employee, there's less, but it's still there. Many states are at-will employment, arbitrary performance requirements, arbitrary and inconsistent titles, management/hr/executives with no dev experience so no idea how to hire/manage/etc.
- For small dev shops its very similar to freelancers
I think a huge benefit would be "insurance" of all kinds. The ability for the guild to employ or at least have the funds to pay for lawyers in contract disputes, liability insurance, and providiing health insurance at an affordable price.
Similarly, the guild can help protect from bad acting clients. If clients try to skirt around contracts, refuse to pay, or dispute scope, the guild could have mechanisms to address that. Clients known for abuse, that continue to do so, could be banned from using the guild's services altogether as well or at least put on some kind of blacklist so you know to approach with extreme caution.
I would imagine that this would help with availability of work too. The guild or potentially many large guilds, would eventually become common names across industries as reliable places to hire for dev work, which would increase the amount of work available.
This is a problem for many devs who are just starting out as freelance. They may very well be capable of doing the work, but people may not trust them because they have no reputation yet. The guild could act as a trust intermediary (but would need to ensure that trust stays strong). So if people know you're from the guild, they can have some confidence in what you can do.
The guild could easily facilitate it's own projects as well. I imagine making them most of them open source would help build exposure for the guild and act as a form of marketing to those in internal dev teams who use their libraries and frameworks. When they need work in the future they can look to that code as proof of capability. The guild could use it's reserves to pay members to work on projects like this because of the work it would draw in.
Another benefit from a guild would be the building of well though out, consensual standards, which I think we sorely lack in the dev community.
Expertise & Talent
I think the guild could have a system which guarantees at least a certain level of expertise in the field, whether that's through testing, interviewing, or co-working observation. We miserably try to do this with technical interviews and assigments when hiring at companies, and people hiring dev talent have to trust using a combination of word of mouth recommendation, name recognition, and portfolios/proof of work.
Beyond offering external guarantees of expertise, the guild could facilitate learning and training itself through mentorships, apprenticeships, classes, in the field work, etc. I think this would also help validate/invalidate the various programs we currently have in both the private and public sector around whether they are actually valuable and worth investing in.
Another area the guild could shine is in refining a work process around development and sticking to that process. I think right now it's tough as an employee because every company has their own way of developing software. So if you're moving from one job to the next you aren't just changing industries potentially, but also how your day to day work is performed. Additionally, some companies may have policies that are poor for devs like no remote working or rigid hours. Management, the executives, and other parts of the business may not understand how the process of development works best (and make no attempts to do so) thereby forcing the team to work in a way that is counterproductive to their aims.
Similarly as a freelance dev or agency, you can have your own process, but if you aren't strong enough to enforce it, your clients will force you to work how they want. This is often detrimental to the project because usually your clients methods are not suited to how you work. So the guild would help ensure that you are using the best process for your work, and you have the backing of the guild to say this is just how we work.
Certifications & Licensing
I don't know a whole lot about certifications and licensing, but I do think it would help if we had organizations and "governing bodies" around the process that weren't tied to companies. They could be required for specialized types of work, but optional in all other cases. I think since they wouldn't be associated strictly with the tech industry like many are now, it may make them more exposed and common knowledge. People may even seek those with specific credentials.
Titles & Career Growth
Those who are currently employed in a company that wasn't born in the tech industry often suffer from a few issues. Unless they're a very modern company, HR likely doesn't know how to sufficiently structure a dev career path or come up with decent titles and job roles. The problem here is that if you're trying to move jobs company A has no idea what company B's titles mean so we lose some credibility that has to be resolved in interviews, whiteboard sessions, and take home assignments. If we had a standardized path within the guild, companies who do hire internal devs could use the guild's title structure as a base (at least) or even just a 1 for 1 copy.
With more standardized titles, objective requirements could be implemented for each level so that it's very clear what is required to operate at and ascend to that level. This would coincide with compensation which would help set a baseline for dev salaries across all industries. Especially in regions and industries outside of the tech/tech hubs, salaries can vary drastically. Similarly the freelance/contracting world suffers from the same wildly varying estimates for the same piece of work. Most of this comes from some being extremely efficient while others let their inefficiencies pad out their estimates (whether knowing or unknowingly).
I'm not really sure what the structure of the organization itself would look like. And I'm not really sure what levels of involvement would be, though I think it could probably be quite diverse with a mix of members, employed devs, and some kind of governing body/admin.
As with any large organization, the more that politics can be removed from this the better it would be. Would it be imperfect? Of course. There would definitely be issues around how work gets distributed, salaries, promotions, how the rules get made, etc. But would it be better than the position some devs are in today? Probably. I think it would help a lot of devs who feel out of place inside large companies that have nothing to do with development.
Honestly this idea sounds enticing even if only 5-10% of devs would participate, because it would at least be a very large standard body that everyone could look to as a measuring stick. As opposed to what we do now, which is measure ourselves against the tech giants and high profile developers. The idea really excites me, and I'm ready to write more about how to organize such a thing!
Like what you've seen so far?
Sign up here to get it straight in your inbox:
software principles industry