Skip to content

Latest commit

 

History

History
286 lines (215 loc) · 20 KB

Engineering.md

File metadata and controls

286 lines (215 loc) · 20 KB

Engineering Roles

Graduate Engineer

I am a committed student of the values and beliefs of Loan Market.

I write good quality code that can be shipped to production.

  • I am learning how to segment tasks into deliverable units of work.
  • I am learning that I need to own my work all the way to production.
  • I am competent with the tools and core building blocks used by our team.
  • I understand the testing pyramid and am learning to choose the correct method for each circumstance.
  • I am a student of defensive programming.
  • I am learning about the infrastructure my code runs on.

I show great enthusiasm and initiative.

  • I am self-directed in my learning of technologies that interest me and seek guidance on technologies I should learn to progress my career.
  • I am a good citizen in the developer community, following the processes and patterns created by my peers.
  • I am not afraid to provide my thoughts and insights to the team.
  • I am professional and friendly to all my team members and fellow employees.

I am an egoless, team oriented developer.

  • Other team members genuinely want me on their team.
  • I am ready to receive feedback from my peers about how I can improve.
  • I am learning I cannot go dark. My team needs to know what I am doing and when I am stuck.
  • Even when I disagree with something I continue to work enthusiastically, learning from the others in the team.
  • My contributions to team discussions are net-positive, informative and helpful.

Engineer

I am a valuable, enthusiastic and net-positive member of the team.

I write high quality code quickly and ship it to production.

  • I write code with testability, readability, edge cases and errors in mind.
  • I own my work all the way to production. I understand how to release a change behind a feature flag.
  • I am learning how to interpret and clarify technical and business requirements.
  • I am learning to tame complexity when building software products.
  • I am learning how to qualify and reduce technical debt.
  • I am learning how to write valuable automated tests.
  • I am becoming proficient with my tools and the core building blocks used by our team.
  • I am learning how to stand up a build and delivery pipeline.

I am recognised by my desire to learn and my motivation to improve.

  • I am an active member of the developer community.
  • I am learning, maybe through a variety of ways like reading books, reading code, trying and shipping ideas, undertaking certifications, watching online courses, attending conferences or user group meetings.
  • I am discussing the things I'm learning about or experimenting on with my teammates, maybe even collaborating on the experience.
  • I am a self-managing team member.

I am an egoless, team oriented developer.

  • Other team members genuinely want me on their team.
  • I happily take responsibility for what I produce.
  • I expect to receive feedback from my peers about how I can improve.
  • I am learning to give respectful feedback to all my peers, including my leaders.
  • I avoid going dark and I know when to call out for help.
  • I communicate professionally and keep stake holders engaged at all times.
  • I am well aware of all processes of the team and diligently follow them.
  • Even when I disagree with something I continue to work enthusiastically, learning from the others in the team.
  • Every venture has mundane tasks and I work happily and diligently through them.
  • My contributions to team discussions are net-positive, informative and helpful.
  • I am always prepared to be a rubber duck.

Senior Engineer

I am a highly sought-after member of the team with a proven record of shipping high-quality code to production.

I am trusted to develop a solution from an initial idea through to production.

  • I consistently write code with testability, readability, edge cases and errors in mind.
  • I promote behaviours that allow the team to release, monitor and debug a feature in production.
  • I can interpret and clarify technical and business requirements.
  • I am comfortable creating a baseline feature or repository from scratch for others to build on.
  • I am proficient with my tools and the core building blocks used by our team.
  • I know how to make pragmatic decisions in order to ship a feature.
  • I am comfortable standing up a build and delivery pipeline.
  • I am able to persuade people on the pros/cons of a given technical design approach.

