Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Add v2 career development expectations to handbook #226

Merged
merged 3 commits into from Mar 27, 2019
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file or symbol
Failed to load files and symbols.

Always

Just for now

@@ -1,5 +1,3 @@
require_relative './shared_expectations/core_engineer_expectations'

JobSpec::Role.definition 'Academy Engineer' do
description 'Our software delivery teams are the core of our business. They are usually comprised of a Lead Engineer, a Delivery Manager and one or more Engineers. As an Academy Engineer we expect someone:'

@@ -1,5 +1,3 @@
require_relative './shared_expectations/core_engineer_expectations'

JobSpec::Role.definition 'Engineer' do
description <<~DESCRIPTION
Our Engineers build software that makes our customers happy, they prefer problem solving over task completing, love learning from colleagues, and constantly strive to be nice humans.
@@ -50,14 +48,99 @@

salary 30_000..50_000

expected 'to autonomously deliver working software',
'We expect our Engineers to be able to work on entire features, from conception through to production deployment, without guidance and direction from others. This doesn\'t mean they have to be delivered without pairing, or asking advice from the wider team. What it does mean is the primary force for ensuring the feature is built and deployed in a timely fashion is the responsibility of the Engineer working on the problem.'
expected 'To collaborate with Reliability Engineers as appropriate',
""

expected 'Within the context of a single code-base to be contributing sensible and well justified software architectural decisions on a daily basis with a preference towards simple & maintainable designs.',
""

expected 'To be able to autonomously deliver working software',
"We expect our Engineers to be able to work on entire features, from conception through to production deployment, without guidance and direction from others. This doesn't mean they have to be delivered without pairing, or asking advice from the wider team. What it does mean is the primary force for ensuring the feature is built and deployed in a timely fashion is the responsiblity of the Engineer working on the problem."

expected 'To be able to build robust, maintainable interactive web-based frontends with an (appropriate amount of) focus on delivering a good user experience',
""

expected 'To be working towards achieving the Made Tech Core Skills',
"We expect our Engineers to be honing their craft, practising at every opportunity and consistently making progress towards attaining all the Made Tech Core Skills."

expected 'To continuously seek out understanding of user needs and context, and contribute appropriate course corrections to plans throughout the delivery of software ',
""

expected 'To be continuously working at a sustainable pace, with an aim to commit to an appropriately sized amount of work',
""

expected 'To be able to take a report of defect in a live system from a stakeholder and triage the impact and scope appropriately',
""

expected 'To be able to resolve defects by leveraging existing test suites, production monitoring tooling and debugging techniques',
""

expected 'To be continuously building an appropriate level of security into working software',
""

expected 'To be continuously seeking to automate repetitive manual tasks',
""

expected 'To be aware of political landscapes within client organisations and to be considerate of it. ',
""

expected 'To continuously practice TDD, including small incremental refactorings throughout the process of delivering software, with the intent to ensure low cost of change',
"We expect our engineering team to practice TDD discipline to a high standard. This is not something we simply pay lipservice to, we expect it to be a default in every engineer' day to day"

expected 'To continuously translate user needs into fast, maintainable, automated high-level tests as appropriate',
"We expect our engineering team to write high-level tests, ideally as part of an Acceptance-Test Driven Development discipline."

expected 'To be able to productively pair with colleagues, and to pair when it is appropriate to do so',
"We expect our engineering team to be friendly and lovely people to pair with. All pairing dynamics are different, sometimes you will be pairing with someone with less experience, sometimes you will have the same experience. Adjusting the speed of your work to accomodate for your pair is important and special care must be taken when mentoring/coaching those with less experience. No matter who you are pairing with you must take turns to compromise when your opinions differ."

expected 'To communicate with customers without reminder.',
"We expect our engineering team to keep their customers up to date with progress. Customers should be invited to standups or at appropriate points in time. A customer should never have to chase us for an update."

expected 'To be productive, in at least one programming language including a range of different tools that achieve the same goal in that language ',
"We expect our engineering team to understand that there are multiple tools available to achieve the same task at hand, and to explore these options in at least one language."

