├── .github
├── FUNDING.yml
└── stale.yml
├── .gitignore
├── .gitmodules
├── README.md
├── archetypes
└── default.md
├── config.toml
├── content
├── about.md
├── channels.md
├── coc.md
├── freelancers.html
└── netiquette.md
├── data
├── channels.json
└── freelancers.json
├── layouts
├── _default
│ └── _markup
│ │ └── render-link.html
├── channels
│ └── single.html
├── freelancers
│ └── single.html
├── index.html
└── partials
│ ├── channels_list.html
│ ├── footer.html
│ ├── freelancers_list.html
│ └── header.html
├── netlify.toml
├── public
└── index.html
└── static
├── css
├── channels.css
├── custom.css
└── freelancers.css
└── images
├── bcneng_400x400.png
├── bcneng_outline.svg
├── homepage-image.jpg
├── project-logos
└── step4ward-logo.webp
├── sponsor-logos
├── digital-ocean.svg
├── donut.png
├── opensay.png
├── slack.webp
└── truffle.png
└── team
├── cande.jpeg
├── cristina.png
├── gon.jpeg
├── mavi.jpeg
├── ronny.jpeg
└── smoya.jpeg
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: bcneng
2 | open_collective: bcneng
3 |
--------------------------------------------------------------------------------
/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # Number of days of inactivity before an issue becomes stale
2 | daysUntilStale: 60
3 | # Number of days of inactivity before a stale issue is closed
4 | daysUntilClose: 12
5 | # Issues with these labels will never be considered stale
6 | exemptLabels:
7 | - pinned
8 | - keep-open
9 | - security
10 | # Label to use when marking an issue as stale
11 | staleLabel: stale
12 | # Comment to post when marking an issue as stale. Set to `false` to disable
13 | markComment: >
14 | This issue has been automatically marked as stale because it has not had
15 | recent activity. It will be closed if no further activity occurs. Thank you
16 | for your contributions.
17 | # Comment to post when closing a stale issue. Set to `false` to disable
18 | closeComment: false
19 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | resources/_gen
2 | .hugo_build.lock
3 | .DS_Store
4 | .vscode
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "themes/chunky-poster"]
2 | path = themes/chunky-poster
3 | url = https://github.com/bcneng/hugo-theme-chunky-poster.git
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # BcnEng
2 | [](https://app.netlify.com/sites/bcneng/deploys)
3 |
4 | [BcnEng](http://bcneng.org) is a slack community built around the software engineering community from Barcelona.
5 |
6 | You can get an invitation to join it [here](http://slack.bcneng.org).
7 |
8 | ## Developers
9 |
10 | This repository hosts the code to build the static website using [Hugo](https://gohugo.io/).
11 |
12 | To get started and contribute to its growth, you only need to clone the repository, including its submodules, and fire a `docker run` command.
13 |
14 | More precisely, the instructions to start the server locally are:
15 |
16 | git clone --recursive git@github.com:bcneng/bcneng.github.io.git
17 | cd bcneng.github.io
18 |
19 | Make sure the folder `themes/chunky-poster` is populated. Otherwise do a:
20 |
21 | git submodule init
22 | git submodule update
23 |
24 | Then you can start the server:
25 |
26 | docker run --rm -it -v "$PWD:/site" -p "1313:1313" alombarte/hugo hugo server -D --bind 0.0.0.0
27 |
28 | If you prefer having Hugo [installed locally](https://gohugo.io/getting-started/installing/), you can simply do:
29 |
30 | hugo server -D
31 |
32 | The service will be available on [localhost:1313](http://localhost:1313) in both cases unless the port is already in use.
33 |
34 | Thanks for contributing!
35 |
--------------------------------------------------------------------------------
/archetypes/default.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "{{ replace .Name "-" " " | title }}"
3 | date: {{ .Date }}
4 | draft: true
5 | ---
6 |
7 |
--------------------------------------------------------------------------------
/config.toml:
--------------------------------------------------------------------------------
1 | baseURL = "https://bcneng.org/"
2 | languageCode = "en-us"
3 | title = "BCN Engineering"
4 | description = "By engineers, for engineers."
5 | theme = "chunky-poster"
6 | pagination.pagerSize = 2
7 | enableInlineShortcodes = true
8 | footnoteReturnLinkContents = "^"
9 | googleAnalytics = "UA-161944690-1"
10 | DisqusShortname = ""
11 |
12 | [menu]
13 | [[menu.main]]
14 | identifier = "channels"
15 | name = "Channels"
16 | url = "/channels/"
17 | weight = 10
18 | [[menu.main]]
19 | identifier = "freelancers"
20 | name = "Freelancers"
21 | url = "/freelancers/"
22 | weight = 10
23 | [[menu.main]]
24 | identifier = "netiquette"
25 | name = "Netiquette"
26 | url = "/netiquette/"
27 | weight = 20
28 | [[menu.main]]
29 | identifier = "coc"
30 | name = "Code of Conduct"
31 | url = "/coc/"
32 | weight = 20
33 | [[menu.main]]
34 | identifier = "about"
35 | name = "About"
36 | url = "/about/"
37 | weight = 0
38 |
39 | [taxonomies]
40 | category = "categories"
41 | tag = "tags"
42 | series = "series"
43 | author = "authors"
44 |
45 | [params]
46 | author = "BcnEng"
47 | description = "Slack Community"
48 | homepageImage = "/images/bcneng_outline.svg"
49 | share = true
50 | showLanguageSwitcher = false
51 |
52 | # Custom CSS and JS. Relative to /static/css and /static/js respectively.
53 | customCSS = ["custom.css"]
54 | customJS = []
55 |
56 | [params.social]
57 | rss = true
58 | twitter = "https://twitter.com/bcn_eng"
59 | linkedin = "https://www.linkedin.com/company/bcneng/"
60 | github = "https://github.com/bcneng"
61 | email = "contact@bcneng.org"
62 |
63 | [params.prismJS]
64 | enable = true
65 | theme = ""
66 |
67 | [params.commento]
68 | enable = false
69 | url = "https://commento.io"
70 |
71 | [markup]
72 | [markup.highlight]
73 | codeFences = false
74 |
75 | [services]
76 | [services.instagram]
77 | disableInlineCSS = false
78 |
79 | [services.x]
80 | disableInlineCSS = true
81 |
--------------------------------------------------------------------------------
/content/about.md:
--------------------------------------------------------------------------------
1 | ## The Mission
2 |
3 | BcnEng is a non-profit organization whose mission is to let Barcelona's tech hub become one of the best tech communities around the globe.
4 |
5 | How?
6 |
7 | - Promoting and spreading technical knowledge
8 | - Enhancing personal and professional relationships in a frame of diversity
9 | - Foment training among the community
10 |
11 | We will do that keeping our values:
12 |
13 | - Transparency
14 | - Community-driven
15 | - Diversity
16 | - Open-source
17 |
18 | ## The History
19 |
20 | BcnEng's Slack started as a solution for a communication problem between two
21 | ex-colleagues ([Sergio Moya](https://www.linkedin.com/in/smoya) and [Gonzalo
22 | Serrano](https://gon.cat)) that worked in the same team in a Barcelona startup for
23 | years but parted ways for new jobs in November 2016. They wanted to keep
24 | being in touch as a group and found Slack was the solution.
25 |
26 | Months passed, and the community kept growing slowly but steadily, till today, with
27 | more than 11K registered users and around 1.5K weekly active users.
28 |
29 | ## The team
30 |
31 | #### The staff
32 |
33 | Luckily, more people organically joined the community to help organize and
34 | ensure everything ran smoothly. Here is the staff team:
35 |
36 | [{{< figure src="/images/team/gon.jpeg" title="@gonzaloserrano" class="avatar" >}}](https://bcneng.slack.com/team/U2Y6QQHST)
37 | [{{< figure src="/images/team/mavi.jpeg" title="@mavi" class="avatar" >}}](https://bcneng.slack.com/team/U3256HZH9)
38 | [{{< figure src="/images/team/cande.jpeg" title="@sdecandelario" class="avatar" >}}](https://bcneng.slack.com/team/U36H6F3CN)
39 | [{{< figure src="/images/team/smoya.jpeg" title="@smoya" class="avatar" >}}](https://bcneng.slack.com/team/U2WPLA0KA)
40 | [{{< figure src="/images/team/ronny.jpeg" title="@ronnylt" class="avatar" >}}](https://bcneng.slack.com/team/U2XDM2L0G)
41 |
42 | - [Gonzalo Serrano](https://gon.cat) ([@gonzaloserrano](https://bcneng.slack.com/team/U2Y6QQHST)), Software Engineer at Tetrate
43 | - [Mavi Jiménez Fernández](https://www.linkedin.com/in/mavijimenez/) ([@mavi](https://bcneng.slack.com/team/U3256HZH9)), Software Developer and Team Lead at Seat:Code
44 | - [Sergio de Candelario Delgado](https://www.linkedin.com/in/sdecandelario/) ([@sdecandelario](https://bcneng.slack.com/team/U36H6F3CN)), Senior Backend Engineer at Socialpoint
45 | - [Sergio Moya](https://www.linkedin.com/in/smoya/) ([@smoya](https://bcneng.slack.com/team/U2WPLA0KA)), doing AI at Timescale
46 | - [Ronny López](https://www.linkedin.com/in/ronnylt/) ([@ronnylt](https://bcneng.slack.com/team/U2XDM2L0G)), Technology Advisor and Software Engineer
47 |
48 | #### Distinguished members
49 |
50 | Lots of people have and are helping too. A special shout-out to (alphabetically ordered):
51 |
52 | - [Rubén Aguilar](https://www.linkedin.com/in/ruben-aguilar-becerra/) ([@Rubén](https://bcneng.slack.com/team/U8QMJ1DUH))
53 | - [Jorge Arco](https://www.linkedin.com/in/jorgearco/) ([@iyoque](https://bcneng.slack.com/team/U30B8KQVB))
54 | - [Ilia Berlana](https://www.linkedin.com/in/iliaberlana) ([@ilia](https://bcneng.slack.com/team/U88TVKT7V))
55 | - [Roger Clotet](https://www.linkedin.com/in/rogerclotet/) ([@rogerclotet](https://bcneng.slack.com/team/U2YEY1745))
56 | - [Marc De Mena Tomé](https://www.linkedin.com/in/mdemena/) ([@marc.mena](https://bcneng.slack.com/team/U314KFBT6))
57 | - [Genís Díaz Fernández](https://www.linkedin.com/in/genisdiazfernandez/) ([@genisdiaz](https://bcneng.slack.com/team/U486R9SNP))
58 | - [Javier Ferrer González](https://www.linkedin.com/in/javiercane/) ([@JavierCane](https://bcneng.slack.com/team/U2YSZNUHL))
59 | - [Victor Fondevilla](https://www.linkedin.com/in/vfondevilla/) ([@Victor Fondevilla](https://bcneng.slack.com/team/UN6S9CCGH))
60 | - [Rafa Gómez Casas](https://www.linkedin.com/in/rgomezcasas/) ([@rafa](https://bcneng.slack.com/team/U2X8UK9UH))
61 | - [Carmen Laura Delgado Pérez](https://www.linkedin.com/in/carmenldelgadop/) ([@CarmenDelgado](https://bcneng.slack.com/team/UEDFE7J07))
62 | - [Albert Lombarte](https://www.linkedin.com/in/alombarte/) ([@alombarte](https://bcneng.slack.com/team/U366C72FK))
63 | - [Ignasi Marimon-Clos](https://www.linkedin.com/in/ignasimarimonclossunyol/) ([@imarimon](https://bcneng.slack.com/team/U2XVDDP0Q))
64 | - [Pau Martínez Calvet](https://www.linkedin.com/in/pau-martinez-calvet/) ([@pau](https://bcneng.slack.com/team/U2YEH6F88))
65 | - [Carles Núñez Tomeo](https://www.linkedin.com/in/carles-nunez-tomeo/) ([@Carles Nuñez Tomeo](https://bcneng.slack.com/team/UGPRV963X))
66 | - [Manuel Obregozo](https://www.manuelobregozo.com/) ([@Manu Obre](https://bcneng.slack.com/team/UUPUNRWKZ))
67 | - [José Luis Peña de San Victor](https://www.linkedin.com/in/joseluispenadesanvictor/) ([@koe](https://bcneng.slack.com/team/U7PQZMZ4L))
68 | - [Uriel Salischicker](https://www.linkedin.com/in/urielsalis/) ([@Uriel Salischiker](https://bcneng.slack.com/team/UFW0A1GV8))
69 | - [Álvaro Salvá](https://www.linkedin.com/in/asalva/) ([@redbaron](https://bcneng.slack.com/team/U40KDVDQF))
70 | - [Antonio Santiago](https://www.linkedin.com/in/acanimal/) ([@acanimal](https://bcneng.slack.com/team/UB82Y3A3W))
71 | - [Cristina Verdi](https://www.linkedin.com/in/cristina-verdi/) ([@cristina_verdi](https://bcneng.slack.com/team/UNNPZ40BG))
72 | - [Iván Villalba](https://www.linkedin.com/in/ivanvillalba/) ([@Ivan Vihe](https://bcneng.slack.com/team/UAG4H8GMD))
73 |
--------------------------------------------------------------------------------
/content/channels.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Channels"
3 | type: channels
4 | ---
5 |
--------------------------------------------------------------------------------
/content/coc.md:
--------------------------------------------------------------------------------
1 | # Code of Conduct
2 |
3 | ## Introduction
4 |
5 | Welcome to BcnEng's Code of Conduct.
6 |
7 | This document can change over time. The administrators will publish its updates
8 | on the #general channel. To join this community you agree to it's contents. If
9 | you don't, you must logout and delete your account.
10 |
11 | You can propose improvements to this document by communicating them in the
12 | `#ask-staff` channel or [opening a pull request](https://github.com/bcneng/website/blob/master/content/coc.md).
13 |
14 | ## Our Pledge
15 |
16 | We as members, contributors, and admins pledge to make participation in our
17 | community a harassment-free experience for everyone, regardless of age, body
18 | size, visible or invisible disability, ethnicity, sex characteristics, gender
19 | identity and expression, level of experience, education, socio-economic status,
20 | nationality, personal appearance, race, religion, or sexual identity
21 | and orientation.
22 |
23 | We pledge to act and interact in ways that contribute to an open, welcoming,
24 | diverse, inclusive, and healthy community.
25 |
26 | The following statements apply to all means of communication and shapes, i.e. text messages, reactions, calls, video calls...
27 |
28 | ## Expected Behaviour
29 |
30 | * Using welcoming and inclusive language
31 | * Demonstrating empathy and kindness toward other people
32 | * Being respectful of differing opinions, viewpoints, and experiences
33 | * Giving and gracefully accepting constructive feedback
34 | * Accepting responsibility and apologizing to those affected by our mistakes,
35 | and learning from the experience
36 | * Focusing on what is best not just for us as individuals, but for the
37 | overall community
38 | * Showing empathy towards other community members
39 |
40 | ## Unacceptable Behavior
41 |
42 | * Conduct or speech which might be considered sexist, racist, homophobic,
43 | transphobic, ableist or otherwise discriminatory or offensive in nature.
44 | - Do not use unwelcome, suggestive, derogatory or inappropriate nicknames or terms.
45 | - Do not show disrespect towards others (jokes, innuendo, dismissive attitudes).
46 | * Trolling, insulting/derogatory comments, and personal or political attacks.
47 | * Public or private harassment. Please read the [Citizen Code of Conduct][citizen-coc]
48 | for how we interpret harassment.
49 | * Publishing others' private information, such as a physical or electronic
50 | address, without explicit permission.
51 | * Publishing content or comments that promote illegal activities.
52 | * Violence, threats of violence or violent language.
53 | * Other conduct which could reasonably be considered inappropriate in a professional setting.
54 |
55 | ## Enforcement Responsibilities
56 |
57 | Community admins are responsible for clarifying and enforcing our standards of
58 | acceptable behavior and will take appropriate and fair corrective action in
59 | response to any behavior that they deem inappropriate, threatening, offensive,
60 | or harmful.
61 |
62 | Community admins have the right and responsibility to remove, edit, or reject comments and
63 | other contributions that are not aligned to this Code of Conduct, or to ban
64 | temporarily or permanently any member for other behaviors that they deem
65 | inappropriate, threatening, offensive, or harmful.
66 |
67 | ## Enforcement
68 |
69 | Instances of abusive, harassing, or otherwise unacceptable behavior may be
70 | reported to the community admins responsible for enforcement at contact@bcneng.org and we will help you.
71 |
72 | All complaints will be reviewed and investigated promptly and fairly.
73 |
74 | All community admins are obligated to respect the privacy and security of the
75 | reporter of any incident.
76 |
77 | ## Enforcement Guidelines
78 |
79 | Community admins will follow these Community Impact Guidelines in determining
80 | the consequences for any action they deem in violation of this Code of Conduct:
81 |
82 | ### 1. Correction
83 |
84 | **Community Impact**: Use of inappropriate language or other behavior deemed
85 | unprofessional or unwelcome in the community.
86 |
87 | **Consequence**: A private, written warning from community admins, providing
88 | clarity around the nature of the violation and an explanation of why the
89 | behavior was inappropriate. A public apology may be requested.
90 |
91 | ### 2. Warning
92 |
93 | **Community Impact**: A violation through a single incident or series
94 | of actions.
95 |
96 | **Consequence**: A warning with consequences for continued behavior. No
97 | interaction with the people involved, including unsolicited interaction with
98 | those enforcing the Code of Conduct, for a specified period of time. This
99 | includes avoiding interactions in community spaces as well as external channels
100 | like social media. Violating these terms may lead to a temporary or
101 | permanent ban.
102 |
103 | ### 3. Temporary Ban
104 |
105 | **Community Impact**: A serious violation of community standards, including
106 | sustained inappropriate behavior.
107 |
108 | **Consequence**: A temporary ban from any sort of interaction or public
109 | communication with the community for a specified period of time. No public or
110 | private interaction with the people involved, including unsolicited interaction
111 | with those enforcing the Code of Conduct, is allowed during this period.
112 | Violating these terms may lead to a permanent ban.
113 |
114 | ### 4. Permanent Ban
115 |
116 | **Community Impact**: Demonstrating a pattern of violation of community
117 | standards, including sustained inappropriate behavior, harassment of an
118 | individual, or aggression toward or disparagement of classes of individuals.
119 |
120 | **Consequence**: A permanent ban from any sort of public interaction within
121 | the community.
122 |
123 | ## Language
124 |
125 | BcnEng doesn't have a default language. Everyone is free to use any language they prefer, as long as it is done with respect and following this code.
126 | We know it would be ideal to use a language that everyone understands, but we know that's impossible to achieve as most of our members speak Catalan and Spanish.
127 | We also know that a lot of members use English as a way to communicate, as it's considered a universal language, but we cannot and will not force anyone to study a foreign language and abandon their native language.
128 |
129 | ## Attribution
130 |
131 | This Code of Conduct is adapted from the [Contributor Covenant][contributor-covenant],
132 | version 2.0, available at
133 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html and portions of [Slack Developer Community Code of Conduct][slack-coc]
134 |
135 | Community Impact Guidelines were inspired by [Mozilla’s code of conduct
136 | enforcement ladder](https://github.com/mozilla/diversity).
137 |
138 | [contributor-covenant]: https://www.contributor-covenant.org
139 | [citizen-coc]: http://citizencodeofconduct.org
140 | [slack-coc]: https://api.slack.com/docs/community-code-of-conduct
141 |
--------------------------------------------------------------------------------
/content/freelancers.html:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Freelancers"
3 | type: freelancers
4 | ---
5 |
--------------------------------------------------------------------------------
/content/netiquette.md:
--------------------------------------------------------------------------------
1 | # BCN Engineering Netiquette
2 |
3 | Welcome to BcnEng's netiquette.
4 |
5 | This document can change over time. The administrators will publish its updates
6 | on the #general channel. To join this community you agree to it's contents. If
7 | you don't, you must logout and delete your account.
8 |
9 | You can propose improvements to this document by communicating them in the
10 | `#ask-staff` channel or [opening a pull request](https://github.com/bcneng/website/edit/master/content/netiquette.md).
11 |
12 | ## Definition
13 |
14 | From [wikipedia](https://en.wikipedia.org/wiki/Etiquette_in_technology#Netiquette):
15 |
16 | > Netiquette [...] is a set of social conventions that facilitate interaction over networks [...]
17 |
18 | ## Conventions
19 |
20 | Here you will find a set of basic conventions that we find useful. They are part of the set of behaviours that the community users expect from each other. Please make sure you understand all of them. Remember that you can write any question or ask for advice in our specific Slack channel #coc-netiquette
21 |
22 | ### Behaviour
23 |
24 | Be respectful with your colleagues and follow the [Code of Conduct](/coc/) rules.
25 |
26 | ### Accounts
27 |
28 | As a people-first slack organization, company accounts are not allowed.
29 |
30 | ### Content
31 |
32 | #### Best practices
33 |
34 | - Be specific when selecting in which channel to post, following our [channel guidelines](/channels)
35 | - Use threads when possible to keep the conversations organized. Don't send your replies to the channel unless there is a change of topic in the thread.
36 | - Pasting a random link sometimes does not add much value. Consider explaining why you did it.
37 | - Consider removing the link previews.
38 | - Use [reactions](https://slack.com/intl/en-es/help/articles/202931348-Use-emoji-and-reactions) to give a quick feedback. Writing _haha_, _jaja_, _XDDD_ or _lol_ does not contribute much.
39 | - Avoid sending the same message to multiple channels, also known as [crossposting](https://en.wikipedia.org/wiki/Crossposting). We like keeping things tidy.
40 |
41 | #### Bad practices
42 |
43 | Spam is not allowed in any channel. That includes:
44 |
45 | - Affiliates links
46 | - Job offers outside #hiring-job-board
47 | - Posting lots of messages (for our own definition of "lots")
48 | - Company advertising -- only fully open source initiatives are allowed, we don't want to be a platform for private companies to make money
49 | - Any service offering, including consultancy and others, except on the #contractors-freelancers channel.
50 |
51 | The administrators reserve the rights to:
52 | - Remove abusive and/or spam comments
53 | - Remove link previews for readability's sake
54 |
55 | The publisher will be contacted in any case.
56 |
57 | #### Hiring inquiries and other service offerings
58 |
59 | If you are providing services, including consultancy, recruiting or any other, you are not allowed to contact any member of this community,
60 | unless:
61 |
62 | - They have contacted you first, or
63 | - They have posted in some channel that they are explicitly looking for that kind of service
64 |
65 | If you provide recruiting services, the best way to get leads is to post a job offer at the #hiring-job-board channel and wait for people to contact you.
66 | If you provide recruiting services, you are not allowed to contact any member of this community that has posted a job offer, unless:
67 |
68 | - They have contacted you first, or
69 | - They have posted in some channel that they are explicitly looking for recruiting services
70 |
71 | In any other case, we will consider it spam and you will be banned.
72 |
--------------------------------------------------------------------------------
/data/channels.json:
--------------------------------------------------------------------------------
1 | [{
2 | "name": "general",
3 | "id": "C2Y6L58TX",
4 | "description": "BcnEng news from @team-staff.",
5 | "notes": "",
6 | "category": "core",
7 | "tags": ["default", "read-only"]
8 | },
9 | {
10 | "name": "offtopic-random",
11 | "id": "C2Y6L596H",
12 | "description": "A place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber you'd prefer to keep out of more focused work-related channels.",
13 | "notes": "Please don't use this channel to crosspost or write to reach more audience, since this is one of the larger channels.",
14 | "category": "core",
15 | "tags": ["default", "anonymous-enabled"]
16 | },
17 | {
18 | "name": "ask-staff",
19 | "id": "C2YUDTUDD",
20 | "description": "Share your concerns and suggestions, ask the staff team and suggest changes to the community, channels or whatever topic you wish.",
21 | "notes": "For suggestions and discussions around job specs published at #hiring-job-board, please use https://github.com/bcneng/candebot/discussions/54",
22 | "category": "core",
23 | "tags": ["anonymous-enabled"]
24 | },
25 | {
26 | "name": "welcome",
27 | "id": "C01DWLXFT45",
28 | "description": "Present yourself and what you do.",
29 | "notes": "Do not promote your company or that you are hiring, use #hiring-job-board instead.",
30 | "category": "core",
31 | "tags": ["default"]
32 | },
33 | {
34 | "name": "show-and-tell",
35 | "id": "C36AD549X",
36 | "description": "Tell us about your side projects, new blog posts, podcasts, etc.",
37 | "notes": "Project updates should only come from fully open-source initiatives. Company contributions are allowed if they are completely open-source.",
38 | "category": "core",
39 | "tags": ["default"]
40 | },
41 | {
42 | "name": "hiring-job-board",
43 | "id": "C30CUFT2B",
44 | "description": "Regular posting on this channel is not allowed. HOWTO post: https://bit.ly/how-to-submit-job-at-bcneng-slack. Offers must allow people to work from Barcelona or around. For deletion requests, #ask-staff",
45 | "notes": "",
46 | "category": "hr",
47 | "tags": ["default", "candebot-only", "anonymous-enabled"]
48 | },
49 | {
50 | "name": "hiring-discussions",
51 | "id": "C46K8J00L",
52 | "description": "Conversations around hiring, companies, compensations, etc.",
53 | "notes": "Don't use it to post offers, use `#hiring-job-board` instead.",
54 | "category": "hr",
55 | "tags": ["default", "anonymous-enabled"]
56 | },
57 | {
58 | "name": "contractors-freelancers",
59 | "id": "C6JH3Q69F",
60 | "description": "For freelancers and contractors to share experiences, tips, and advice.",
61 | "notes": "",
62 | "category": "hr",
63 | "tags": []
64 | },
65 | {
66 | "name": "offtopic-women",
67 | "id": "C31920P0U",
68 | "description": "Discusión para mujeres y gente no-binaria.",
69 | "notes": "",
70 | "category": "social",
71 | "tags": ["anonymous-enabled"]
72 | },
73 | {
74 | "name": "offtopic-feeling-good",
75 | "id": "CLX4U7CTT",
76 | "description": "Share with non-tech that thing that makes you happy.",
77 | "notes": "The good brother of #offtopic-cryparty.",
78 | "category": "social",
79 | "tags": ["default", "anonymous-enabled"]
80 | },
81 | {
82 | "name": "offtopic-cryparty",
83 | "id": "CBNPT2N13",
84 | "description": "Safe place to cry, you will never cry alone anymore.",
85 | "notes": "The evil brother of #offtopic-feeling-good.",
86 | "category": "social",
87 | "tags": ["default", "anonymous-enabled"]
88 | },
89 | {
90 | "name": "offtopic-parenting",
91 | "id": "C365HB7JP",
92 | "description": "How to raise a child from the geek perspective.",
93 | "notes": "",
94 | "category": "social",
95 | "tags": ["anonymous-enabled"]
96 | },
97 | {
98 | "name": "health-disability",
99 | "id": "C04KZ1AQDUM",
100 | "description": "Place for people who suffer any kind of disability or any disabling disease (autoimmune diseases, chronic fatigue, endometriosis, etc) to share doubts related to work (legal, HR, etc) but also share experiences, and empower each other.",
101 | "notes": "",
102 | "category": "social",
103 | "tags": ["anonymous-enabled"]
104 | },
105 | {
106 | "name": "health-mental",
107 | "id": "C058RSSMVDZ",
108 | "description": "Share resources, experiences, and insights related to maintaining good mental health, managing stress, and finding balance in your personal and professional life.",
109 | "notes": "While this channel is a safe space, it is not a substitute for professional medical advice or therapy. If you are in need of immediate support, please reach out to a licensed mental health professional or a crisis helpline",
110 | "category": "social",
111 | "tags": ["anonymous-enabled"]
112 | },
113 | {
114 | "name": "offtopic-foodies",
115 | "id": "C01NSSRQKA6",
116 | "description": "For those who enjoy food and drinks. Share your recipes!",
117 | "notes": "",
118 | "category": "social",
119 | "tags": []
120 | },
121 | {
122 | "name": "allyship",
123 | "id": "C47GSPZP0",
124 | "description": "For allies to discuss how to support underrepresented groups.",
125 | "notes": "",
126 | "category": "social",
127 | "tags": []
128 | },
129 | {
130 | "name": "candelario-fans",
131 | "id": "C5T322H6Z",
132 | "description": "Fans de @sdecandelario",
133 | "notes": "",
134 | "category": "social",
135 | "tags": []
136 | },
137 | {
138 | "name": "remote-workers",
139 | "id": "C42GY1WN5",
140 | "description": "For remote workers to share experiences, tips, and advice.",
141 | "notes": "",
142 | "category": "social",
143 | "tags": []
144 | },
145 | {
146 | "name": "remote-office-trips",
147 | "id": "C03PAJ8PT3N",
148 | "description": "#remote-workers spin-off. Sync with other remote workers to work from the same place.",
149 | "notes": "",
150 | "category": "social",
151 | "tags": []
152 | },
153 | {
154 | "name": "offtopic-virtual-coffee",
155 | "id": "C04HMBWN8SK",
156 | "description": "Meet via videocall other members of this community, automated by Donut.",
157 | "notes": "automated by https://www.donut.com",
158 | "category": "social",
159 | "tags": []
160 | },
161 | {
162 | "name": "offtopic-argentinxs-y-uruguayxs",
163 | "id": "CQEL7DTU4",
164 | "description": "Para los argentinos y uruguayos de la comunidad.",
165 | "notes": "",
166 | "category": "social",
167 | "tags": []
168 | },
169 | {
170 | "name": "systems-devops",
171 | "id": "C2WTP1ZMW",
172 | "description": "Everything related to systems and devops.",
173 | "notes": "",
174 | "category": "systems",
175 | "tags": []
176 | },
177 | {
178 | "name": "kubernetes",
179 | "id": "C4765QVQV",
180 | "description": "Talk about kubernetes container orchestration.",
181 | "notes": "",
182 | "category": "systems",
183 | "tags": []
184 | },
185 | {
186 | "name": "cloud-providers",
187 | "id": "C2YAEDL12",
188 | "description": "AWS, GCP, Azure, etc.",
189 | "notes": "",
190 | "category": "systems",
191 | "tags": []
192 | },
193 | {
194 | "name": "continuous-int-deploy",
195 | "id": "C30NMMVGV",
196 | "description": "CI/CD such as GHA, Jenkins, Travis, CircleCI",
197 | "notes": "",
198 | "category": "systems",
199 | "tags": []
200 | },
201 | {
202 | "name": "docker",
203 | "id": "C30K66ZJQ",
204 | "description": "Everything related to docker.",
205 | "notes": "",
206 | "category": "systems",
207 | "tags": []
208 | },
209 | {
210 | "name": "linux",
211 | "id": "C30LMS8AV",
212 | "description": "Topics such as distros, tools, etc.",
213 | "notes": "",
214 | "category": "systems",
215 | "tags": []
216 | },
217 | {
218 | "name": "learning-dev",
219 | "id": "CUV9CGPV4",
220 | "description": "Share resources, experiences, and insights related to learning and development. We encourage everyone to be respectful and supportive of one another as we navigate these important issues together.",
221 | "notes": "",
222 | "category": "soft-skills",
223 | "tags": []
224 | },
225 | {
226 | "name": "leadership",
227 | "id": "CJFA6LK7H",
228 | "description": "People and team management, leadership, etc.",
229 | "notes": "",
230 | "category": "soft-skills",
231 | "tags": []
232 | },
233 | {
234 | "name": "agile",
235 | "id": "C2XG59RPA",
236 | "description": "Share and promote best practises and experiences.",
237 | "notes": "",
238 | "category": "soft-skills",
239 | "tags": []
240 | },
241 | {
242 | "name": "documentation",
243 | "id": "C03B5DWEYNA",
244 | "description": "Let's talk about technical documentation, technical writing, and related topics.",
245 | "notes": "",
246 | "category": "soft-skills",
247 | "tags": []
248 | },
249 | {
250 | "name": "mentoring",
251 | "id": "CK583UPB5",
252 | "description": "All about mentoring, coaching, etc. You also can ask for mentorships.",
253 | "notes": "",
254 | "category": "soft-skills",
255 | "tags": []
256 | },
257 | {
258 | "name": "frontend-web",
259 | "id": "C2Y405X5X",
260 | "description": "Everything related to web development.",
261 | "notes": "",
262 | "category": "frontend",
263 | "tags": []
264 | },
265 | {
266 | "name": "ux-ui-design",
267 | "id": "C341M5N0N",
268 | "description": "Channel to talk about UX and UI Design.",
269 | "notes": "",
270 | "category": "frontend",
271 | "tags": []
272 | },
273 | {
274 | "name": "mobile",
275 | "id": "C3S8R077Z",
276 | "description": "Discussions around dev in iOS, android, phonegap/cordova, react-native...",
277 | "notes": "",
278 | "category": "frontend",
279 | "tags": []
280 | },
281 | {
282 | "name": "reactjs",
283 | "id": "C68BZFGLW",
284 | "description": "ReactJS, Redux, etc.",
285 | "notes": "",
286 | "category": "frontend",
287 | "tags": []
288 | },
289 | {
290 | "name": "vuejs",
291 | "id": "C7TB1LRHU",
292 | "description": "Vuejs Barcelona community",
293 | "notes": "",
294 | "category": "frontend",
295 | "tags": []
296 | },
297 | {
298 | "name": "flutter",
299 | "id": "CEV8ADZEW",
300 | "description": "All about Flutter and Dart",
301 | "notes": "",
302 | "category": "frontend",
303 | "tags": []
304 | },
305 | {
306 | "name": "gaming-dev",
307 | "id": "C326N62A1",
308 | "description": "Game development, game engines, game design, etc.",
309 | "notes": "",
310 | "category": "frontend",
311 | "tags": []
312 | },
313 | {
314 | "name": "lang-php-and-fws",
315 | "id": "C2WR8MND7",
316 | "description": "PHP, Laravel, Symfony, Zend, etc.",
317 | "notes": "",
318 | "category": "languages",
319 | "tags": []
320 | },
321 | {
322 | "name": "lang-python",
323 | "id": "C2YK3TKS9",
324 | "description": "Python community.",
325 | "notes": "",
326 | "category": "languages",
327 | "tags": []
328 | },
329 | {
330 | "name": "lang-jvm-based",
331 | "id": "C2X90Q96V",
332 | "description": "Talk about java, kotlin, scala, groovy, clojure, etc.",
333 | "notes": "",
334 | "category": "languages",
335 | "tags": []
336 | },
337 | {
338 | "name": "lang-rust",
339 | "id": "C2Y51T35H",
340 | "description": "Talk about the Rust programming language.",
341 | "notes": "",
342 | "category": "languages",
343 | "tags": []
344 | },
345 | {
346 | "name": "lang-ruby",
347 | "id": "C44DVPQ75",
348 | "description": "To talk about the Ruby programming language and related frameworks",
349 | "notes": "",
350 | "category": "languages",
351 | "tags": []
352 | },
353 | {
354 | "name": "lang-erlang-elixir",
355 | "id": "C2YFL3VQE",
356 | "description": "A good place to squeeze your poor brain.",
357 | "notes": "",
358 | "category": "languages",
359 | "tags": []
360 | },
361 | {
362 | "name": "lang-scala",
363 | "id": "C4FRBGNFJ",
364 | "description": "All about Scala",
365 | "notes": "",
366 | "category": "languages",
367 | "tags": []
368 | },
369 | {
370 | "name": "lang-dotnet",
371 | "id": "C3F6772RF",
372 | "description": "C#, F# and other dotnet based technologies.",
373 | "notes": "",
374 | "category": "languages",
375 | "tags": []
376 | },
377 | {
378 | "name": "lang-go",
379 | "id": "C2WR8BJ49",
380 | "description": ":gopherdance:",
381 | "notes": "",
382 | "category": "languages",
383 | "tags": []
384 | },
385 | {
386 | "name": "lang-js",
387 | "id": "C30TGE9E1",
388 | "description": "Javascript, Typescript, NodeJS, etc.",
389 | "notes": "",
390 | "category": "languages",
391 | "tags": []
392 | },
393 | {
394 | "name": "data-engineering",
395 | "id": "C5MG9PF0C",
396 | "description": "Data engineering, data pipelines, data lakes, data warehouses, etc.",
397 | "notes": "",
398 | "category": "others",
399 | "tags": []
400 | },
401 | {
402 | "name": "software-architecture",
403 | "id": "C2YL8GMAS",
404 | "description": "Discussions around software architecture and design. Distributed systems, Event-driven architecture, Event Sourcing. Design patterns, SOLID, Hexagonal architecture, DDD, CQRS, CQS, Event Sourcing, etc.",
405 | "notes": "",
406 | "category": "others",
407 | "tags": []
408 | },
409 | {
410 | "name": "product-management",
411 | "id": "C011UM61D4L",
412 | "description": "Product management, product ownership, product design, etc.",
413 | "notes": "",
414 | "category": "others",
415 | "tags": []
416 | },
417 | {
418 | "name": "ai-machine-learning",
419 | "id": "C2YN2J6P5",
420 | "description": "Everything related to AI and machine learning.",
421 | "notes": "",
422 | "category": "others",
423 | "tags": []
424 | },
425 | {
426 | "name": "unit-testing-tdd-bdd",
427 | "id": "C31GB13MM",
428 | "description": "Talk about unit testing, TDD, BDD, first test approach, baby steps...",
429 | "notes": "",
430 | "category": "others",
431 | "tags": []
432 | },
433 | {
434 | "name": "apis",
435 | "id": "CA2NZCUNS",
436 | "description": "Talk and share about APIs: REST, GraphQL, Event-Driven APIs, etc.",
437 | "notes": "",
438 | "category": "others",
439 | "tags": []
440 | },
441 | {
442 | "name": "blockchain",
443 | "id": "C4P3NBFKJ",
444 | "description": "Blockchain, bitcoin, ethereum, hyperledger and related stuff from a tech PoV.",
445 | "notes": "",
446 | "category": "others",
447 | "tags": []
448 | },
449 | {
450 | "name": "security-cryptography",
451 | "id": "C30JKJNA1",
452 | "description": "Channel to talk about security and cryptography (algos, hacks...)",
453 | "notes": "",
454 | "category": "others",
455 | "tags": []
456 | },
457 | {
458 | "name": "hardware",
459 | "id": "C393JKE01",
460 | "description": "All around computers, peripherals, etc. For home projects, you might want to check #offtopic-diy",
461 | "notes": "",
462 | "category": "others",
463 | "tags": []
464 | },
465 | {
466 | "name": "git",
467 | "id": "CDHS0G0QL",
468 | "description": "Git, GitHub, GitLab, Bitbucket, etc.",
469 | "notes": "",
470 | "category": "others",
471 | "tags": []
472 | },
473 | {
474 | "name": "cli-lovers",
475 | "id": "C2YEHT3TK",
476 | "description": "Rants and/or love about all kinds of shells (zsh, fish, bash, ash, sh)",
477 | "notes": "",
478 | "category": "others",
479 | "tags": []
480 | },
481 | {
482 | "name": "code-editors",
483 | "id": "C9XEGTR9T",
484 | "description": "Flame wars about code editors xD",
485 | "notes": "",
486 | "category": "others",
487 | "tags": []
488 | },
489 | {
490 | "name": "vim-editor",
491 | "id": "CTPF0SV71",
492 | "description": "a Channel to talk about emacs ;-), how to use vim as an IDE, minimize keystrokes, and many many more things :wq.",
493 | "notes": "",
494 | "category": "others",
495 | "tags": []
496 | },
497 | {
498 | "name": "qa-engineers",
499 | "id": "C60QGT4PL",
500 | "description": "QA's, Assemble!",
501 | "notes": "",
502 | "category": "others",
503 | "tags": []
504 | },
505 | {
506 | "name": "seo-marketing-online",
507 | "id": "C48GWJE94",
508 | "description": "Marketing Online: SEO, Linkbuilding, BlackHat SEO and WhiteHat SEO, WPO, AdSense, AdWords, CPA, Afiliación, Domains...",
509 | "notes": "",
510 | "category": "others",
511 | "tags": []
512 | },
513 | {
514 | "name": "advent-of-code",
515 | "id": "C02MSHJADQW",
516 | "description": "Discussion of everything related to https://adventofcode.com. Join the leaderboard at https://adventofcode.com/2021/leaderboard/private, code 1511301-4157a05d. You can also check the subreddit https://www.reddit.com/r/adventofcode/",
517 | "notes": "",
518 | "category": "others",
519 | "tags": []
520 | },
521 | {
522 | "name": "offtopic-housing",
523 | "id": "C06HVJT3MRV",
524 | "description": "Conversations about utility bills, home appliances, renovations, renting or buying houses",
525 | "notes": "",
526 | "category": "others",
527 | "tags": ["anonymous-enabled"]
528 | },
529 | {
530 | "name": "events-meetups-confs",
531 | "id": "C2XEKMCC8",
532 | "description": "Share and promote events, meetups, conferences, etc.",
533 | "notes": "",
534 | "category": "events",
535 | "tags": ["default"]
536 | },
537 | {
538 | "name": "offtopic-quedadas",
539 | "id": "C3Y63V7HS",
540 | "description": "Go to lunch, dinner or whatever, it's time to be social!. FYI, we use !here for notifications.",
541 | "notes": "",
542 | "category": "events",
543 | "tags": []
544 | },
545 | {
546 | "name": "event-scbcn",
547 | "id": "C04643X5129",
548 | "description": "https://softwarecrafters.barcelona",
549 | "notes": "",
550 | "category": "events",
551 | "tags": []
552 | },
553 | {
554 | "name": "offtopic-gaming",
555 | "id": "C4497F9CM",
556 | "description": "Gaming on any format. Videogames, Boardgames, etc.",
557 | "notes": "",
558 | "category": "non-tech",
559 | "tags": []
560 | },
561 | {
562 | "name": "offtopic-books",
563 | "id": "CU76P1KEU",
564 | "description": "Book recommendations. Tech or non-tech topic related. Enjoy reading. https://www.rtve.es/alacarta/videos/la-bola-de-cristal/bola-cristal-si-no-quieres-ser-como-estos-lee/646035",
565 | "notes": "",
566 | "category": "non-tech",
567 | "tags": []
568 | },
569 | {
570 | "name": "offtopic-mercadillo",
571 | "id": "CNF3UG589",
572 | "description": "Looking for something? Something to sell? Any referral/promo codes? Deal!",
573 | "notes": "",
574 | "category": "non-tech",
575 | "tags": []
576 | },
577 | {
578 | "name": "offtopic-economy-finance",
579 | "id": "C3FTGCVHA",
580 | "description": "Discuss about economy, finance, etc.",
581 | "notes": "",
582 | "category": "non-tech",
583 | "tags": []
584 | },
585 | {
586 | "name": "offtopic-travel",
587 | "id": "C03LJE17V3N",
588 | "description": "Talk about travels, ask questions, and give feedback or ideas for the next trip!",
589 | "notes": "",
590 | "category": "non-tech",
591 | "tags": []
592 | },
593 | {
594 | "name": "offtopic-diy",
595 | "id": "C03MBJL5JHJ",
596 | "description": "Do It Yourself: the things you do on your own, usually at home, without paying someone else to do it.",
597 | "notes": "",
598 | "category": "non-tech",
599 | "tags": []
600 | },
601 | {
602 | "name": "offtopic-music",
603 | "id": "C2YRZM7L6",
604 | "description": "Share your music taste: songs, clips, concerts, etc.",
605 | "notes": "",
606 | "category": "non-tech",
607 | "tags": []
608 | },
609 | {
610 | "name": "offtopic-science",
611 | "id": "CGCDC3117",
612 | "description": "",
613 | "notes": "",
614 | "category": "non-tech",
615 | "tags": []
616 | },
617 | {
618 | "name": "offtopic-pets",
619 | "id": "C015MD8V9RU",
620 | "description": "Share your pet's photos, videos, etc.",
621 | "notes": "",
622 | "category": "non-tech",
623 | "tags": []
624 | },
625 | {
626 | "name": "offtopic-movies-tv-shows",
627 | "id": "C63QQ84NB",
628 | "description": "Talk about movies and TV shows without spoilers!",
629 | "notes": "",
630 | "category": "non-tech",
631 | "tags": []
632 | },
633 | {
634 | "name": "offtopic-sports",
635 | "id": "CHY7U0PV2",
636 | "description": "Get out of the office! Let's do sport!",
637 | "notes": "",
638 | "category": "non-tech",
639 | "tags": []
640 | },
641 | {
642 | "name": "offtopic-plant-lovers",
643 | "id": "C010Q6694BV",
644 | "description": ":seedling: :sunflower: :deciduous_tree:",
645 | "notes": "",
646 | "category": "non-tech",
647 | "tags": []
648 | },
649 | {
650 | "name": "offtopic-photography",
651 | "id": "C437E7T38",
652 | "description": "Photography, cameras, lenses, techniques, etc.",
653 | "notes": "",
654 | "category": "non-tech",
655 | "tags": []
656 | },
657 | {
658 | "name": "offtopic-motorbikes",
659 | "id": "C01UEADU3LK",
660 | "description": "Binary Motor Club - Join us if you :heart: motorbikes",
661 | "notes": "",
662 | "category": "non-tech",
663 | "tags": []
664 | },
665 | {
666 | "name": "offtopic-cars",
667 | "id": "C063CQEDG8K",
668 | "description": "A place for petrolheads, to share all about our passion, :car: :dash:",
669 | "notes": "",
670 | "category": "non-tech",
671 | "tags": []
672 | },
673 | {
674 | "name": "offtopic-games-toys-lego",
675 | "id": "C055Y7XT2E4",
676 | "description": "Talk about games, board games, toys, figures, lego, and more",
677 | "notes": "",
678 | "category": "non-tech",
679 | "tags": []
680 | },
681 | {
682 | "name": "startups",
683 | "id": "C058FJ5FRFH",
684 | "description": "Conversations about startups, entrepreneurship, tech product development, fundraising, tech investors, sales, marketing, etc... Everything related to the tech startup ecosystem.",
685 | "notes": "Note this is not a channel to promote your company in any way. Any spam will be removed according to the CoC.",
686 | "category": "business",
687 | "tags": []
688 | },
689 | {
690 | "name": "krakend",
691 | "id": "C4EQ5M01Y",
692 | "description": "KrakenD is a high-performance API Gateway that provides a middle layer between the client apps and the backend services.",
693 | "notes": "",
694 | "category": "business",
695 | "tags": []
696 | },
697 | {
698 | "name": "is-it-down",
699 | "id": "C036V7VNPB3",
700 | "description": "Check or tell when a cloud service, website, or app is down. Requests for adding/removing feeds to #ask-staff. Sponsored by EagleStatus.io",
701 | "notes": "",
702 | "category": "automation",
703 | "tags": []
704 | }
705 | ]
706 |
--------------------------------------------------------------------------------
/data/freelancers.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "slack_name": "@iagolast",
4 | "slack_member_id": "UD10JMGUD",
5 | "full_name": "Iago Lastra",
6 | "web": "iagolast.github.io",
7 | "linkedin_handler": "iagolast",
8 | "services": "Consulting and training and development.",
9 | "skills": ["Frontend", "Testing", "Architecture", "TypeScript", "React"],
10 | "availability_hours_week": {"min": 1, "max": 4},
11 | "pricing_model": "120€/h"
12 | },
13 | {
14 | "slack_name": "@CarmenDelgado",
15 | "slack_member_id": "UEDFE7J07",
16 | "full_name": "Carmen Delgado",
17 | "web": "",
18 | "linkedin_handler": "carmenldelgadop",
19 | "services": "Consultancy for digital projects for startups, SME or non-profit.",
20 | "skills": ["Project Management", "Process optimization", "Finance"],
21 | "availability_hours_week": {"min": 2, "max": 8},
22 | "pricing_model": "Depending on the project"
23 | },
24 | {
25 | "slack_name": "@genisdiaz",
26 | "slack_member_id": "U486R9SNP",
27 | "full_name": "Genís Díaz",
28 | "web": "https://genisdiaz.com/",
29 | "linkedin_handler": "genisdiazfernandez",
30 | "services": "I help companies in their problems with websites giving support on the frontend side.",
31 | "skills": ["Reactjs", "Angularjs or Angular4+", "Nextjs", "GatsbyJS"],
32 | "availability_hours_week": {"min": 2, "max": 10},
33 | "pricing_model": "Depending on the project"
34 | },
35 | {
36 | "slack_name": "@David Levai",
37 | "slack_member_id": "U04Q711NPCK",
38 | "full_name": "David Levai",
39 | "web": "https://davidlevai.com/",
40 | "linkedin_handler": "iamdavidlevai",
41 | "services": "Mentoring developers to become freelancers, indie makers, and build better products.",
42 | "skills": ["Javascript", "Entrepreneurship", "Typescript", "Software Architecture", "UX", "SaaS"],
43 | "availability_hours_week": {"min": 2, "max": 6},
44 | "pricing_model": "Short-term mentoring: 190€/h, long-term: unique"
45 | },
46 | {
47 | "slack_name": "@Davide Barbato",
48 | "slack_member_id": "UD0CY34SG",
49 | "full_name": "Davide Barbato",
50 | "web": "https://dab.solutions/",
51 | "linkedin_handler": "davbarbato",
52 | "services": "I make your business innovate faster by performing real risk analysis, by deploying transparent security through automation, by fostering a culture where people feel empowered in keeping the company secure thanks to their direct contribution.",
53 | "skills": ["ISO27001", "Risk Management", "Penetration testing/Vulnerability Assessment", "SOC", "Vulnerability Management", "Incident Response", "DevSecOps"],
54 | "availability_hours_week": {"min": 2, "max": 8},
55 | "pricing_model": "Depending on the service requested"
56 | },
57 | {
58 | "slack_name": "@Xavi Ametller",
59 | "slack_member_id": "U01ND0NJAN9",
60 | "full_name": "Xavi Ametller",
61 | "web": "https://www.myowncommonsense.com/",
62 | "linkedin_handler": "xaviametller",
63 | "services": "Trainings and consultancy on multiple areas of Software development in general, expert in nothing but knowledgeable in many areas",
64 | "skills": ["Agile", "Testing", "Cloud", "Continuous Delivery", ".Net"],
65 | "availability_hours_week": {"min": 2, "max": 8},
66 | "pricing_model": "Close rate"
67 | },
68 | {
69 | "slack_name": "@Mikel Díez Buil ",
70 | "slack_member_id": "UR1V53P2T",
71 | "full_name": "Mikel Díez Buil ",
72 | "web": "https://www.mikeldiez.com/",
73 | "linkedin_handler": "mikeldiezb",
74 | "services": "Full-stack developer",
75 | "skills": ["Python", "React", "TypeScript", "Testing library", "Symfony"],
76 | "availability_hours_week": {"min": 2, "max": 8},
77 | "pricing_model": "Hourly"
78 | },
79 | {
80 | "slack_name": "@oriolsr",
81 | "slack_member_id": "UG0UZ9QH4",
82 | "full_name": "Oriol Saludes",
83 | "web": "",
84 | "linkedin_handler": "oriol-sr",
85 | "services": "Full-stack developer. Support to the frontend and the backend side. Help with the testing and refactoring of the code.",
86 | "skills": ["React", "Angular", "TypeScript", "PHP", "Symfony", "kotlin", "Spring boot"],
87 | "availability_hours_week": {"min": 2, "max": 20},
88 | "pricing_model": "Depending on the service requested"
89 | },
90 | {
91 | "slack_name": "@perezmarc",
92 | "slack_member_id": "U3H18MJF6",
93 | "full_name": "Marc Pérez Martí",
94 | "web": "",
95 | "linkedin_handler": "marcperezmarti",
96 | "services": "Product. Frontend developer. Backend developer. Full-stack developer. ",
97 | "skills": ["Jobs to be done", "Rodmapping", "Agile", "Vue", "Angular", "React", "Typescript", "Javascript", "Python", "Django", "Node", "SQL", "MongoDB"],
98 | "availability_hours_week": {"min": 2, "max": 10},
99 | "pricing_model": "Depending on the service requested"
100 | },
101 | {
102 | "slack_name": "@Sergio Campos",
103 | "slack_member_id": "U01U6401XMX",
104 | "full_name": "Sergio Campos",
105 | "web": "http://campossrg.com",
106 | "linkedin_handler": "campossrg",
107 | "services": "Java backend developer. Web developer.",
108 | "skills": ["Java", "Spring framework", "Oracle", "SQL Server", "Javascript", "CI/CD", "Docker"],
109 | "availability_hours_week": {"min": 2, "max": 30},
110 | "pricing_model": "Hourly"
111 | },
112 | {
113 | "slack_name": "@ppardalj",
114 | "slack_member_id": "U4RR870C8",
115 | "full_name": "Pedro Pardal",
116 | "web": "http://ppardalj.com/",
117 | "linkedin_handler": "ppardalj",
118 | "services": "Technical Agile Coach. I can help coaching good development practices and upskilling an entire team. Legacy project rescue.",
119 | "skills": ["Test Driven Development", "Clean Code", "Refactoring", "Legacy Code", ".NET", "ASP MVC", "Java", "Spring boot", "PHP", "Symfony", "CI/CD", "Mob programming"],
120 | "availability_hours_week": {"min": 2, "max": 20},
121 | "pricing_model": "Hourly"
122 | },
123 | {
124 | "slack_name": "@vicent",
125 | "slack_member_id": "U2YKVTT5L",
126 | "full_name": "Vicent Soria Durá",
127 | "web": "https://vicentsoria.com/",
128 | "linkedin_handler": "vicentsoria",
129 | "services": "Hybrid profile: Agile [ Developer | SysAdmin | CTO ]. I can help you with cloud migrations, infrastructure as code, scalability, observability, CI/CD pipelines, systems architecture, etc. Just ping me and let's talk.",
130 | "skills": ["IaC: Terraform, Cloudformation, Ansible, Packer, ...", "AWS", "Docker", "Go", "Python", "PHP", "Symfony", "Test Driven Development", "CI/CD: Jenkins, Travis, Github Actions, ..."],
131 | "availability_hours_week": {"min": 5, "max": 20},
132 | "pricing_model": "Hourly / Depending on the service requested"
133 | },
134 | {
135 | "slack_name": "@joan.albert ",
136 | "slack_member_id": "U015F98QXDW",
137 | "full_name": "Joan Albert Segura Rueda",
138 | "web": "https://joanalbert.me/",
139 | "linkedin_handler": "jalbertsr",
140 | "services": "Full-stack developer. I do trainings, and help building MVPs for pre-seed startups or small projects, from low-code solutions to building and setting up infrastructure and API integrations.",
141 | "skills": ["Javascript/Typescript", "React", "Node", "Python", "Elixir", "Docker", "Kubernetes", "AWS"],
142 | "availability_hours_week": {"min": 5, "max": 25},
143 | "pricing_model": "Hourly"
144 | },
145 | {
146 | "slack_name": "@vfondevilla",
147 | "slack_member_id": "UN6S9CCGH",
148 | "full_name": "Victor Fondevilla",
149 | "web": "https://fondevilla.io/",
150 | "linkedin_handler": "vfondevilla",
151 | "services": "Cloud Architect, AWS, OpenStack. I can help your team to implement DevOps practices.",
152 | "skills": ["Python", "Terraform", "Cloudformation", "Ansible", "AWS", "Docker", "Kubernetes", "Jenkins", "Gitlab"],
153 | "availability_hours_week": {"min": 2, "max": 25},
154 | "pricing_model": "Hourly"
155 | },
156 | {
157 | "slack_name": "@stefanmajiros",
158 | "slack_member_id": "U02379YCS92",
159 | "full_name": "Stefan Majiros",
160 | "web": "https://stefan-majiros.com/",
161 | "linkedin_handler": "stefan-majiros",
162 | "services": "Mobile developer: React Native and serverless. I develop mobile apps for Android and iOS with React Native that rely on native modules and that use serverless backend (AWS Amplify or Google Firebase). Looking for startups owners, CTOs or teamleads.",
163 | "skills": ["MVP", "Javascript/Typescript", "React Native", "NodeJS", "AWS", "Firebase", "Amplify", "Android", "serverless", "iOS", "Swift", "Kotlin", "Appstore", "GooglePlay"],
164 | "availability_hours_week": {"min": 8, "max": 60},
165 | "pricing_model": "Hourly"
166 | },
167 | {
168 | "slack_name": "@Jose Gomez",
169 | "slack_member_id": "UV3FZN8DT",
170 | "full_name": "Jose Gomez",
171 | "web": "",
172 | "linkedin_handler": "jmgomezg",
173 | "services": "Software engineering. Technical direction. Project management. AWS system architect.",
174 | "skills": ["AWS", "serverless", "iOS", "Android", "Node.js", "PHP", "MySQL", "NoSQL", "Angular", "Redux", "Jira", "Scrum", "Kanban"],
175 | "availability_hours_week": {"min": 5, "max": 20},
176 | "pricing_model": "Hourly"
177 | },
178 | {
179 | "slack_name": "@ronnylt",
180 | "slack_member_id": "U2XDM2L0G",
181 | "full_name": "Ronny López",
182 | "web": "",
183 | "linkedin_handler": "ronnylt",
184 | "services": "Software engineering. Technical direction. Technical leadership. Cloud architect. Technology advisor. Interim CTO. Technical co-founder.",
185 | "skills": ["AWS", "GCP", "Kubernetes", "Golang", "Typescript", "Architecture", "Software design", "Scalability" ],
186 | "availability_hours_week": {"min": 5, "max": 20},
187 | "pricing_model": "Hourly"
188 | },
189 | {
190 | "slack_name": "@Javier Molpeceres",
191 | "slack_member_id": "U027AAP0VV4",
192 | "full_name": "Javier Molpeceres",
193 | "web": "",
194 | "linkedin_handler": "javier-molpeceres-gómez",
195 | "services": "Full-stack development, Architecture definition, Cloud, Software engineering",
196 | "skills": ["Node","Typescript", "React", "AWS", "Golang", "Business requirements","Python", "CI/CD", "SQL-NOSQL", "Architecture", "Microservices" ],
197 | "availability_hours_week": {"min": 5, "max": 20},
198 | "pricing_model": "Hourly"
199 | },
200 | {
201 | "slack_name": "@Guillermo de la Puente",
202 | "slack_member_id": "U03FJ960U12",
203 | "full_name": "Guillermo de la Puente",
204 | "web": "https://guillermodlpa.com",
205 | "linkedin_handler": "guillermodlpa",
206 | "services": "Frontend developer, full-stack developer, MVPs for startups, maintenance and bug fixing on web apps, performance improvements, design system implementations, team and project management.",
207 | "skills": ["TypeScript / JavaScript", "React", "Node", "Next.js", "Node frameworks (Express, Koa)", "State management (React Query, Redux, etc.)", "AWS", "Serverless platforms (Firebase, Supabase, Vercel, etc.)", "Databases (MySQL, PostgreSQL, MongoDB, Firestore, etc.)", "Automated testing (Jest, TDD)", "CI/CD" ],
208 | "availability_hours_week": {"min": 3, "max": 30},
209 | "pricing_model": "Hourly / Depending on the service requested"
210 | },
211 | {
212 | "slack_name": "@JordiPallares",
213 | "slack_member_id": "U4NSD5Z5F",
214 | "full_name": "Jordi Pallarés",
215 | "web": "",
216 | "linkedin_handler": "jordi-pallares",
217 | "services": "Software engineering. MVPs for startups. Technical leadership. Performance improvements. Cloud architect. Technology advisor.",
218 | "skills": ["Architecture", "AWS (EC2, RDS, CloudFront, Lambda, S3, Cloudformation...)", "CI/CD: Github Actions", "Databases (MySQL, PostgreSQL, MongoDB and InfluxDB)", "Docker", "Flutter (iOS and Android)", "Golang", "Javascript/Typescript", "Microservices", "MVP", "PHP (Laravel and Symfony)", "Scalability", "Software design"],
219 | "availability_hours_week": {"min": 2, "max": 15},
220 | "pricing_model": "Hourly / Depending on the service requested"
221 | },
222 | {
223 | "slack_name": "@mmanzano",
224 | "slack_member_id": "U6A845RPY",
225 | "full_name": "Miguel Manzano García",
226 | "web": "https://mmanzano.com/en",
227 | "linkedin_handler": "miguelmanzano",
228 | "services": "Backend Development. Software crafter. Testing. Continuous Learning. Love Frontend.",
229 | "skills": ["Laravel", "Laravel Vapor (AWS Lambda)", "Github Actions for testing and deploy", "Databases (MySQL)", "Docker", "Javascript/Typescript", "MVP", "PHP (Laravel)", "Performance with SQL or PHP itself"],
230 | "availability_hours_week": {"min": 15, "max": 30},
231 | "pricing_model": "Depending on the service requested"
232 | },
233 | {
234 | "slack_name": "@JuanPabloVazquez",
235 | "slack_member_id": "U04EGDXUD5K",
236 | "full_name": "Juan Pablo Vazquez",
237 | "web": "",
238 | "linkedin_handler": "juan-pablo-vazquez-sampere",
239 | "services": "Experienced hands-on software developer. +10 years of expertise in development operations. From concept definition to implementation in production. Focused on creating intelligent solutions that consumers are willing to pay for",
240 | "skills": ["Blockchain", "Python", "Solidity", "Django", "JavaScript", "React", "TypeScript", "Node", "Nextjs"],
241 | "availability_hours_week": {"min": 5, "max": 40},
242 | "pricing_model": "Can be per hour, per day or per project"
243 | },
244 | {
245 | "slack_name": "@Rubén Rubio",
246 | "slack_member_id": "U01RXMMNKD3",
247 | "full_name": "Rubén Rubio",
248 | "web": "https://rubenrubiob.github.io/",
249 | "linkedin_handler": "rubenrubiob",
250 | "services": "PHP consultancy: legacy decoupling, best practices, performance and optimization, event-driven architectures, testing",
251 | "skills": ["PHP", "hexagonal architecture", "Event-Driven", "Testing", "DDD", "scalability", "trainings"],
252 | "availability_hours_week": {"min": 10, "max": 30},
253 | "pricing_model": "Hourly / Depending on the service requested"
254 | },
255 | {
256 | "slack_name": "@Aleix Morgadas",
257 | "slack_member_id": "U36SJR3FC",
258 | "full_name": "Aleix Morgadas",
259 | "web": "https://aleixmorgadas.dev",
260 | "linkedin_handler": "aleixmorgadas",
261 | "services": "I’m a independent software consultant with more than 10 years of experience in the software industry.",
262 | "skills": ["DDD", "TeamTopologies", "Wardley Maps", "Architecture"],
263 | "availability_hours_week": {"min": 10, "max": 30},
264 | "pricing_model": "Hourly / Depending on the service requested"
265 | },
266 | {
267 | "slack_name": "@Asiel",
268 | "slack_member_id": "U06AYS0A4F7",
269 | "full_name": "Asiel Leal Celdeiro",
270 | "web": "https://github.com/lealceldeiro",
271 | "linkedin_handler": "lealceldeiro",
272 | "services": "Software/Backend Development",
273 | "skills": ["Java", "SQL", "Spring Boot", "JUnit", "Mockito", "Hibernate", "Maven", "Gradle", "Git", "TDD", "OOP", "Design Patterns", "REST", "BDD"],
274 | "availability_hours_week": {"min": 10, "max": 30},
275 | "pricing_model": "Hourly | Milestones | Fixed price"
276 | },
277 | {
278 | "slack_name": "@Andreu Correa Casablanca",
279 | "slack_member_id": "U05CMHUDLVD",
280 | "full_name": "Andres Correa Casablanca",
281 | "web": "https://blog.coderspirit.xyz/about/",
282 | "linkedin_handler": "castarco",
283 | "services": "Software Development (Web Fullstack, specialised on Backend); Architecture definition; Performance; Security Hardening; Code Review; Refactoring.",
284 | "skills": ["JavaScript", "TypeScript", "PHP", "Python", "Rust", "Node", "PostgreSQL", "MySQL", "gRPC", "GraphQL", "Docker", "Kubernetes", "GCP", "AWS", "Microservices", "CI/CD", "TDD", "DDD", "Architecture"],
285 | "availability_hours_week": {"min": 1, "max": 16},
286 | "pricing_model": "Hourly (from 70€ to 120€/h, better rates for bigger projects)"
287 | },
288 | {
289 | "slack_name": "@Jose Valderrama",
290 | "slack_member_id": "U06K4LTR1NV",
291 | "full_name": "José Valderrama",
292 | "web": "https://github.com/JValderramaN",
293 | "linkedin_handler": "josevalderrama92",
294 | "services": "10+ years SwiftUI | iOS iPadOS macOS watchOS tvOS visionOS",
295 | "skills": ["Swift", "Objective-C", "UIKit", "SwiftUI", "Async/Await", "Combine", "RxSwift", "CI/CD", "TDD", "Architecture"],
296 | "availability_hours_week": {"min": 1, "max": 40},
297 | "pricing_model": "Hourly | Milestones | Fixed price"
298 | },
299 | {
300 | "slack_name": "@Carlos López",
301 | "slack_member_id": "U06RYMRARPH",
302 | "full_name": "Carlos López Gil",
303 | "web": "https://jcarloslopez.com",
304 | "linkedin_handler": "jcarloslopezgil",
305 | "services": "Full-stack development, Software engineering. MVPs for startups",
306 | "skills": ["Node", "React", "Ruby on Rails", "AWS", "Docker", "MongoDB", "PostgreSQL", "Terraform", "Microservices", "JavaScript", "Typescript", "Tailwind"],
307 | "availability_hours_week": {"min": 2, "max": 40},
308 | "pricing_model": "Depending on the service requested"
309 | },
310 | {
311 | "slack_name": "@Aleksander Wennersteen",
312 | "slack_member_id": "U072GGB66NR",
313 | "full_name": "Aleksander Wennersteen",
314 | "web": "http://awennersteen.com",
315 | "linkedin_handler": "awennersteen",
316 | "services": "Software engineering, prototyping, tech lead. AI/machine learning in production. Startup and scaleup experience.",
317 | "skills": ["Python", "FastAPI", "PyTorch", "JAX", "GPU", "AWS", "Terraform", "K8s"],
318 | "availability_hours_week": {"min": 1, "max": 16},
319 | "pricing_model": "Hourly, depending on the service requested. Exceptionally fixed price."
320 | },
321 | {
322 | "slack_name": "@Sara",
323 | "slack_member_id": "U06C305TTBR",
324 | "full_name": "Sara Víctor",
325 | "web": "",
326 | "linkedin_handler": "saravictorfernandez",
327 | "services": "Mobile Application and React development services",
328 | "skills": ["Frontend", "Testing", "Architecture", "TypeScript", "React", "Android", "iOS", "Java", "Kotlin", "Mobile Apps"],
329 | "availability_hours_week": {"min": 1, "max": 8},
330 | "pricing_model": "Hourly | Milestones | Fixed price"
331 | },
332 | {
333 | "slack_name": "@mrgnw",
334 | "slack_member_id": "U060PKAGW4S",
335 | "full_name": "Morgan Williams",
336 | "web": "https://morganwill.com",
337 | "linkedin_handler": "mrgnw",
338 | "services": "Full-stack data & software engineering: data architectures, API's, web sites",
339 | "skills": ["Data", "Backend", "Python", "PostgreSQL", "ETL", "Docker", "Dagster", "FastAPI", "Svelte"],
340 | "availability_hours_week": {"min": 1, "max": 30},
341 | "pricing_model": "Hourly | Weekly | Milestones"
342 | },
343 | {
344 | "slack_name": "@Sergi Olives",
345 | "slack_member_id": "U0574E8P339",
346 | "full_name": "Sergi Olives",
347 | "web": "https://www.linkedin.com/in/sergiolives/",
348 | "linkedin_handler": "sergiolives",
349 | "services": "Consulting, Software Engineering, Agile Coaching and Training.",
350 | "skills": ["Fullstack", "Testing", "Java", "Spring", "React"],
351 | "availability_hours_week": {"min": 1, "max": 20},
352 | "pricing_model": "50€/h | Variable depending on project length"
353 | },
354 | {
355 | "slack_name": "@ber2",
356 | "slack_member_id": "U01AJL86W84",
357 | "full_name": "Alberto Camara",
358 | "web": "https://ber2.github.io/",
359 | "linkedin_handler": "alberto-camara",
360 | "services": "Data Science, ML Engineering, Data Visualization & Storytelling, NLP, Deep Learning, Bayesian Inference",
361 | "skills": ["Data", "Python", "Scikit-learn", "Tensorflow", "Torch", "Pandas", "Polars", "Scala", "Apache Spark", "SQL"],
362 | "availability_hours_week": {"min": 1, "max": 20},
363 | "pricing_model": "Hourly | Weekly | Milestones"
364 | }
365 | ]
366 |
--------------------------------------------------------------------------------
/layouts/_default/_markup/render-link.html:
--------------------------------------------------------------------------------
1 | {{ .Text }}
--------------------------------------------------------------------------------
/layouts/channels/single.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ partial "head.html" . }}
5 |
6 |
7 |
8 | {{ partial "header.html" . }}
9 |
10 | Channels
11 |
12 |
13 |
14 |
15 | With around 10.000 members, channels are essential for structuring content.
16 |
17 |
18 |
19 | We expect from the members of the community to write their messages in the
20 | appropiate channel, and the staff team and other community champions will help
21 | in that regard.
22 |
23 |
24 |
25 | Read our netiquette to learn which content is not allowed.
26 |
27 |
28 |
29 | As a rule of thumb, the more specific the channel the better. So please,
30 | before posting in #offtopic-random , look twice for another channel.
31 |
32 |
33 |
34 | Note: you can propose improvements to this document by communicating them in the
35 | #ask-staff channel or opening a pull request
36 |
37 |
38 |
39 |
40 | Index by category
41 | In the channel index you can find the one that best suits your
42 | needs.
43 |
44 | Some of them are tagged with the following tags:
45 |
46 | default you will automatically join this channel when joining BcnEng for the first time.
47 | read-only only the admins can create new posts in the channel. Answers are open.
48 | candebot-only only content created via our beloved Candebot can be posted. Answers are open.
49 | anonymous-enabled the Open Say bot is enabled in the channel so you can ask and answer anonymously.
50 |
51 |
52 |
53 | Clicking on a channel will open it in the Slack app.
54 |
55 | {{ partial "channels_list.html" . }}
56 |
57 |
58 | {{ partial "footer.html" . }}
59 | {{ partial "foot.html" . }}
60 |
61 | {{ template "_internal/google_analytics.html" . }}
62 |
63 |
64 |
--------------------------------------------------------------------------------
/layouts/freelancers/single.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ partial "head.html" . }}
5 |
6 |
7 |
8 | {{ partial "header.html" . }}
9 |
10 | Find contractors or freelancers from our community
11 |
18 |
19 |
20 | {{ partial "freelancers_list.html" . }}
21 |
22 |
23 |
24 |
25 |
How to
26 |
27 | Locate your Slack member ID.
28 | Edit and fill your data at the data source file at GitHub. Create a pull request.
29 | Your PR will be validated by the staff team. Once merged, your data will appear in the list.
30 | For any Q&A, join #ask-staff .
31 |
32 |
33 |
34 |
35 |
36 | {{ partial "footer.html" . }}
37 | {{ partial "foot.html" . }}
38 |
39 | {{ template "_internal/google_analytics.html" . }}
40 |
41 |
42 |
--------------------------------------------------------------------------------
/layouts/index.html:
--------------------------------------------------------------------------------
1 | {{ define "main" }}
2 |
3 |
4 |
5 |
6 | {{- with .Site.Params.homepageImage -}}
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | {{- end -}}
15 |
16 |
{{ .Site.Title }}
17 |
We are an online community established by and for the software engineering professionals in Barcelona and surronding areas.
18 |
Our mission is to elevate Barcelona into a leading global hub for technology and innovation.
19 |
20 |
21 | JOIN NOW 🚀
22 |
23 |
24 |
Please make sure to read:
25 |
30 |
31 |
Freelancers
32 | If you are seeking IT services, please consult our
freelancers database where you will
34 | find skilled individuals from our community capable of supporting your project requirements.
35 |
36 |
Sponsorship
37 |
As a non-profit organization, we welcome financial support through Open Collective .
38 |
39 |
40 | DONATE
41 |
42 |
43 |
Thanks to the following individuals for contributing to BcnEng:
44 |
45 |
46 |
47 |
Community Projects
48 |
53 |
Step4ward is an initiative by experienced tech sector mentors in Spain, focused on assisting women in commencing or advancing their technology careers. Founded by women, for women, this program has been operational since May 2021.
54 |
Thanks to the following individuals for contributing to Step4ward:
55 |
56 |
57 |
Exterprise Sponsors
58 |
We extend our gratitude to these organizations for their support.
59 |
76 |
77 |
78 |
79 |
80 | {{- range first 1 (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) -}}
81 | {{ $page := . }}
82 |
83 |
84 | {{- with $page.Params.images -}}
85 | {{- $images := . -}}
86 | {{- with $page.Site.GetPage "section" "images" -}}
87 | {{- with .Resources.GetMatch (strings.TrimPrefix "/images/" (index $images 0)) -}}
88 | {{- $image := .Fill "700x450" -}}
89 |
90 |
91 |
92 | {{- end -}}
93 | {{- end -}}
94 | {{- end -}}
95 |
96 |
97 |
{{ $page.Date.Format "January 2, 2006" }}
98 |
99 |
100 |
101 | {{ $page.Summary }}
102 |
103 |
104 |
105 | {{- end -}}
106 |
107 |
108 |
109 | {{ range after 1 (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) }}
110 |
111 | {{ .Render "card" }}
112 |
113 | {{ end }}
114 |
115 |
116 | {{ end }}
117 |
--------------------------------------------------------------------------------
/layouts/partials/channels_list.html:
--------------------------------------------------------------------------------
1 | {{ $latestCategory := "" }}
2 | {{ range $.Site.Data.channels }}
3 | {{ if ne .category $latestCategory }}
4 | {{ if $latestCategory }}
5 |
6 |
7 |
8 | {{ end }}
9 | {{ .category | title }}
10 |
11 |
12 |
13 | {{ end }}
14 |
15 |
# {{ .name }}
16 |
{{ .description }}
17 |
{{ .notes }}
18 |
19 | {{ range .tags }}
20 | {{ . }}
21 | {{ end }}
22 |
23 |
24 | {{ $latestCategory = .category }}
25 | {{ end }}
26 |
--------------------------------------------------------------------------------
/layouts/partials/footer.html:
--------------------------------------------------------------------------------
1 |
59 |
94 |
--------------------------------------------------------------------------------
/layouts/partials/freelancers_list.html:
--------------------------------------------------------------------------------
1 |
2 | {{ range $.Site.Data.freelancers }}
3 |
4 |
6 |
{{ .services }}
7 |
8 | {{ range .skills }}
9 | {{ . }}
10 | {{ end }}
11 |
12 |
13 | ⏲
14 | Min:{{ .availability_hours_week.min }}h/week —
15 | Max:{{ .availability_hours_week.max }}h/week
16 |
17 |
€ Pricing: {{ .pricing_model }}
18 |
40 |
41 | {{ end }}
42 |
43 |
--------------------------------------------------------------------------------
/layouts/partials/header.html:
--------------------------------------------------------------------------------
1 | {{ $current := . }}
2 |
3 |
4 |
⌂ Home
5 |
6 |
7 |
8 |
9 |
10 | {{- if .Site.Params.showLanguageSwitcher -}}
11 | {{ partial "i18nlist.html" . }}
12 | {{- end -}}
13 | {{ with .Site.Menus.main }}
14 | {{ range . }}
15 |
16 | {{ end }}
17 | {{ end }}
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/netlify.toml:
--------------------------------------------------------------------------------
1 | [build]
2 | publish = "public"
3 | command = "hugo"
4 | [context.deploy-preview.environment]
5 | HUGO_VERSION = "0.147.6"
6 | [context.production.environment]
7 | HUGO_VERSION = "0.147.6"
8 |
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | BCN Engineering
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
⌂ Home
55 |
56 |
57 |
58 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
BCN Engineering
88 |
We are an online community established by and for the software engineering professionals in Barcelona and surronding areas.
89 |
Our mission is to elevate Barcelona into a leading global hub for technology and innovation.
90 |
91 |
92 | JOIN NOW 🚀
93 |
94 |
95 |
Please make sure to read:
96 |
101 |
102 |
Freelancers
103 | If you are seeking IT services, please consult our
freelancers database where you will
105 | find skilled individuals from our community capable of supporting your project requirements.
106 |
107 |
Sponsorship
108 |
As a non-profit organization, we welcome financial support through Open Collective .
109 |
The following individuals have contributed to BcnEng:
110 |
111 |
112 |
Community Projects
113 |
118 |
Step4ward is an initiative by experienced tech sector mentors in Spain, focused on assisting women in commencing or advancing their technology careers. Founded by women, for women, this program has been operational since May 2021.
119 |
The following individuals have contributed to Step4ward:
120 |
121 |
122 |
Exterprise Sponsors
123 |
We extend our gratitude to these organizations for their support.
124 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
205 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
254 |
255 |
256 |
257 |
258 |
259 |
260 |
261 |
262 |
263 |
264 |
265 |
--------------------------------------------------------------------------------
/static/css/channels.css:
--------------------------------------------------------------------------------
1 | .channel_name {
2 | font-family: "Teko", sans-serif;
3 | text-transform: uppercase;
4 | letter-spacing: 0.02em;
5 | color: #444;
6 | }
7 |
8 | .tablewrapper {
9 | display: flex;
10 | flex-wrap: wrap;
11 | }
12 |
13 | .card {
14 | cursor: pointer;
15 | width: 345px;
16 | background-color: #fafafa;
17 | margin: 0 1em 1em 0;
18 | padding: 1em;
19 | }
20 |
21 | .card:hover {
22 | box-shadow: 0 0 11px rgba(33,33,33,.2);
23 | }
24 |
25 | @media (min-width: 768px) and (max-width: 1024px) {
26 | .card {
27 | width: 327px;
28 | }
29 | }
30 | @media (max-width: 575px) {
31 | .tablewrapper {
32 | justify-content: center;
33 | }
34 | .card {
35 | margin: 0 0 1em 0;
36 | }
37 | }
38 |
39 | .card__name {
40 | font-family: "Teko", sans-serif;
41 | text-transform: uppercase;
42 | letter-spacing: 0.02em;
43 | color: #444;
44 | }
45 |
46 | .card__description {
47 | margin: 0.33em 0;
48 | font-size: 0.9em;
49 | }
50 |
51 | .card__notes {
52 | margin: 0.33em 0;
53 | font-size: 0.9em;
54 | font-style: italic;
55 | }
56 |
57 | .card__tags {
58 | margin-bottom: 0.33em;
59 | }
60 |
61 | .card__core {
62 | border: 1px solid #3c979a;
63 | border-left: 12px solid #3c979a;
64 | }
65 | .card__hr {
66 | border: 1px solid #a3e6c1;
67 | border-left: 12px solid #a3e6c1;
68 | }
69 | .card__social {
70 | border: 1px solid #bad99a;
71 | border-left: 12px solid #bad99a;
72 | }
73 | .card__tech {
74 | border: 1px solid #ebcb73;
75 | border-left: 12px solid #ebcb73;
76 | }
77 | .card__events {
78 | border: 1px solid #FFDCB6;
79 | border-left: 12px solid #FFDCB6;
80 | }
81 | .card__languages {
82 | border: 1px solid #f5b840;
83 | border-left: 12px solid #f5b840;
84 | }
85 | .card__business {
86 | border: 1px solid #e68d2d;
87 | border-left: 12px solid #e68d2d;
88 | }
89 | .card__non-tech {
90 | border: 1px solid #5f7847;
91 | border-left: 12px solid #5f7847;
92 | }
93 | .card__automation {
94 | border: 1px solid #3c979a;
95 | border-left: 12px solid #3c979a;
96 | }
97 | .card__frontend {
98 | border: 1px solid #19A7CE;
99 | border-left: 12px solid #19A7CE;
100 | }
101 | .card__systems {
102 | border: 1px solid #643A6B;
103 | border-left: 12px solid #643A6B;
104 | }
105 | .card__soft-skills {
106 | border: 1px solid #146C94;
107 | border-left: 12px solid #146C94;
108 | }
109 | .card__others {
110 | border: 1px solid #E49393;
111 | border-left: 12px solid #E49393;
112 | }
113 |
114 | .tag {
115 | font-size: 0.8em;
116 | border: 1px solid #666;
117 | border-radius: 5px;
118 | padding: 0.2em 0.4em;
119 | background-color: #f1f1f1;
120 | }
121 |
--------------------------------------------------------------------------------
/static/css/custom.css:
--------------------------------------------------------------------------------
1 | html {
2 | background: linear-gradient(to bottom, #333333 50%, #ffffff 50%);
3 | }
4 |
5 | .homepage-image {
6 | position: relative;
7 | overflow: hidden;
8 | }
9 |
10 | .homepage-image img {
11 | -webkit-box-reflect: below -70px linear-gradient(transparent, transparent, rgba(0, 0, 0, 0.1));
12 | }
13 | .homepage h1,
14 | .homepage h2,
15 | .homepage h3 {
16 | margin-bottom: 0.75rem;
17 | }
18 | .homepage h3 {
19 | margin-top: 2.5rem;
20 | }
21 | .link-list {
22 | margin-top: -1rem;
23 | }
24 | p,
25 | li {
26 | line-height: 1.7em;
27 | }
28 |
29 | @media (min-width: 992px) {
30 | .homepage h1 {
31 | display: inline-block;
32 | background-color: #333;
33 | color: white;
34 | padding: 0.2em 0.4em 0 0.3em;
35 | margin-bottom: 0.5em;
36 | }
37 |
38 | .homepage-image {
39 | position: relative;
40 | float: right;
41 | right: 0;
42 | width: 400px;
43 | }
44 | .homepage-image img {
45 | -webkit-box-reflect: below -39px linear-gradient(transparent, transparent, rgba(0, 0, 0, 0.1));
46 | }
47 | }
48 | @media (max-width: 991px) {
49 | .homepage-image {
50 | max-width: 55%;
51 | margin: 0 auto;
52 | padding-bottom: 20px;
53 | }
54 | .homepage-image img {
55 | -webkit-box-reflect: below -39px linear-gradient(transparent, transparent, rgba(0, 0, 0, 0.1));
56 | }
57 | }
58 | @media (max-width: 575px) {
59 | body {
60 | font-size: 1.05rem;
61 | }
62 | p {
63 | line-height: 1.6em;
64 | }
65 | .homepage h1 {
66 | text-align: center;
67 | }
68 | .homepage-image img {
69 | -webkit-box-reflect: below -15px linear-gradient(transparent, transparent, rgba(0, 0, 0, 0.1));
70 | }
71 | .button-wrapper {
72 | display: flex;
73 | justify-content: center;
74 | }
75 | }
76 |
77 | .homepage h1,
78 | .homepage h2,
79 | .homepage h3 {
80 | font-family: "Teko", sans-serif;
81 | text-transform: uppercase;
82 | letter-spacing: -0.03em;
83 | }
84 |
85 | .avatar {
86 | width: 180px;
87 | margin: 5px 10px;
88 | }
89 | .avatar a img {
90 | border-radius: 50%;
91 | border: 6px solid #dedede;
92 | }
93 |
94 | .open-collective,
95 | .open-collective::before {
96 | display: inline-block;
97 | box-sizing: border-box;
98 | border-radius: 22px;
99 | }
100 | .open-collective {
101 | position: relative;
102 | transform: scale(var(--ggs, 1)) translate(3px, 2.5px);
103 | width: 18px;
104 | height: 18px;
105 | border: 3px solid;
106 | border-right-color: transparent;
107 | }
108 | .open-collective::before {
109 | content: "";
110 | position: absolute;
111 | width: 14px;
112 | height: 14px;
113 | border: 3px solid transparent;
114 | border-right: 3px solid;
115 | top: -1px;
116 | right: -3px;
117 | opacity: 0.5;
118 | }
119 |
120 | .opencollective-banner {
121 | display: flex;
122 | justify-content: left;
123 | margin: 0px 0 -50px 0;
124 | }
125 | .opencollective-banner iframe {
126 | width: 100%;
127 | }
128 | @media (max-width: 575px) {
129 | .opencollective-banner {
130 | display: block;
131 | margin: 0 0 -50px 0;
132 | }
133 | .opencollective-banner iframe {
134 | width: 100%;
135 | }
136 | }
137 |
138 | .sponsor-logos {
139 | display: flex;
140 | flex-wrap: wrap;
141 | }
142 | .sponsor-logos a {
143 | display: flex;
144 | align-items: center;
145 | justify-content: center;
146 | }
147 |
148 | .sponsor-logo-image {
149 | width: 200px;
150 | margin: 0 75px 25px 0;
151 | }
152 |
153 | @media (max-width: 575px) {
154 | .sponsor-logos {
155 | justify-content: center;
156 | }
157 | .sponsor-logo-image {
158 | margin: 0 0 25px 0;
159 | }
160 | }
161 |
162 |
163 | .project-logos {
164 | display: flex;
165 | flex-wrap: wrap;
166 | }
167 | .project-logos a {
168 | display: flex;
169 | align-items: center;
170 | justify-content: center;
171 | }
172 |
173 | .project-logo-image {
174 | width: 200px;
175 | margin: 0 75px 25px 0;
176 | }
177 |
178 | @media (max-width: 575px) {
179 | .project-logos {
180 | justify-content: center;
181 | }
182 | .project-logo-image {
183 | margin: 0 0 25px 0;
184 | }
185 | }
186 |
187 | #home,
188 | .navbar-dark .navbar-nav .nav-link {
189 | color: hsla(0, 0%, 100%, 0.8);
190 | }
191 |
192 | .mask-image {
193 | display: block;
194 | }
195 |
196 | .shine-effect {
197 | position: absolute;
198 | top: 0;
199 | left: 0;
200 | width: 100%;
201 | height: 100%;
202 | background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0) 75%);
203 | transform: rotate(30deg);
204 | animation: shine 5s 1.5s infinite;
205 | mix-blend-mode: overlay;
206 | }
207 |
208 | @keyframes shine {
209 | 0% {
210 | transform: translateX(-50%) rotate(30deg);
211 | }
212 | 100% {
213 | transform: translateX(150%) rotate(30deg);
214 | }
215 | }
216 |
217 | .zoomInDown {
218 | -webkit-animation-name: zoomInDown;
219 | animation: zoomInDown 2s;
220 | }
221 |
222 | @-webkit-keyframes zoomInDown {
223 | from {
224 | opacity: 0;
225 | -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
226 | transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
227 | -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
228 | animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
229 | }
230 |
231 | 60% {
232 | opacity: 1;
233 | -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
234 | transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
235 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
236 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
237 | }
238 | }
239 |
240 | @keyframes zoomInDown {
241 | from {
242 | opacity: 0;
243 | -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
244 | transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
245 | -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
246 | animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
247 | }
248 |
249 | 60% {
250 | opacity: 1;
251 | -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
252 | transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
253 | -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
254 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
255 | }
256 | }
257 |
258 |
--------------------------------------------------------------------------------
/static/css/freelancers.css:
--------------------------------------------------------------------------------
1 | .tablewrapper {
2 | display: flex;
3 | flex-wrap: wrap;
4 | }
5 |
6 | .card {
7 | width: 345px;
8 | background-color: #fafafa;
9 | margin: 0 1em 1em 0;
10 | padding: 1em;
11 | }
12 |
13 | @media (min-width: 768px) and (max-width: 1024px) {
14 | .card {
15 | width: 327px;
16 | }
17 | }
18 | @media (max-width: 575px) {
19 | .tablewrapper {
20 | justify-content: center;
21 | }
22 | .card {
23 | margin: 0 0 1em 0;
24 | }
25 | }
26 |
27 | .card__name {
28 | font-family: "Teko", sans-serif;
29 | text-transform: uppercase;
30 | letter-spacing: 0.02em;
31 | }
32 |
33 | .card__services {
34 | margin: 0.33em 0;
35 | font-size: 0.9em;
36 | font-style: italic;
37 | }
38 |
39 | .card__skills {
40 | margin-bottom: 0.33em;
41 | }
42 |
43 | .skill {
44 | font-size: 0.8em;
45 | border: 1px solid;
46 | border-radius: 5px;
47 | padding: 0.2em 0.4em;
48 | }
49 |
50 | .card__availability {
51 | margin-bottom: 0.33em;
52 | }
53 |
54 | .time {
55 | font-size: 0.8em;
56 | padding: 0.2em 0.4em;
57 | }
58 |
59 | .card__pricing {
60 | margin-bottom: 0.66em;
61 | }
62 |
63 | .pricing_model {
64 | font-style: italic;
65 | }
66 |
67 | .card__social {
68 | font-size: 0.7em;
69 | }
70 |
71 | .card__social .list-inline {
72 | display: flex;
73 | color: #c3c3c3;
74 | margin-bottom: 0;
75 | }
76 |
77 | .card__social li {
78 | line-height: 1em;
79 | }
80 |
81 |
--------------------------------------------------------------------------------
/static/images/bcneng_400x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcneng/website/45e2ed729f62f6cbfe4560286833dc97470b4d13/static/images/bcneng_400x400.png
--------------------------------------------------------------------------------
/static/images/bcneng_outline.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
10 |
11 |
12 |
15 |
16 |
17 |
18 |
19 |
20 |
23 |
27 |
28 |
29 |
31 |
34 |
35 |
36 |
39 |
42 |
45 |
48 |
51 |
55 |
57 |
60 |
63 |
66 |
69 |
71 |
74 |
78 |
79 |
80 |
84 |
91 |
92 |
93 |
94 |
95 |
96 |
103 |
105 |
106 |
107 |
108 |
113 |
114 |
153 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
--------------------------------------------------------------------------------
/static/images/homepage-image.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcneng/website/45e2ed729f62f6cbfe4560286833dc97470b4d13/static/images/homepage-image.jpg
--------------------------------------------------------------------------------
/static/images/project-logos/step4ward-logo.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcneng/website/45e2ed729f62f6cbfe4560286833dc97470b4d13/static/images/project-logos/step4ward-logo.webp
--------------------------------------------------------------------------------
/static/images/sponsor-logos/digital-ocean.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
30 |
32 |
33 |
38 |
39 |
41 |
43 |
44 |
47 |
52 |
57 |
60 |
66 |
69 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/static/images/sponsor-logos/donut.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcneng/website/45e2ed729f62f6cbfe4560286833dc97470b4d13/static/images/sponsor-logos/donut.png
--------------------------------------------------------------------------------
/static/images/sponsor-logos/opensay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcneng/website/45e2ed729f62f6cbfe4560286833dc97470b4d13/static/images/sponsor-logos/opensay.png
--------------------------------------------------------------------------------
/static/images/sponsor-logos/slack.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcneng/website/45e2ed729f62f6cbfe4560286833dc97470b4d13/static/images/sponsor-logos/slack.webp
--------------------------------------------------------------------------------
/static/images/sponsor-logos/truffle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcneng/website/45e2ed729f62f6cbfe4560286833dc97470b4d13/static/images/sponsor-logos/truffle.png
--------------------------------------------------------------------------------
/static/images/team/cande.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcneng/website/45e2ed729f62f6cbfe4560286833dc97470b4d13/static/images/team/cande.jpeg
--------------------------------------------------------------------------------
/static/images/team/cristina.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcneng/website/45e2ed729f62f6cbfe4560286833dc97470b4d13/static/images/team/cristina.png
--------------------------------------------------------------------------------
/static/images/team/gon.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcneng/website/45e2ed729f62f6cbfe4560286833dc97470b4d13/static/images/team/gon.jpeg
--------------------------------------------------------------------------------
/static/images/team/mavi.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcneng/website/45e2ed729f62f6cbfe4560286833dc97470b4d13/static/images/team/mavi.jpeg
--------------------------------------------------------------------------------
/static/images/team/ronny.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcneng/website/45e2ed729f62f6cbfe4560286833dc97470b4d13/static/images/team/ronny.jpeg
--------------------------------------------------------------------------------
/static/images/team/smoya.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bcneng/website/45e2ed729f62f6cbfe4560286833dc97470b4d13/static/images/team/smoya.jpeg
--------------------------------------------------------------------------------