I am a technical mentor.

  • People tend to ask me for my opinion when making technical decisions because I have a proven track record of making wise choices.
  • I am fuelling the team's desire to learn, perhaps by mentoring, running sessions, sharing useful articles.
  • I use code reviews as an opportunity to teach and show others alternate, cleaner ways to implement functionality in an ego-less manner. That way the whole team together learns how to deliver a higher quality, more maintainable product.
  • I can manage difficult conversations and tactfully challenge others, leaving them with a positive impression of myself and the team.
  • I can effectively coach people and pass on my knowledge.
  • I am a confident and proficient teacher of my craft.

I am focussed on the success of the team, without the need to boost my ego.

  • I add value to my team by being a trusted, proactive supporter of my team and its leadership, and by delivering high quality work with a minimum of fuss.
  • I seek to understand the real needs of our customer's and am comfortable building requirements and technical recommendations off those.
  • I recognise problems early and get in and fix them regardless of whose fault it is.
  • I am good at recognising problems outside the scope of my work and eagerly get involved in improving our product, our environment and our processes.
  • I happily tackle all problems regardless of difficulty, and I support my team by solving them in a pragmatic way.
  • Every venture has mundane tasks but I'm the one that can be trusted to get them done, and get them done right - usually with a sprinkle of ingenuity.
  • I recognize and accept that change is constant, and my approach allows me to tactfully challenge, or confidently adapt, depending on which I deem appropriate.
  • I have proven I can decompose larger requirements into smaller, more manageable pieces, to deliver functionality in an incremental and iterative manner.
  • I possess writing skills that let me be clear, concise, articulate and persuasive in all of my outgoing communications.

I've become a student of my craft.

  • I am devoted to learning; it's become a natural part of my life.
  • I am actively introspective and take time to work on my personal and professional development.
  • I happily take responsibility for my own mistakes and I learn from the mistakes of others.

Principal Engineer

I am a well-rounded developer, architect, problem solver and leader of people. I aspire to have engineering and behavioural excellence.

🔀 This role starts the Domain Expert track. The sub-branches of Principal Engineer are:

  • Architect: Engineering and software architecture excellence
  • Business Analysis: Business solution design and strategy

I am trusted to lead a team and take an idea all the way to production with little supervision.

  • I am emerging as a leader of people.
  • I can confidently step outside my comfort zone and adapt quickly to new team situations.
  • I am comfortable diving head-first into moderately risky environments with relatively little upfront information and oversight.
  • I am comfortable with transparently assessing risk, making recommendations, escalating appropriately and dealing with the consequences along the way.
  • I am proficient at leading software projects using agreed practices.
  • I can confidently and charismatically pitch ideas and influence my teams decisions.
  • I am an adept communicator, and can effectively steer technical and non-technical conversations to positive outcomes over any medium.

I help our team focus on delivering value.

  • I invest in sustainable delivery, maintaining professional standards and striking a pragmatic balance between idealistic purity and business pressures.
  • I am typically the first one to take responsibility for reducing waste in our process.
  • I am comfortable performing business analysis work. I help Product and Engineering Managers to clarify their vision and help turn it into a roadmap and then pitches, collaborating with them to reach a shared understanding of what should and can be built.
  • I recognise problems with my team and proactively engage with relevant leaders as needed to prevent or resolve them quickly.

I am adaptable

  • I realise that there are many tools that can solve a given problem and each have their own pros and cons.
  • I can adapt to a given situation and can learn and implement new technologies with very short notice.
  • I know that my knowledge will soon be obsolete so I'm actively investing in other areas or technologies into which I can grow.

I am emerging as a thought leader in technology and architecture.

  • I have a wide understanding of software development technology and practices, backed by extensive practical experience.
  • I am confident making architectural decisions taking concerns like infrastructure, identity management, security, scalability, performance, concurrency and maintainability into consideration.
  • I can apply my technical abilities to productively solve business problems with confidence and pragmatism.
  • I use my skills, speed and knowledge to help my team be very productive.

