svnsets
I created a cool little easer egg where if you clicked in the bottom left corner of the browser window and dragged in a circle, the site would flip upside down. A coworker and I also photoshopped some of the client's imagery that was used on the site and hosted it on another domain. If you typed a variation of the Konami code while on the site, the images would be replaced with our meme-ified versions of their imagery. Even if we had a code review process, none of my coworkers would have even noticed that little bit of extra code in the mess of jQuery spaghetti that was their codebase.
2) Don't even try to talk about project management frameworks because you don't understand them
3) Don't ask me if I have experience in something that isn't on my resume
4) I don't want your 3 month .NET contract in Cleveland even if it "may have the opportunity to go full-time"
5) Get both my and the employer's salary requirements up front so I don't call out of work to spend the day interviewing, being told by the company that they absolutely wanted to move forward, and then find out that my salary was way out of their range.
6) If you name drop a renown company and then start talking about how I should instead interview at some startup for helping people put their mom in a nursing home, the conversation is over.
7) APIs isn't a skill
8) Save the corporate kool-aid for the product owner candidates
9) Just because you got my phone number because some job board sold my info to you doesn't mean you can call me
10) My resume, LinkedIn, and any other job board profiles have my location listed. Don't call me at 6am PST!!!
11) Stop hoping that I am well. I'd be much more well if I wasn't woken up at 6am by your ass.
12) Who do you honestly think is going to work for a company that requires .NET, Java, Python, Angular, React, and "bonus points for Rust experience"?
I've been amazed by how often this is true, especially in the world of "startup CULTure". When I was naive and fresh out of college, I assumed that people who made it into management or into executive leadership did so because they knew what they were doing. That couldn't be farther from the case. There are so many companies run by people who are borderline insane, and so many people who will just blindly follow them through their nightmare.
In contrast, there are great people and companies to work for if you put in the effort to find them. I will say that the whole tech recruitment industry has made that harder though as you have people who are financially incentivized to get you hired and tell you whatever bullshit you want to hear even if they know you will be miserable in that position and that 90% of that information is false.
Also, this company would repeatedly under-scope projects, go over budget and over the deadline in the design process, and then blame it all on developers when the project was behind schedule and over budget.
I've worked as an engineer for a company that had ridiculous engineering turnover rates because engineers were treated like children, and management would always give these kind of excuses where one guy was a slacker one time so everyone has to abide by ridiculous policies around required office hours. If you want to retain talent and accurately measure employee performance, you need to put effort into measuring outcome rather than working hours.
1) Marxists have been writing about this for decades...
2) Ev Williams seems to think that moving (back) to a subscription model is the right move. It's not, and it's kind of an archaic model (even though it's still widely used). I'd argue the best business model for authors and content creators at this point in time is the Twitch model. While it shares similarities to a traditional subscription model, it goes above and beyond that. The biggest difference is that a subscription is optional though is incentivized through other means (ie: access to a creator's Discord server, custom emojis, merch giveaways, etc). There is no barrier for access to content. Users get to opt in to financially supporting creators, but are not required to. It combines the best of both an ad-based model and a subscription model by allowing ads on free content and removing them for subscribers.
This is similar to YouTube Red, but I think where YouTube went wrong is that a subscription is for the whole platform, not for specific creators. Many would rather individually support the creators that they enjoy and not support the one they dislike (which is why many creators on YouTube get financial support from consumers through other platforms such as Patreon, tours, MAGs, and merchandise sales).
3) Look at how other companies are changing their business models and the way they publish content and how it affects the way they are perceived. You have networks like Viceland that started out posting a bunch of web series on YouTube and then they decided to try being a cable network and in the process alienated a large number of their viewer base. They are becoming perceived as a network for millennials run by your grandparents. Myself and many others that I know used to watch many of their web series, but now don't because we don't want to pay for a cable subscription just to watch a few shows on a single network. At the same time, you have traditional cable networks posting clips and sometimes full episodes of their shows on YouTube making a cable subscription even less exclusive or valuable. Lastly, you have other services that allow users to illegally stream copyrighted material for free. These services wouldn't exist if there wasn't a barrier to entry from the source of the content they are streaming.
1) keep work email and personal email segregated by only using your work email for work related services. Also, don't prioritize personal email over doing actual work.
2) turn on do not disturb if you're heads down if you can't bring yourself to ignore notifications
3) let coworkers know when you're heads down so they don't call or stop by your desk so that they know why you aren't answering.
4) if possible, try to push back on meeting times that conflict with focus times
5) turn on automatic software updates or defer them
Anyways, I don't think it's appropriate to blame email in general for people's poor task management skills. The alternative to email and instant messaging is having someone physically walk over to your desk or call you in which case your current task is definitely going to be derailed.
Also, tons of people choose certain companies to buy from because of their status and reputation. That's how most industries work. Some people only buy American made cars, or only Chevy or only Honda. There's nothing wrong with brand loyalty especially when the brand is consistently delivering quality products to it's customers. iPhone isn't an arbitrary status symbol. Apple put years and years of effort into building up the reputation they have.
Also, Siri is a joke. If your priority in a smartphone is to make use of it's virtual assistant, then an iPhone is not for you.
At my company, we use cucumberjs (https://github.com/cucumber/cucumber-js) to write scenarios for basic front-end testing. I wouldn't go overboard and start writing test to measure padding or font sizes, but you can easily see isolated scenarios and write automated tests to simply verify that a react component actually put the right element in the dom or to check conditional class names.
We also unit test many of our Redux reducers which is pretty simple with any unit testing library. Just create an initial state and expected state, call the action creator, and deep compare the new state with the expected state.
Redux on the other hand was a little more confusing for me to learn (the concept makes complete sense, it's the implementation and debugging that gets confusing). The great thing about Redux is that you don't have to use it or learn it. The React ecosystem is pretty well decoupled so you can choose how you want to manage state and async tasks. That is it's biggest selling point for me personally.
My experience with front-end frameworks started with Backbone + a ton of jQuery to AngularJS to React (with many different state management libraries). I found that Backbone didn't really provide much on top of jQuery + lodash/underscore, but I liked that it didn't make too many decisions for you. Angular (v1) on the other hand, forces you into some unconventional patterns (ie: the whole service vs factory fiasco and it's own dependency management system). It's fine if you aren't using a separate dependency management library (or ESM), but if you are, you have to declare dependencies twice. Angular 2/4/5/whatever-arbitrary-number-they-are-on-now has been way more confusing for me to learn as they make you learn their own templating language for things like loops, control flow, etc and still have some weird patterns around dependency injection. JSX is a lot simpler if you know basic JS. React seems to have the least amount of boilerplate code as well especially if you make use of functional components.
I've tried Tidal, Apple Music, Google Music, Prime Music, Rdio (when that was a thing) and have always gone back to Spotify because the put a lot more effort into getting smaller/newer artists records in front of users.
https://css-tricks.com/snippets/css/momentum-scrolling-on-io...
- How to borrow tens of thousands of dollars without any concrete evidence that I would be able to pay it back
- How to google (arguably a good skill, but not worth a five-figure price tag)
- How to write small
- How to misuse big words
- How to misuse buzzwords
- How to use Dreamweaver (I later learned that the correct way to use Dreamweaver is to uninstall it from your computer)
- How websites were made in 2004 (this was in 2011-2013)
Things I was forced to learn after college to be even remotely relevant:
- Every single aspect of my job as a lead software engineer