Week 49 of 2017, 16th post of the 4th year (May 2017 - May 2018)

I read the book a while ago and it’s the time to put on some notes I made on the blog.

A strange this about the book is that whenever I look at the notes, expressed as points in the list below, it seems to be another common sense ish stuff, but in the actual book it made a lot of sense because each of the bullets I’ve written has also a story behind it, a practical example of a situation in which it was useful to apply a principle.

  • you’re a business, you should carefully consider which technologies to invest into
  • It could be low risk, but low salary one with lots of jobs
  • Or it could be a high risk, but potentially rewarding one with very little jobs
  • Instead of investing into the latest technologies you could try to be an expert in legacy systems
  • History of web design, at first, there were very little people who knew how to do it and the companies paid a lot. After a while high salaries attracted more people around so the price went down and the designers fell down to lower classes of programmers
  • Indian companies don’t jump into risking technologies but rather wait until a technology establishes and then go there with sufficiently lower prices for the services
  • Also you could compete in competitive markets by trying to get to the elite level and competing at a higher tier
  • You should choose a specific business domain and learn more about business
  • For example by talking to business people about their job
  • Business would pay well to those who know the domain
  • You could read business magazines, sites and be in touch with the business industry
  • Read books about business
  • It’s beneficial to always be ‘the worst guy in the band’
  • Try out learning a technology that’s new to you. You should play out with it. And if you don’t have an uncomfortable feeling you might have not picked a one with a new approach of you write it in the same old way
  • You should change jobs, companies, technologies, instruments and domains you are working on. It’d make you more experienced
  • The author advices to go from a certainty of a stable job to a cool opportunity of doing smt nice if there’s such choice
  • The author advices to be a generalist, a platform neutral guy
  • The author advices to also learn different aspects of a technology you use every day, it’s internals, how the interpreter works and stuff
  • Don’t put everything into a specific technology
  • Try to mentor people, it’d help you to know stuff deeper
  • Learn about software development methodologies
  • Learn from the existing projects by reading understanding, criticizing and picking things up from there
  • To do things faster is possible with hiring less of faster programmers, hiring more cheap one or automation
  • The author advices to automate the work
  • Treat projects like a race and it’d speed you up
  • Do more than you’re supposed to regularly
  • Align your goals with the team’s goals
  • Focus on your current position so you do your job well instead whining about the big opportunities
  • Analyze what you’re worth for the company. How much value do you bring?
  • Everyone’s replaceable
  • Agitating for doing the maintainence
  • Stay away from burning yourself, go home and have fun

    which contradicts what was said earlier about spending extra hours on new technologies

  • Be strong enough to say no and don’t lie, don’t make false commitments when you know you can’t do it
  • Plan your days and weeks, don’t worry if you don’t do it all, it’s just nice to have some kind of a plan (it’s followed by a story of Chris, a jazz musical student who the author claimed to know who planned his day carefully every morning to fit some practice in between the classes while rest of the students were sitting waiting)
  • Share your plans with management, by committing to them, completing or showing how it failed you could show that your have a good strategical opinion
  • Started and failed company could be a really great experience
  • Copy for getting experience, starting and failing a program gives valuable knowledge and experience
  • You should prefer face to face communication with other people
  • Talk to people in a language they understand or otherwise the communication would be ineffective
  • Work on being able to explain business value of what you’re doing
  • Promote yourself by blogging and speaking out
  • Monitor your brand
  • Participate in open source
  • Be the purple cow so people would want to talk about you
  • Try to make a connection with people you admire
  • Watch alpha geeks because it might help you to stay on the edge of technologies
  • You should self-evaluate your skills with a diary and ask others about their opinions on your skills
  • Don’t be too rigid, pick up a technology you hate the most and do a project in it
  • Move through small changes to what you want
  • You can go independent to boost your skills if you’re tired from stability of an office job