expected 'To keep the team updated on current work in progress, including any blockers or potential risks, making use of any tooling the team has chosen.',
"We expect our engineering team to keep their fellow team members up to date with their progress. A good litmus test for this is everyone on the team can describe what their team mates are up to."

expected 'To be responsible for the security of devices used for work',
"We expect our engineering team to understand how to secure the devices they use for work including work issued laptops, personal computers, mobile phones, and other electronic devices. We expect invididuals to ensure they adhere to our security guidelines upon setting up devices and to ensure that their machines are compliant at all times."

expected 'To be involved in improving software delivery practice at Made Tech',
"We expect our engineering team to reflect on our practices and be a proactive voice in suggesting change. We expect you to be reflecting on your own development practices, reflecting on your team and the wider business."

expected 'To request peer reviews',
"We expect our engineering team to always have their code peer reviewed at the least by one other person before merging. It's the responsibility of the code author to ask their colleagues to review and to merge the code in a timely fashion."

expected 'To be producing sensible lightweight release plans with an aim to get the thinnest slice possible in the hands of real users as quickly as possible, involving the team and stakeholders where appropriate.',
"We expect our engineering team to be actively form sensible strategies to get thin slices released to real users, and to have alignment on this strategy with the customer and with the team."

expected 'To be practicing continuous integration of code, making frequent small incremental changes to the code base, decoupling deployment from release as appropriate',
"We expect our engineering team to be practicing continuous integration, and to consider decoupling release from deployment, if required and appropriate."

expected 'To take an equal share in owning the facilitation of team ceremonies, with a focus on ensuring that they are held regularly and are following any rules that the team has agreed to.',
"We expect our engineering team to ensure team ceremonies such as planning, retrospectives, and standups happen on a regular basis and to be guardians of any norms that have been agreed to by the team."

expected 'To be responsible for releasing working software to real users',
"We expect our engineering team to own the whole process of getting working software in front of real users, this means from writing the code through to deploying and actively seeking feedback."

expected 'To provide meaningful and considerate peer reviews for others',
"We expect our engineering team to provide feedback that makes code safer, easier to maintain and advances the knowledge of the original author. We expect everyone to negotiate and compromise when making a call on whether feedback should be addressed or not."

expected 'To be willing and able to pick up new programming languages, technologies and techniques',
"We expect our engineering team to be open to learning new languages and to see it as an opportunity to broaden skills rather than something to be fearful of. We expect our engineers to be curating their generalist skillset to aid in picking up new languages."

expected 'To be able to turn user needs into actionable technical tasks that can be delivered incrementally',
"We expect our engineering team to be able to turn ideas into technical tasks."

expected 'To be contributing your honest opinion to the team, in a respectful way, even if it conflicts with more senior members',
"We expect our engineering team to work as a team. That means we need our engineers to actively work to combine their knowledge, skill and opinions with that of the whole team."

expected 'to be fully billable',
'We expect our Engineers to significantly contribute to customer deliveries, to justify billing their time. Without billing customers, Made Tech isn\'t a sustainable business.'
expected 'To be continuously applying a lean and iterative approach to solving problems',
"We expect our engineering team to embody a lean-mindset, solving problems by delivering early and often. We expect our engineers to actively seek out more effective ways to achieve this."

expected 'to be working towards the Made Tech Core Skills',
'We expect our Engineers to be honing their craft, practising at every opportunity and consistently making progress towards attaining all the Made Tech Core Skills.'
expected 'To keep timesheets up-to-date and submitted before invoicing deadlines',
"We use timesheets to invoice our customers, and it is important that we are able to send accurate invoices to our customers. We expect you to keep your timesheets up-to-date and to have submitted them before any invoicing deadlines."

include CoreEngineerExpectations, as: 'Core Engineer Expectations'
expected 'To continuously make proactive improvements to the way Made Tech operates by first getting advice from impacted people and making the change',
"We expect everyone to evolve the way Made Tech operates. By involving everyone who is impacted by a change, it is possible for everyone to make improvements."
end
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.