I believe intellectual aptitude can be learned. Spending time nurture core problem solving skills in various domains. The education system today depends on things like memorization and not on teaching students how to think. I had mediocre success through the education program, and it was not until the mid 20's that I developed a strong mental model. Sometimes I even feel cheated that I was not exposed to the right challenges. Today most of my acquaintances, friends, and colleague respect my intelligence and its one of the attributes I am most proud of.
I worked on an Isometric framework for a flash project in 2009. I remember coming to an acceptable solution using axis sort and volume data. I would have killed to have a GPU available then.
Why work where your not happy if you don't have too? Demand + skill =p opportunities. Opportunities + happy relationship = I give a shit. I know making a living is important but I don't think working under this concept is sustainable. I have been in this scenario and it's dehumanistic and unsustainable in markets where your employees have options.
I have always wondered why not introduce physical randomness into cryptography. Let's take scalability out of the question and look at the problem at the fundamental level. If we used a box of sand that shifted each time a random number was requested and a camera to scan and produce a number from this source would it not more random than any other method? I'm not a professional in this field I am just truly asking why not..
Product engineers are sought after, and for companies that build flag-ship products they should be core to development. Product developers are often founders and should guide the vision as they have the product itself at heart and mind.
I would never go back to smoking cigarettes. There is no comparison to e-cigs and cigarettes, obviously this is backed by the tobacco industry and that is the reason why its not a comparison of cigarettes and e-cigs; which is the real story that wasn't written.
No urls or domains. Search engines becoming deep linked discovery services for web applications. Favicons are replaced with full size icons and structured data for discovery registration.
My prespective could be very wrong but isn't this a sort of quality is in the eye of the beholder issue. I get building a silo isn't very beneficial to another. But isn't building monolithic library just as destructive. I don't think anything is perfect even if it's perfectly executed.
What about testing? And working with large teams? I imagine large software and teams would be abstracted into separate interfaces. Is communication between teams just more difficult to manage? Is reality different from theory? Shouldn't each segment be testable and debug-able? How do you effectively execute a large project? Is mashing it all together more of a proof of concept than the final product? As an investor am I on the hook for more than I bargained for? Is technical debt a non-issue?
Macro and micro is relative. A monolith is a kitchen sink and expensive. Take a look at the API space for successful SaaS products especially when they are oriented in business software. It's hard to pivot a monolith or even monetize when it ignores the ecosystem it exists in. When it communicates well with other micro services it has natural discovery as a solution to a problem that the customer is looking for. Trello, Harvest, Basecamp, Pivotal, and tons more are all successful because they communicate well outside of their problem space and solve for the problem in their own scope. I do agree that you shouldn't be over aggresive on abstractions off the start but you should also consider the players in your space and ask if a segment of you application is solving something of value to others or if your recreating a service that your shouldn't compete with but cooperate with.
I feel the same way, it feels very deliberate the way the ad loads just enough to shift a call to action I to an accidental ad click. It cannot think of a solution to resolve this type of blackhat trickery.
Speed, is a constant demand. The rate that we are creating new frameworks, languages and platforms is an all time high. We toss them away as quick as we build them, by the time its reaching mainstream adoption we are refactoring the core, and expecting developers to adopt the changes before they master the first mature iteration. Born to die software is here and its going to cause a massive fracturing. If we adopt reverse compatiblity maybe we can offset the repercussions. I expect my code to start to deprecate in atleast 6 months in some manner.
All of the frameworks suffer from performance issues. Performance will get better, but we will always have to profile our applications. A slow web component used in a ng-repeat scenario will always bring the application down to its knees. We can't just design a spaceship and expect an engineer to build a performant application. Designs need boundaries and guides as performance is one if not the most important factor of the UX. We also cannot reason with the jQuery spaghetti demon. Practice some Feng Shui, write better code. Understand whats going on in your framework. Work through the limitations with your designers. We are at the mercy of limited computation until our browsers give us more, and there is no magic bullet.
A graph database comes to mind. It's a different design problem when dealing with deep relationships vs top level relationships. Sometimes you need more deep inherent relational mappings for alogithms to be effecient.
Give me equity stake. I don't want to manage, I want to come out of the end ready to start my own venture or retire and do what I love and build and awesome open source project to give back to the community.
I am torn about how minification affects metaprogramming. I don't believe that reducing the delivery footprint should ever effect how the code is interpreted.