- you need to own your own career, because no one else will guide you.
- personal responsibility and initiative => trustworthy professional => grow and advance.
- We write a lot of code.
- We debug code (analyze why things are going wrong).
- We work normal-ish hours.
- We coordinate with other engineers, product managers, customers, operations teams, and etc.
- We write frequently for humans: design proposals, status updates, defect posmortems.
- We solve problems with a vector of skills built:
- Coding: Clarity, testing, documentation, discipline in scope of diffs.
- Project management: Identifying dependencies, updating stakeholders, tracking tasks.
- Communication: Clear emails, engaging presentations, evangelizing our ideas.
- Personal organization and time management: Not dropping balls, prioritizing effectively.
- Architecture: The macroscopic design of systems.
- Leadership/mentorship: at a level appropriate to their position.
- Emotional skills: Empath, confidence, stree management, work-life balance.
- We enjoy benefits
- Money
- Respect
- Title
- Fulfillment, pride, and a sense of purpose
-
Reason about business value
- Your job isn't just to write code; your code is to make good decisions and help your company succeed, and that requires understanding what really matters.
-
Unlock yourself
- Your job is to figure out how to create value with your efforts.
-
Take initiative
- Own your team's and company's mission.
-
Improve your writing
- Crisp technical writing => eases collaboration and improves your ability to persuade, inform, and teach.
-
Own your project management
- Understand the dependency graph for your project, ensure key pieces hava owners, write good summaries of plans and status, and proactively inform stakeholders of plans and progress.
- Practice running meetings.
-
Own your education
- Find a way to make learning part of your daily life; get one mailing lists, find papers and books, find papers and books that are worth reading, and read the manual cover to cover for technologies you work with.
-
Master your tools
- e.g., editor, debugger, compiler, IDE, database, network tools, and Unix commands.
-
Communicate proactively
- Well-organized communication => confidence, goodwill in collaborators.
- Knowledge sharing => learning and camaraderie.
- Set a regular cadence of informing stakeholders on project goals, progress, and obstacles.
-
Find opportunities to collaborate
- Good collaboration => increases your leverage, improves your visibility in your organization => have an impact.
- Cross-functional projects => critical.
-
Be professional and reliable
- Come to meetings on time and prepared, then pay attention.
- Deliver what you say you will, and communicate proactively when things go wrong (they will).
- Show your colleagues respect and appreciate.
- Minimize your complaining; bring the peole around you up, not down.
-
Your Relationship with Your Employer
- Your company will never do anything for you out of sentiment.
- Your company doesn't owe you education, career development, a raise, or a long-term guarantee of employment.
- Everything your company does is business, not personal, and you shouldn't take it personally.
- You don't owe your company your personal loyalty.
- When you want something from your employer, you should approach it calmly, as a negotiation between two business.
- => mutually beneficial relationship.