Software team


Staff Engineer(or Principal Engineer or Tech Lead):

On the technical side, the biggest difference is a staff engineer is able to identify and solve a technical problem that few others can. Specifically:

  • Be able to implement the hardest part of a system/product
  • Be able to ship high-quality work with best practices, like proper testing, well-planned rollout, and monitoring
  • Be able to lead the effort of setting the direction for the team, like new season roadmapping
  • Be able to spot the biggest pain point of the system/product/org and propose solutions. A solution with a clear deliverable and milestones and could take multiple years to implement.
  • Most importantly, in addition to demonstrate the capability of leverage XFN’s colleagues(DS/design/PM/etc..). Staff Engineer also should be able to assess & validate their outputs.

On the “People Skill” side, a staff engineer should:

  • Be a strong communicator, in both oral and written form
  • Be able to leverage resources that are not assigned to the team
  • Be able to recruit and onboarding new team member, both junior and senior
  • Be able to influence org’s engineering culture, like adopt latest/best coding practice


Senior Engineer

On the technical side, a senior engineer should:

  • Be able to design, breakdown, and complete a project of a large scope with high-level productivity
  • Proactively find problems of existing system/product without guidance and offer solutions
  • Be able to lead a project with a small group of people, such as hosting weekly meetings, communicate with other partners in written forms

On the “People Skill” side,

  • Make contributions to improve the engineering team. For example, activities like interviewing, or mentoring
  • Be able to give on-point and actionable feedback to peers
  • Be able to build X-teams and XFN relationships which will facilitate ongoing projects

Junior Engineer

On the technical side, this level’s engineer should be able to:

  • Understand codebase and drive assigned request to improve it, such as migrating it to modern frameworks and adding missing tests
  • Design well-organized code
  • Independently complete medium to large features

On the “People Skill” side, there are not many requirements. The most important thing to demonstrate the capability of accomplishing tasks with other disciplines(design, PM, analyst).


Frontend engineers


Mobile engineers


Backend engineers

使用程式語言撰寫,在後端伺服器上運作的商業邏輯、資料庫處理和提供 API 給前端開發人員。

測試工程師(Test engineer or QA engineer (TE or QA))


雲端工程師(Cloud Engineer):

雲端工程師是使用虛擬化軟件和雲端技術,規劃、設計和保養大型電腦的基礎網絡的人,能幫助新創公司迅速穩固市場。 雲端工程師的工作內容,簡而言之為監督和監控數據中心,或辦公室雲端網絡系統的安裝和提升;以及評估現有雲端網絡,並向管理層提議新設備,以優化服務表現。


%d 位部落客按了讚: