Skip to content

Commit

Permalink
#148 General review of roles, seniority levels, operations and career…
Browse files Browse the repository at this point in the history
… advacement (#181)

* #148 First pass of reorganizing and actualizing information about levels, roles, operations and growth, in preparation for specific pages on project roles and RACI tables.

* #148 Removed professional role/level, it is still a good base to start with about the company roles of the director/innovator/whatever, we are fancying about.

* #148 Rewritten software developers seniority levels descriptions to make them more relevant and up-to-date.

* #148 Fixed some wording in IACs, added CNE IACs and renamed all of them for better devexp in the editor.

* #148 Fixed order of IACs

* #148 Renamed CNE in CE; fixed broken links.

* #148 Actualized the career advancement page.

* #148 Renamed one-to-one to more correct one-on-one form.
  • Loading branch information
stickgrinder authored Aug 11, 2023
1 parent 658cc41 commit 213acea
Show file tree
Hide file tree
Showing 21 changed files with 822 additions and 340 deletions.
57 changes: 57 additions & 0 deletions content/organization/accountabilities.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
/*
Title: Accountabilities
Description: Accountabilities in SparkFabrik
Sort: 40
*/

## Shared accountability

We all share a set of accountabilities, regardless of our job position and role in any specific project.

### Client satisfaction

The client is not always right, or they would not ask us for help to solve their problems. Yet the client always has their good reasons.
Remember [we value quality in human relations](https://www.sparkfabrik.com/en/the-manifesto/) as much as we value quality in software. Be always kind and clear, keep your integrity, make your point with honesty and don't just nod to everything, but listen with open ears to customers' needs.

Ultimately, everybody is called to deliver a great customer experience.

### Delivering your outputs

Simple as it sounds. On time, on budget, on specs.

### Respecting your colleagues

Be friendly. Keep in mind that we share the same goal but each of us may have different ways to achieve it. Always presume everybody is well-meaning and help them to improve. Don't waste other people's time: be timely at meetings, point out when others forget something and clearly state your requirements or needs so others shouldn't try to figure out what you mean.

### Supporting your colleagues

Work with others so that they can grow. Add to their knowledge. Help them if they are in need but don't steal the spotlight: let them do the work so they can improve. Point out when others can meet the highest standard. Don't keep to yourself information that can help others succeed.

### Following company processes

We prefer processes and evolutionary agreements over rules. Still, we want everybody to follow those processes and respect evolutionary agreements. Everybody is involved in shaping them so everybody must respect them.

## Seniority-related accountabilities

Operational accountabilities are described in terms of the expected positive impacts a role has on the business.

As you gain [seniority](/organization/operations#seniority-levels) and possibly take over one or more [roles on your projects](/organization/operations#project-roles), your specific accountabilities will change.

> **Note**: Printing one of the pages below directly from the browser will produce an _Impact Assessment Card_, a version of the page specifically formatted to evaluate yourself (or to ask your responsible for an evaluation) by ticking off its boxes. Try it out!
### Development area

* [Junior Developer](/resources/seniority-acc-dev-junior)
* [Developer](/resources/seniority-acc-dev-mid)
* [Senior Developer](/resources/seniority-acc-dev-senior)
* [Lead Developer](/resources/seniority-acc-dev-lead)

### Platform area

* [Practitioner Cloud Engineer](/resources/seniority-acc-cne-practitioner)
* [Professional Cloud Engineer](/resources/seniority-acc-cne-professional)
* [Architect Cloud Engineer](/resources/seniority-acc-cne-architect)

### Digital Strategy area

`TO BE DONE`
15 changes: 0 additions & 15 deletions content/organization/administration.md

This file was deleted.

23 changes: 23 additions & 0 deletions content/organization/corporate-functions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/*
Description: Administration roles and functions in SparkFabrik
Sort: 15
*/

## Corporate Functions

The employees in this area are responsible for the supporting processes.

Each employee in this area has a direct or almost direct report to one or more [Executive Board members](/organization/governance#executive-board) and they all have either a directional role or the [Supporter](/organization/company-role-acc-supporter) company role.

Supporters are employees owning one or more processes and procedures vital to the health of the company.
They can [assess their impacts](/working-at-sparkfabrik/impact-assessment) as any other operational role and, if not for the nature of their duties, they are subject to the same requirements and quality standards.

More broadly, Corporate Functions are the glue that holds governance and operations together, thus being an essential gear in the company's machinery.

The following functions are currently available in SparkFabrik:

* **Administration**
* **Marketing**
* **Human Relations**
* **Finance**
* **Sales**
40 changes: 1 addition & 39 deletions content/organization/governance.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
/*
Description: Governance roles and functions in SparkFabrik
Sort: 20
Sort: 10
*/

Governance in SparkFabrik is organized by functions, not roles.
C-level roles are assigned to key people, who generally own government functions. Owning doesn't imply the function is completely carried out by that person. Professionals and lead developers at the operational level cooperate with the government function owner to make it happen.

## Executive Board

The executive board is in charge of the strategy and business planning of the company.
Expand All @@ -16,38 +13,3 @@ The current board is composed of company founders, with the following duties.
* **Marco Giacomassi**: CFO - Oversees the company's financials. Responsible for budgeting, accounting, reporting, forecasting and investing.
* **Paolo Mainardi**: CTO - Oversees the company's technology. Works to ensure that technology-related decisions align with business goals.
* **Alessio Piazza**: COO - Oversees the company's day-to-day operations, sourcing, process control, resource allocation and activity planning.

## Steering committee

The steering committee works to overcome organizational problems and advance the company's practices. It operates constantly on top of the projects level, overseeing the processes, validating methodologies and improving the whole delivery process.

This committee is composed of the CTO, COO, Head of HR, all Professionals and all Lead Developers in the company.
The owner of Steering committee events is the COO.

Each quarter (the first Wednesday of each quarter's first month) the committee has a 2-hour facilitated meeting in which they define:

* Top priorities to be addressed (C-levels can set them or call for co-generation and voting)
* State top priorities in terms of initiatives
* Willing people can apply as owners of those initiatives

Initiatives clearly state SMART goals to address the related top priority. They should bring a change or even revolutionize an aspect of our work, such as introducing new technology, changing an organizational approach, introducing longed-for tools, etc.

Owners commit to lead the completion of the initiative goals by the end of the quarter. Initiative owners will be publicly appointed. We want those people to challenge themselves and take on additional responsibilities to shape those skills that may in the future make them C-levels.

The format of the quarterly meeting is aggressively timeboxed:

* 20 mins: Identify and list weaknesses or opportunities for improvement in the current approach.
* 30 mins: Define goals for a better condition (1 to 3 goals depending on the size).
* 30 mins: Generate SMART initiatives for the quarter that fulfills the goals.
* 20 mins: Appoint a single owner for each initiative.
* 10 mins: Define a scheduled session within 7 days where the owner will present and discuss his incremental plan to the completion of the goals (this will allow resource planning and assignment).

The presentation of the initiative plan must include:

* Quantification/qualification of time and resources required to fulfill the goal.
* A list of the deliverables to be expected (tools, docs, materials, etc).
* A calendar for brown bags/internal presentations to review increments with the whole company.
* If and how the company is expected to support the initiative deliverables, during the quarter and in the future (say, open source contributions etc).
* A list of outward-facing material to communicate how your initiative is making a difference, such as blog posts, events speeches or the maintenance of open source contributions.

While the initiative should be completed in the quarter, the ownership won't stop there: communication, promotion and ongoing maintenance may last longer; owners are thus expected to commit to the initiative for a longer period than the initial quarter.
87 changes: 67 additions & 20 deletions content/organization/operations.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,82 @@
/*
Description: Operational roles and functions in SparkFabrik
Sort: 10
Sort: 20
*/

In SparkFabrik the term _developer_ is used generally to identify employees that deliver solutions to the customer.
It doesn't matter if your job is to write code, design a new interface or take care of the operations on a cloud appliance. Your job is still to _develop_ things: be it from scratch or to improve them.
## Company structure at the operational level

## Careers
The operational level is separated into three distinct areas:

Operational career paths expand vertically (_Growth_) and horizontally (_Specialities_).
### Platform

### Growth
The employees in this area are responsible for implementing, maintaining, and evolving cloud infrastructures and development platforms, for both the company and external customers.
They also also work as an internal service team, and deliver expert consulting services to those customers who want to implement in-house DevOps and cloud-native practices.

We recognize four levels of professional skills, depending on seniority and level of proficiency. Each level has its salary bracket, mission and clear expectations. Developers [progress over this career path](/working-at-sparkfabrik/career-advancement.md) by their length of service, their results and by nurturing their technical and non-technical skills.
The Platform area also works to bring innovation at all operational levels, suggesting the creation and adoption of new technologies, creating new business lines, and enhancing the efficiency of the existing ones.

* **Junior developer**: this is the level where duly graduated people or developers already experienced in other technologies start. We expect people to quickly step up to the next level, ideally in 12 to 36 months of employment.
* **Senior developer**: this is the level that makes up the bulk of our company and that we heavily rely upon. People at this level are skilled at and proficient with both our technology and our methodology. They can mentor juniors and are autonomous in their work.
* **Lead developer**: these are the people that lead teams and projects in SparkFabrik. They have a senior-level background on top of which they developed the soft skills required to handle the social, technical and organizational complexity of our work.
* **Professional**: this is the highest operational role in SparkFabrik. Professionals embody a speciality, can work with one or multiple teams at once, represent SparkFabrik at important tables, provide training and mentorships, etc. Professionals may occasionally lead a team, but they are supposed to work cross-teams as reference/key people.
### Digital Strategy

Learn more about each [role accountabilities](/organization/roles-accountabilities).
The employees in this area deliver discovery, analysis, strategic ideas, and plans, aimed at the cooperative assessment of the customers’ needs, as well as the co-creation of viable solutions measurable with precise KPIs.

### Specialities
They work primarily during the pre-sales phases, cooperating with different professional figures as creative directors and tech leaders, to help shape great early propositions. The output of their delivery activities is often input to UX experts, UI designers, and development teams.

We explained that SparkFabrik only employs _developers_. Sure, there are differences and each person has their own natural or acquired inclination. We broadly recognize four _Specialities_ that qualify you as a developer and do our best to make you shine in accordance with your nature. During your career, you will probably cover more than a single speciality, even at the same time.
### Development

* **Analyst**: Analysts are great when it comes to mapping a domain, fathoming complexity and expressing it in a clear, rational, understandable form. Analysts may not always have a solution at hand but they certainly know when a need is fulfilled or a problem is solved. Analysts' skills make for great Product Owners.
* **Architect**: Architects describe the best possible solution to a framed problem. They are great decision makers, understand the long-term implications of technical choices, know how to quickly probe, understand and adapt and are always able to grasp the big picture.
* **Specialist**: Specialists are vertical experts in a certain discipline or area: be it writing software, cloud operations, Agile or UX design. They are the keenest to work in pair with project teams in the long run when there are critical challenges they can help overcome.
* **Manager**: Managers make things work. They coach, measure, plan, steer and ultimately support people to give their best, remove obstacles and improve their processes and procedures. In SparkFabrik people are never managed -- work is. So managers govern but never rule.
The employees in this area are responsible for implementing, maintaining, and evolving solid cloud-native web and mobile solutions, following different agile organizational patterns and DevOps practices.

## How to advance
They work in self-organizing, cohesive teams, with different technology stacks and with a strong accent on quality.

We track and rule [people career advancement](/working-at-sparkfabrik/career-advancement.md) to make it fair and clear to everybody.
The Development area is broadly organized into three branches, based on expertise:

* **PHP and Drupal**
* **Frontend Technologies**
* **Full-Stack Cloud-Native**

Each of these branches contains one or more teams focused on specific projects or tasks related to evolutionary maintenance. These teams tend to remain consistent, with occasional shifts of team members among them.

## Roles and seniority at the operational level

SparkFabrik has an almost flat organization, arranged around clear roles, each with its ownership and responsibilities.
Also, people grow in seniority and this grants them more authority on specific issues or in specific situations.

Every [operational area](/organization/operations) has its seniority levels, while project roles are common to every area, even if some may not be relevant or applicable.

### Seniority Levels

#### Development Area

We recognize four levels of professional skills, each with its salary bracket, mission, and clear expectations.

* **Junior Developer**: this is the level where duly graduated people or developers already experienced in other technologies start. We expect people to quickly step up to the next level, ideally in 12 to 18 months of employment.
* **Developer**: this is the level that makes up the bulk of our company and that we heavily rely upon. People at this level are skilled at and proficient with both our technology and our methodology. They can mentor juniors and are autonomous in their work.
* **Senior Developer**: seasoned professionals with a demonstrated track record of excellence and around 5 years of comprehensive experience in software development. They play a vital role in SparkFabrik, moving with ease across different technologies and projects.
* **Lead Developer**: these are the most skilled developers in SparkFabrik. They have a solid senior-level background on top of which they developed the soft skills required to handle the social, technical, and organizational complexity of our work.

Learn more about [each level's accountabilities](/organization/accountabilities) and how we evaluate people's seniority level.

#### Platform Area

We recognize three levels of professional skills, each with its salary bracket, mission, and clear expectations.

* **Practitioner Cloud Engineer**: novices to the field of cloud-infrastructure management, usually with previous experiences in development or traditional operations. We expect practitioners to quickly step up to the next level, ideally in 12 to 18 months of employment.
* **Practitioner Cloud Engineer**: people at this level are skilled at and proficient with a bunch of different cloud technologies and have absorbed our methodology. They can mentor newcomers as well as developers and are autonomous in their work.
* **Architect Cloud Engineer**: experienced professionals with diverse exposure across various cloud platforms and technologies. They can take on complex projects independently, engaging with the client and coordinating the work of their colleagues.

Learn more about [each level's accountabilities](/organization/accountabilities) and how we evaluate people's seniority level.

#### Digital Strategy Area

`TO BE DONE`

### Project Roles

Depending on seniority, attitude, achievement, and personal inclinations, SparkFabrik may propose people take over one or more of the following roles on a project. Not all roles are accessible at all seniority levels and more junior employees should not expect to be assigned one.
Being appointed a project role means **you earned the company's and teammates' trust**, you proved your **reliability** and you display a strong **customer orientation**.

These roles are not mutually exclusive, even if covering all at the same time is usually unfeasible, and not all projects need all of these roles to be clearly appointed.
To better understand the relation between seniority level and project roles in terms of professional growth, visit the section on [career advancement](/working-at-sparkfabrik/career-advancement).

* **Analyst**: Analysts are great when it comes to mapping a domain, fathoming complexity, and expressing it in a clear, rational, understandable form. Analysts may not always have a solution at hand but for sure they know when a need is fulfilled or a problem is solved. If need be, analysts' skills make for great product owners.
* **Architect**: Architects describe the best possible solution to a framed problem. They are great decision-makers, understand the long-term implications of technical choices, know how to quickly probe, understand and adapt and always grasp the big picture.
* **Team Leader**: Team Leaders excel at enabling teams, coordinating efforts, and ensuring project milestones are met. Focused on the outcomes, they drive, motivate, and keep the team committed to the project's success. They ask hard questions, suggests alternative paths, and apply a good deal of common sense to risk management.
* **Project Manager**: Project Managers make things work. They coach, measure, look ahead, warn, and ultimately support people to give their best, removing obstacles, and improving their processes and procedures. In SparkFabrik people are never managed - work is. So Project Managers govern but never rule.
Empty file.
Empty file.
Empty file.
Loading

0 comments on commit 213acea

Please sign in to comment.