@zardoz
"There are only two hard things in Computer Science: cache invalidation, naming things, and off by one errors." - Jeff Robbins
See https://linkedin.com/in/chain for work related details
Just joined SkyRyse.
No blogs yet.
Technical debt is known as "deferred maintenance" in real estate. If you don't update your tools / legacy software / hardware then you will run into a failure sooner than later. Addressing debt can also introduce failures but that at least has a fall-back solution [roll back the refactoring]. Basically software written years ago is rarely of a quality that it could be "left alone" without any fixes for unforeseen requirements [i.e. does your 20 year old software handle emoji?]
Favorites Ruby (truly defined for happiness) C++ (C without so many gotchas) Swift (very promising) Disliked Python (really, semantically meaningful whitespace in the 21st century?) PHP (no comment) Java (Finally a language without pointers but endless Null Reference errors?)
Advantages : Tons of SWE openings Weather Chances to work in some really exciting Startups / Legendary companies Highest density of VC Disadvantages : Cost of housing Traffic / Commuting Brotopia [but that's not limited to Silicon Valley] Recruiting is hard [see #1, #2] Valley has boom/bust cycles and it's been booming for many years
Write them down and present the completed ones at your performance review. Learn a new language/OS/Framework that is valuable to your company Mentor a junior in some area of your expertise Propose a new technology/solution to a problem you see in the company Find the legacy project in your team that is due for a rewrite/refactor
If it's big then code is the last thing I write. First I draw a mental map of the project [probably also a whiteboard map] I'll need answers to: How much of the project could be bought off-the-shelf? How much needs programming resources because there are no components ready to buy/adopt? If off-the-shelf is very expensive or non-modifiable how much to create a custom version? Were there similar projects in the past [how did they fare?] What's changed since then that could ensure success? If there's tech chops needed that I don't have, then either off to the library or see which of my software colleagues is already an expert. Downloading and testing existing apps might open you up to legal trouble down the road so be careful Filling in a Wiki/Project plan is probably the next step along with a whitepaper outlining goals and non-goals. [To Be Continued]