I am investing back into Loan Market.

  • I am becoming a trusted voice in Loan Market and my opinions and ideas seem to carry some weight.
  • I am mentoring another team member, deliberately helping them to round out their skill set.
  • I am sharing my on-the-job learning and experiences with others so they can be more effective in their roles.
  • I am involved in initiatives beyond developing software.

Lead Engineer

I am a well-rounded developer, architect, problem solver and leader of people. I am trusted to lead teams to deliver a small number of pitches from inception to their successful completion.

🔀 This role is the start of the Management track.

I am becoming a respected and trusted leader of people.

  • I am emerging as a leader of people.
  • I can confidently step outside my comfort zone and adapt quickly to new team situations.
  • I am comfortable diving head-first into moderately risky environments with relatively little upfront information and oversight.
  • I am comfortable with transparently assessing risk, making recommendations, escalating appropriately and dealing with the consequences along the way.
  • I can confidently and charismatically pitch ideas and influence my teams decisions.
  • I am an adept communicator, and can effectively steer technical and non-technical conversations to positive outcomes over any medium.

I am learning to be a servant leader for my team.

  • I am prioritising the needs of my team members above my own, knowing that their success is our success.
  • I am learning to reliably deliver successful projects by applying good practices when leading teams.
  • I am focussed on helping my peers grow, sharing what I have learned and encouraging others to do the same.
  • I facilitate ongoing, net-positive and productive communication in the team.
  • I participate and have a strong voice in the hiring of new team members.

I am emerging as a driver for technical and business opportunities.

  • I am looking for new opportunities and thinking beyond what we are creating today.
  • I am comfortable with building a product vision with a Product Manager and Engineering Manager based on the business needs, regardless of whether this involves technology or otherwise.
  • I know we need to be able to measure performance and progress in the team and in the adoption of our software. I am constantly looking for ways to understand what we have achieved.

I am investing back into Loan Market.

  • I am becoming a trusted voice in Loan Market and my opinions and ideas seem to carry some weight.
  • I am mentoring another team member, deliberately helping them to round out their skill set.
  • I am sharing my on-the-job learning and experiences with others so they can be more effective in their roles.

Principal Architect

I epitomise and embody engineering and behavioural excellence that Loan Market aspires to. I have a wealth of experience and readily share it with all teams, both technical and non-technical.

I am a respected and trusted leader.

  • My influence and guidance positively affects teams and individuals both inside and outside of Loan Market.
  • I use my soft skills to bring out the best in both our people and our customers and encourage them to grow.
  • I'm not afraid to have difficult conversations when needed, and do so with tact and care.
  • I know when and how to apply different coaching and mentoring techniques, understanding the maturity level of those I'm helping.

I am a safety net for both our engineering teams and customers.

  • People value my opinions and ideas. They come to me for advice knowing I will empathise with them and understand their situation before providing options to them.
  • I have a demonstrated preference to help people discover solutions to problems for themselves first, before giving them guidance.
  • I am a good sounding-board and proactively broaden the perspective of teams and individuals with whom I'm working.
  • I know how to identify potential issues and will take action to head them off before they eventuate, whether they be technical, requirements or people based.
  • I am confident handling situations where we have made mistakes and working towards outcomes that are acceptable to the team and our customers.

I am someone who can talk through technical problems and facilitate a great result

  • I can communicate with other leads and architects at a high level but also delve as deep as the problem requires.
  • I can position the pros and cons of different solutions in terms of business costs and benefits rather than technical purity.
  • I understand that technical solutions are not always the best solution to a problem and that we are a solution provider not a technology provider.
  • I ensure the right people are at the table when discussing potential solutions to ensure collective consideration, adoption, and ownership of solutions.

My investment back into Loan Market is a significant part of our success.

  • I am a trusted voice in Loan Market and my opinions and ideas carry some weight.
  • I identify and build support for technical initiatives that address Loan Markets most important needs.
  • I take time to reflect on our identity, our people and our culture, and the way in which we work. I think of ways in which we can improve ourselves, engage others to validate those ideas and then invest time in implementing them.
  • I recognise that the value I bring to the company is different to the broader engineering team and that the interactions I have with people is critical to our collective success.

