导航

 写在前面

  • 油管链接
  • 虽然演讲标题有些夸张,我刚看到还以为是以“离职后的程序员有何想法”为主题的演讲内容,但完全不是。内容是“技术无关、专业有关”。

一些感想

  • 扪心自问50问,一些有意无意忽略的问题,欢迎我常回来看看:
  • 01- I can articulate precisely what problem I am trying to solve.
  • 02- I have articulated precisely what problem I am trying to solve.
  • 03- I have confirmed that someone else can articulate what problem I am trying to solve.
  • 04- I can articulate why my problem is important to solve.
  • 05- I can articulate how much my problem is worth solving.
  • 06- I have a Plan B in case my solution to my current problem doesn't work.
  • 07- I have already implemented my Plan B in case my solution to my current problem doesn't work.
  • 08- I can articulate the steps required to solve my current problem.
  • 09- I can clearly articulate unknowns and risks associated with mycurrent problem.
  • 10- I have not thought or said "I can just make up the time" without immediately talking to someone.
  • 11- I write a "framework" and have used it multiple times to actually solve a problem it was intended to solve.
  • 12- I can articulate the test for completion of my current problem is.
  • 13- I can articulate the hypothesis related to my problem and how I could falsify it.
  • 14- I can articulate the (various) latency requirements for my current problem.
  • 15- I can articulate the (various) throughput requirements for mycurrent problem.
  • 16- I can articulate the most common concrete use case of the system I am developing.
  • 17- I know the most common actual, real-life values of the data I am transforming.
  • 18- I know the acceptable ranges of values of all the data I am transforming.
  • 19- I can articulate what will happen when (somehow) data outside that range enters the system.
  • 20- I can articulate a list of input data into my system roughly sorted by likelihood.
  • 21- I know the frequency of change of the actual, real-life values of the data I am transforming.
  • 22- I have (at least partially) read the (available) documentation for the hardware, platform, and tools I use most commonly.
  • 23- I have sat and watched an actual user of my system.
  • 24- I know the slowest part of the users of my system's workflow with high confidence.
  • 25- I know what information users of my system will need to make effective use of the solution.
  • 26- I can articulate the finite set of hardware I am designing mysolution to work for.
  • 27- I can articulate how that set of hardware specifically affects the design of my system.
  • 28- I have recently profiled the performance of my system.
  • 29- I have recently profiled memory usage of my system.
  • 30- I have used multiple different profiling methods to measure the performance of my system.
  • 31- I know how to significantly improve the performance of my system without changing the input/output interface of the system.
  • 32- I know specifically how I can and will debug live release builds of my work when they fail.
  • 33- I know what data I am reading as part of my solution and where it comes from.
  • 34- I know how often I am reading data I do not need as part of my solution.
  • 35- I know what data I am writing as part of my solution and where it is used.
  • 36- I know how often I am writing data I do no need to as part of my solution.
  • 37- I can articulate how all the data I use is laid out in memory.
  • 38- I never use the phrase "platform independent" when referring to my work.
  • 39- I never use the phrase "future proof" when referring to my work.
  • 40- I can schedule my own time well.
  • 41- I am vigilant about not wasting others' time.
  • 42- I actively seek constructive feedback and take it seriously.
  • 43- I am not actively avoiding any uncomfortable (professional) conversations.
  • 44- I am not actively avoiding any (professional) conflicts.
  • 45- I consistently interact with other professionals, professionally.
  • 46- I can articulate what I believe others should expect from me.
  • 47- I do not require multiple reminders to respond to a request or complete work.
  • 48- I pursue opportunities to return value to the commons (when appropriate.)
  • 49- I actively work to bring value to the people I work with.
  • 50- I actively work to ensure underrepresented voices are heard.