365 karma · joined September 28, 2014
So it turns out people were taking much more time off now than when PTO was unlimited. They started denying request and making up trivial rules, like 2/3 of your team must be available at any time (regardless of the team size), oh, and those rules weren't in the official policy. Good luck trying to get specifics in writing.
Eventually they changed back to an unlimited policy but secretly told managers they should start denying requests after x number of days have been used. I think it was five weeks, which again is still generous but it bothers me because the intent is to hide that number in hopes that people will use less. I also get no tracking for how many days I've already taken unless I go through my requests and count the approved ones myself.
The unlimited policy is definitely a scam at many companies. Most of my team has been denied requests for reasons that don't exist in the written policy, like, "you recently had PTO already." Honestly I'd rather have a policy that only allowed 3 or 4 weeks with a minimum mandatory that each employee is required to take at least two weeks off per year.
I'll add a reply to my comment to make it clear this is hearsay and doesn't necessarily reflect the truth.
See posts like these for more details and comments:
https://news.ycombinator.com/item?id=16510267
https://news.ycombinator.com/item?id=22821447
There are also several great alternatives now. F# with Fable and Elmish for example: https://zaid-ajaj.github.io/the-elmish-book/#/
And Bucklescript TEA with Ocaml or Reason: https://github.com/OvermindDL1/bucklescript-tea
Some others have also gone on to develop new languages taking inspiration from Elm: https://www.mint-lang.com/
I guess the difference between us is I'm in JS everyday while he's primarily backend. I've made peace with my tooling as has he. I've also made peace with the fact that my tooling is going to continue to change every few years. From Gulp to Webpack to Parcel to Snowpack and onwards.
> The number is "at least 200,000." Musk made the comment during an interview with Automotive News on Sunday, and it's a significantly lower figure than the running total compiled by a crowdsourced list. Fans keeping track of their order numbers estimated that there have been approximately 727,000 reservations for the electric pickup truck.
source: https://www.cnet.com/roadshow/news/elon-musk-tesla-cybertruc...
It's also not actually legal where I live for the employer to inquire about an applicant's age. After I was hired, the manager did ask me at lunch how old I was, I just replied, "I can't remember". Yeah, he probably didn't mean anything by it and he could probably look it up with HR. But I just honestly didn't feel like it should be relevant to my role at work.
I don't feel like this was unethical, perhaps slightly paranoid at most. Speaking of which, I didn't even tell anyone I had kids until I was out of my 90 day probation period.
I'm having a hard time getting on board with the Composition API. I'll admit I was one of those that pushed back against it. While it looks like a powerful API and I think it would be a great replacement for mixins for instance, I don't want to start writing all my components with it.
BTW, My main fear was not that they would deprecate the object-based syntax, like Evan points out in the interview. What I'm worried about is now walking into a Vue role where I don't know if they're using Object syntax, Class syntax, or the Composition API syntax, or a combination of all three.
My fear was partially confirmed when we had a meeting at work about the upgrade path to Vue 3 and almost all of the other engineers stand in support of writing everything with the Composition API.
Time will tell if the Composition API becomes like React Hooks in terms of popularity I guess. But I'm already using frameworks like Svelte, and a few others at home as a kind of backup plan. BTW, Some nice looking, Typescript-friendly frameworks I've also checked out are https://aurelia.io and https://stenciljs.com
I also own code-bases simply because no one else was willing to or interested in doing so. Many times I've been out of my depth, but I've surrounded myself with an incredible team. I've found that in conversations where I was totally out my depth, I was able to contribute simply by asking basic questions or acting as a rubber duck.
Maybe Principle Engineer is a little but of a stretch I'll admit. But I'll still shoot for it and if I don't get it this year, it'll happen next year or the year after that. That's how I made senior after all, and probably why I find myself in roles like interim manager presently.
Sometimes I suddenly feel like a fraud, especially when I realize I'm in a meeting where everyone in the room has a CS degree or higher, but overall I feel like I bring a lot of value to what we do and most of all, I really love doing it.
I remember anonymously asking on Quora if people thought I was too old to learn how to program. The amount of support and stories that were shared with me were positively overwhelming. Probably the best answer I received was, "do you enjoy doing this thing?, if so, the answer is you should just do it."
...1,000 V-bucks, which is roughly equivalent to $10 in-game Fortnite currency, now costs just $7.99 if you use Epic direct payment instead of the standard Apple payment processing. Normally, that amount of currency costs $9.99. Epic says, in this case, customers keep the extra savings, not the company. That cast the new arrangement as a pro-consumer move instead of a greedy power play.
My math skills aren't the best but it seems like epic is still pocketing almost an extra dollar there than previously (almost 10%), indicating that this is move motivated by financial gain (if not greed). Of course Apple stands out as the bigger case of "highway robbery".
I am somewhat curious on how much apple spends on maintaining the app store and how much of that %30 is net profit.
Every once and a while some engineer who's fixing a bug on it will ask, "why in the world did we write this? Why don't we just use this bootstrap pagination instead?". I ask in return, "would it fix the bug you currently have with it?". Every single time the answer has been no. It's almost always centered around the state of how the parent component is using it. I wrote with the intention of using querystrings to store pagination state in the url, but someone else at some point decides to store their pagination data in memory and just adds a few props and now it's doing it two different ways, etc...
I think the criminal offense here was not writing pagination from scratch. It was that I didn't extract it into a library and write some basic documentation.
At some point I got married and eventually had kids after which these kinds of romanticized ad-hoc adventures became impractical. Sometimes I wish I'd been more focused when I was young. I feel like I probably wasted a lot of time pursuing ideas that had a high risk of not being sustainable for the long-term.
I find myself giving younger people advice that I would have balked at at their age. They don't listen to me of course, just like I didn't listen to more experienced adults when I was in their place. No one wants to be told, "Don't follow your dreams. Weigh the risks and the potential return on investment first". I guess part of being young is taking those risks and learning from your failures. And sometimes, chasing an impractical dream pays off. Sometimes they pay off big.
But now days when I get the wanderlust or some feeling of discontentment and find myself wondering, "there must be more to life than this?", I just try changing something small in my routine, like, "you know what? I think I'm going to start taking walks during lunch every day.", or, "I think I'll study this new language for an hour every night after the kids go to bed.", or, "I think I'll build a garden enclosure in the backyard". I often find that by changing something small in my routine, I can break out of the monotony and feel some sense of accomplishment I hadn't noticed was missing.
But even then, there is still some voice in the back of my mind that says, "someday, when the kids are old enough and out of the house, I think I'll take one last big risk and embark on some kind of unlikely adventure."
My employer requires us to do one hour of training per day. We are allowed to study whatever we want or work on personal projects. I personally don't think it's weird for an engineer to keep up with emerging tech and trends. I'm sure a lot of engineers outside of software do this.
It introspects your DB and generates a client that provides typescript definitions for your queries. When I try to select a non-existent field or relation, I get warned via ts.
Right now it's mainly their client that is production ready but they are making great progress on their migrations tooling. For now I still write my migrations in raw SQL, but I'll probably swicth to prisma-based migrations once it's a bit more mature.
I usually spend that time studying something that I think may be useful or related to my job but I have been encouraged to explore. My employer is a big believer that innovation comes from exploration.
As you pointed out, it is an infinite endeavor. I'm okay with that. If I just stuck with the current technologies that were used when I first came in, we'd probably still be using jQuery and .ERB templates. Instead I personally pushed for using new technologies and my team is personally responsible for introducing Vue, Typescript, and GraphQL to our stack among other technologies.
Now I just kind of roll out of bed, slump over to the computer desk in the corner of my bedroom and sit there all day, wondering why I feel so "meh". I realized I'm missing the in-office collaboration more than I thought but I also started looking at the work with a predominantly more negative outlook, thinking thoughts like, "Isn't this all kind of pointless anyway? We just churn code and go around in circles endlessly." I've also started drinking almost nightly to the point of excess. Also, the world is going to hell in a hand-basket and apparently most of my family and friends from my home-town turned out to be a lot more racists than I ever knew.
On the positive side:
- I still have a good paying job that has allowed me to work remote through out all of this and even gives me an extra $200 per month allowance for WFH costs.
- I bought a treadmill and finally started to excercise.
- When I feel a lack of motivation I often turn on some course or tutorial and I actually started learning a lot of new stuff as a result.
- I started saving a lot more money since I don't eat out and cancelled all my vacation plans.
Do I regret investing time in learning any of those frameworks or technologies?
Not at all. It was fun and interesting at the time I learned something different from each of them. Perhaps the most valuable thing I learned was that it is worthwhile to evaluate new technologies and to continue learning new things.
Does it devalue me as an Engineer to learn many things as opposed to becoming an expert in a single tech stack?
Much the opposite. A lot of the underlying principles and architecture remain the same and yet, I find each framework offers something new. Whether it's questioning some convention, or approaching a problem with a different paradigm, or just being heavily opinionated, I feel like I gained some value from each of these and had fun while doing so.
- In the Browser:
- Using Parcel/Webpack/Rollup.js...etc
- From a CDN
- In Node: - Using CommonJS
- `const funcName = require('somePackage')`
- Using Native ES Modules
...etcFor myself, I started with HTML and CSS, and had a lot of fun with that. Then when I decided it was time to learn JS, I hit a brick wall. I almost quit then and there thinking programming was not for me. But I was also determined to do something different with my life than I was currently doing. So I switched gears and jumped into Ruby on Rails. Ruby really clicked with me in a way that JS did not, perhaps because it was somewhat more readable and less syntax getting in my way. I got into it enough that I signed up for an online bootcamp. That's a whole different story but the short of it is I learned Ruby on Rails and that enabled me to get a job at some point soonish thereafter.
And you know what? In the end I came back to Javascript and I actually enjoy working in the frontend (with typescript mostly now) more than the backend side of things. I think maybe Ruby taught me how to rewire my brain for programming and then Javascript felt a lot more friendlier than it had previously. It's a lot of the same paradigms, just re-wrapped in different syntax.
I guess, my point is, try to start somewhere, but don't be afraid of exploring. There's no right answer for all of us.
Html/CSS/JS is a good starting point. Firebase or AWS Amplify is a good augment to that although I'd try just purely static sites with maybe some serverless functions sprinkled in if needed. Netlify Functions are an easier entrypoint into that, and I believe they are just AWS Lambda's underneath: https://www.netlify.com/products/functions/
Try to find your niche and focus down on what gets you excited. I dove into some obscure frameworks and languages at times that might have seemed ill-advised to focus on during that stage in my career. Some of these paid off by becoming popular but even when they didn't, I learned a ton.
My bank doesn't even have an online interface for international wire transfers, plus, their UI looks like something developed in coldfusion by an ex-myspace engineer.
It's seems like 0.18 to 0.19 was a divisive upgrade for the community. I feel like a lot of good languages or frameworks go through this existential crisis at some point. There was Python 2 to 3, or Angular 1 to 2, Node vs IO, etc.. I think Vue narrowly avoided it on it way towards 3.0 (maybe remains to be seen). I remember when Rails community split when Yehuda Katz got frustrated with DHH and made Merb, and then they merged back together for Rails 3.
It seems like open source has a love/hate relationship with the benevolent dictatorship model.