I am always learning, always teaching, always collaborating.

  • I am constantly looking for opportunities and ways to impart my knowledge to others.
  • I may be a highly regarded engineer but I don't know everything, even when my ego wants to pretend I do. I am comfortable showing that I still need to learn and will visibly collaborate, seek help, get advice, and undertake mentoring as needed.
  • I am an information sponge, always staying abreast of advances in the software development ecosystem.
  • I know that my knowledge will soon be obsolete so I'm actively investing in other areas or technologies into which I can grow.
  • I am proficient at delivering software products using good practices.

Engineering Manager

I am trusted to autonomously lead people through any engagement with a proven record of delivering pitches from inception to their successful completion.

🔀 The sub-branches of Engineering Manager are:

  • Architect: Engineering and software architecture excellence.
  • Business Analysis: Business solution design and strategy.
  • Leadership: Problem solving and operational excellence.

I am a deeply respected leader of people.

  • My influence and guidance positively affects teams and individuals both inside and outside of Loan Market.
  • I use my soft skills to bring out the best in both our people and our customers and encourage them to grow.
  • I'm not afraid to have difficult conversations when needed, and do so with tact and care.
  • I set clear expectations for people and they know how they are progressing against those expectations. I create bounded environments for action and let people have freedom within those boundaries.
  • I know when and how to apply different coaching and mentoring techniques, understanding the maturity level of those I'm helping.
  • I am able to provide perspective for those I'm serving by reminding them of the big picture when they get stuck in the details and day to day of solving problems.

I know the pressures of being a key leader.

  • I know how to identify business problems/goals and evaluate the ROI and TCO of potential solutions.
  • I understand how budgeting, competition, strategic alignment and compliance pressures can influence technology decisions and am able to adjust proposed solutions based on those factors.
  • I understand the bigger picture of how software development, compliance, marketing and other business departments all interrelate and influence the success of a business.
  • I know how to adjust my communications style based on my audience, from support to engineer to sales and marketing to C-level executives and business owners.
  • I know the impact of internal politics in organisations and how it can alter decision making processes. I work to minimise any such activities and proactively display a culture of ownership and inclusion.
  • I know what is required to bring about organisational change, and when enough trust has been established to broach such topics with others.

I am a servant leader for my team.

  • I am prioritising the needs of my team members above my own, knowing that their success is our success.
  • I am an outspoken advocate of my team. They can trust me to be the first line of defence.
  • I know the buck stops with me. At the end of the day I am responsible for my team and the relationship with our peers and customers.
  • I actively track the progress of our team, keeping the goals of our projects and our constraints front of mind. I make this information visible and transparent internally and externally to minimise 'surprises' and to facilitate early and pragmatic problem resolution.
  • I have a track record of delivering successful projects by applying good practices when leading teams.
  • I don't mind making the coffee or picking up the pizza for everyone in the team.
  • I understand culture is held in our people. I am proactive in hiring for good culture fit and attitude as much as skills.

I am a driver for technical and business opportunities.

  • I am looking for new opportunities and thinking beyond what we are creating today.
  • I don't rely on the Product Manager to define the roadmap and set objectives. I am constantly asking questions and looking for ways to improve our intentions.
  • I listen to the team but advocate for more. I look to change negative attitudes into positive plans of action.

I am investing back into Loan Market.

  • I am a trusted voice in Loan Market and my opinions and ideas carry some weight.
  • I am helping steer the public and private conversations within the business towards positive and productive outcomes.
  • I represent the interest of my team and the technology group as a whole to the wider business.
  • I am involved in initiatives beyond developing software.
  • I take time to reflect on our identity, our people and our culture, and the way in which we work. I think of ways in which we can improve ourselves, engage others to validate those ideas and then invest time in implementing them.