Reading notes for book Complete Software Developer Career Guide
Leave Your Job
- Never complain and never explain
- Anyone is replaceable
- Give two weeks notice
- Have some assumptions about problems before starting on it
- Create unit test for verifying
- Verify the fix and write regression test for it
- Don’t rely on Debugging tools
Coworkers who don’t work
- Don’t do anything with them, mind your own business
Dealing with Boss
- Core idea: make your boss’s life easier
- Anticipate the need of your boss
- Get shit done without having to be asked
- Self-reporting: create a weekly report each week detailing out what they worked on during the week
- Create a weekly report
- Take responsibility for the other members of your team and the team as a whole
- Be the person your boss can count on to resolve problems and move the project forward and you’ll be regarded as an extremely valuable asset
Work life balance
- Blur the lines so that everything becomes life
- Dress two-levels up
- Style your hair and do make-up
- Create contradiction with your personality and your dress up
- Add your style to the dress up
- An exceptional software developer is a developer who makes everyone else around him better, and improves the ability of his entire team.
- Don’t work solo. Instead, work with your team member. You need to let other team members know what you are working on and any issues you are encountering so that you can benefit from and contribute to the collective knowledge and ability of the team.
- Healthy conflict comes from communicating opposing ideas or dealing with issues in ways that don’t directly personally attack the other person
- Once you’ve created your plan for the year and outlined your goals and areas to work on, you should be checking in with your boss on how you are progressing, at least once every two weeks, and preferably once a week. if anything on your annual review or anything your boss says about your annual review is a shock to you, you’ve already messed up.
- Have clear goals, make them known. Tell your boss what you are trying to accomplish and ask what you need to do to achieve it
- Track and document your progress: Document everything you can that shows you are meeting those objectives and/or moving towards them.
- Build your case: Your boss, and especially his higher-ups, aren’t going to know about all the great things you’ve been doing. You have to tell them.
- Rate yourself trap: First, if you can refuse to rate yourself, do it. Second, Rate yourself as highly as possible in all areas but your weakest one and give yourself one mark below perfect there. Don’t harm yourself
- Peer ranking: Give them all perfect reviews and say plenty of good things about them. So, even if your peers suck and deserve to be fired, unless you are the actual boss in charge of firing, don’t be the sucker who brings them down.
- Know and realize that everyone including you has some deep-seated prejudices
- The best way to deal with other people’s prejudices, especially when they are against you, is to accept them.
- Get in there, mix it up, talk to people, and interact with people who aren’t “your people.”
- give a fuck about too many things
- I’ve got too many important things to worry about and do with my life than to waste time and emotional energy caring about stuff that doesn’t really matter.
- Report what you can’t ignore
- Report with evidence
- Leadership is all about getting people to follow you into your vision of the future, to go the direction you are going, to follow the path you have set out.
- leadership seeks to win their hearts and minds, and in turn, inspire loyalty rather than fear.
- The best leaders do what they ask of their team first.
- Teams tend to take on many of their leader’s traits,
- whatever you expect your team to do, you have to expect that same thing from yourself and more.
- your most important job as the leader of a team is to make as many people around you as successful as possible.
- You have to take responsibility, not only for your own mistakes, but for the mistakes made by everyone else on your team.
- To be an effective leader you have to be able to delegate jobs to workers. Make sure that when you delegate tasks, you still take ownership for them and check over the results.
Raise & Promotion
- Always choose responsibility over pay: I promise you, if you keep getting promoted and increasing your responsibility within any organization, the pay will eventually catch up with you.
- Take initiative: If you want to get a raise, if you want to get that promotion, you gotta do more—much more than what is asked of you. Make your own opportunities
- Invest in your education - read technical books everyday for 30mins
- Ask for promo or pay raise
- Make yourself valuable outside your company: build your personal brand
Advancing your career
- Create a reputation: build your own brand, have a medium skill with a huge reputation is better than a high skill with a medium reputation.
- the perfect brand and all the self-promotion in the world won’t amount to anything if it’s not all based on this one important thing, this one important principle or idea: create value for others.
- Be known as giver: Be the kind of person who other people want to be around and associate with because they feel like when they are around you they are benefiting.
- Networking: creating value for others, the right approach to building a network is building relationships.
- Keep your skills up to date: Read blogs in the morning for 30mins, Read books, write code
- T-shape knowledge: broad base of knowledge in your field, and then you have at least one area of deep, specialized knowledge or skill.
- Attend conferences : utilize the time you have there as much as possible by talking to as many people as you can, should try giving a speech, can lead to consulting?
- Improve speech ability: join toastmaster