No, Platform Won't Save The World

I felt that everyone and their grandma (no offense to all the grandma in the world who are excellent software engineers) wants a platform in 2018. Here are some reason I believe platform won't save the world:

  • Information overload (too much information for user to make decisions with, or want to see/know at once)
  • Restricted information (user want certain information that WILL help them, but dev won't give it to them. Take all complains to support. Good luck)
  • Too many competitive SaaS (Have you even tried to look at the number of fintech companies are out there today? What's the right product that will actually help me?)
  • Subscription payment model is rigid (Felt like paying for gym membership due to above challenges)
  • Too many specialized platforms (one for managing your finance, one for your exercise patterns, one for keeping track of when Muffins go out to piddle) 
  • Dimishing returns in time (more thoughts on this)

If platforms won't save the world, maybe battle-royale and DLC payment models (I'm looking at you Crunchyroll Expo and Miku Expo) will?

Working Out of WP-API & ACH-to-REST Plugins

  • You CANNOT change the response schema. That means you take what you get from whatever the response sends you
  • You WILL need to do some serious data-massaging to make your dataset UI-friendly. Be sure to build a strong service to take care of this
  • WordPress menu (header and footer navigation) does have an endpoint, but again, get ready for some heavy data massaging. The entire structure is flat unlike a traditional UI dropdown menu with tree structure performing O(n^2) rendering
  • If not already, Lodash map and filter are your best friend here. The response WILL come back as a collection (aka object array) very often, 9/10 times
  • ALWAYS use componentWIllMount() to GET response from any endpoint. After fetch() and setState() the render state will be re-drawn
  • Render state will re-run several times, minimum when first component renders, and next time componentWillMount() completes, possibly after setState() as well

Life of a Software Contractor

Here are some thoughts I have after working as a contractor for several years around San Francisco and Silicon Valley:

  • It can be both stressful and scary sometimes, when you are the only frontend developer (or even any developer for that matter) responsible for design, development, QA, AND successfully deliver the product for your client
  • It can be boring at times, when the work is not challenging enough but client needed someone to get it done and delivered
  • It can be a lonely place at times. You're an employer here but you are also not. Not only you may feel distant from other full-time employees on-site because you won't be here after the project ends, but those who know you are a contractor may not trust you or invest time in you as much in building relationships simply because you will be gone in a few months anyways.
  • No perks for you, like gym access, free unlimited La Crox, and PTO. It's a given
  • BUT it's also very rewarding, especially when the product you've worked on has finally delivered and client is using it, made it to press release, etc.

React Work Project - Reflection After a Month

Some reflections after a month into a React project as a senior Frontend developer for a prominent creative agency in San Francisco SOMA.

  • Lots of heavy HTML extraction with deep hierarchies (over 200+ lines of code within a section element!). Definitely need mid to senior Frontend developer to understand it, especially when code is generated by a proprietary CMS
  • Many CSS dependencies from several CSS files, and have to separate them out based on importance (order of which CSS files to load on runtime), so it required me to understand how which does what
  • React routing may not work as expected if deployed project in a EC2 Apache environment (as oppose to a S3 environment which should work out-of-box). Please ensure URL address routes back to index.html in your /build so that React routing will perform its role of serving the proper component with each URL

Personal Experience with Code Editors - Atom, Visual Studio Code, Sublime Text, Webstorm, Brackets

Some talk about a few common code editors I am using for work and projects.

Atom

  • Free

Visual Studio Code

  • Free (open-source) from Microsoft. Nice.
  • My daily ride for work

Sublime Text

  • Free for 30-days, then nag screen after
  • What got me to pay is multi-platform (PC and Mac) support on a single-license

Webstorm

  • Free for 30-days, then it won't let you run anymore (it's a paid product boo)
  • It was my primary code editor until Visual Studio Code came along, and became more comfortable using Sublime Text
  • Switch to VS Code when paying yearly subscription stopped making sense
  • Using this for past job with team license, after finally ditching 

Brackets

  • Free and open-source from Adobe. Nice.
  • Several updates since kept leaking memory when I open a simple HTML/CSS project (CPU usage over 200%!). Felt like an Adobe product?
  • Currently stopped using until the team can (try) to fix the memory leak issue

Bonus: Eclipse

  • Time for the Eclipse to end

Get a Blog - Why Every Developer Should Have a Blog (and updates it)

I am no expert in anything.

 

Here are some reasons why I think every developer should have a blog, and keeps it updated:

  • Demonstrates analytical skills - Answer why and how you did it in your posts, rather than just do it or copy code from Stackoverflow, will give credibility to what you do as well flushed-out
  • Strengthen your branding as a developer - Showcase your dependability to deliver the best solutions to your client/employer
  • Shows you are engaged in the technology/stack of your interest - There's progression and pursuit of best practices, better way of doing things than before

Post-FanimeCon Review

  • Kudos to the team for a painless pre-registration badge pickup. The line was short, the process is quick with plenty of check-in terminals, the check-in process is nearly painless on the computer
  • Video room could use staff improvement: Room was scheduled to show a show but upon arrival, the show was no longer licensed to their partners (Funimation, Crunchyroll) so the staff cannot show us the said show. Shift-change cause one showing to side-track to AMVs because shift staff didn't know this room is scheduled to show a series and not AMVs
  • Lines that lead to nowhere/nothing: People waited in line for a popular showing scheduled for two hours later. After the line was active for over an hour the staff finally told people in line to leave because this is not a line for anything
  • Nano concert was fun! My favorite song "Dreamcatcher" was sung as her third song. Lost my hearing and voice slightly but worth it!
  • A man fell in front of my friend and I during rave. He hurt his leg and was finally cared for by paramedics after more than 15 minutes of wait around by con staff and security personnel
  • Pass-swapping still works. We were able to bring a few friends in without trouble, so they can enjoy with us briefly without paying a full-day ticket
  • The bacon-dog carts are everywhere in front of the convention center. It became a symbol of the true FanimeCon experience. Hotdog-con, anyone?