2,625 karma · joined April 25, 2011
Do explore a bit. Play with your baby. Pick up some hobbies. Particularly creative ones. Make music, art, sing, dance, act, etc.
Re "my first child was born in the past year"... If you're like any other new parent I know, you've been running on fumes, and I lose all ability to produce code when I don't sleep.
You don't need passion to be a successful, productive, professional developer. many have it (and many of those passionate people drive me batshit crazy with their protecting their passion and making software-crafting an intolerable place to be).
For me, I've burned out of it several times. One of the things that brought me back was realizing "the tools suck, and whenever I'm doing something else, I end up drawn back in by the need for better tools".
Writing code isn't the end. I don't particularly enjoy the act writing code. But I really hate working with crappy tools. And while writing code isn't particularly fun, it helps me deal with other shit. It's a damn powerful skill to have, even if the major output isn't "software".
As to what you can retrain into? Anything you want. Find out what matters to you, though, then figure out how to get there. One of the great things about being a developer is you can usually make enough cash happen in such a way that you can find a path anywhere you want to be.
At least in my experience, the implementation matters. And then the number of papers that generalize results about "an object oriented language" when they mean "Java" is sickening. See also research on productivity w/ "static typing" vs. "dynamic typing".
One of the worst things about learning to program at school in the oughts was that Java was the language of choice. I have no problems (more than any other language) with Java as a professional tool, but Java as a first language is a disaster with its conceptual overload.
“Hey! I’m throwing a party”... “Oh shit, I need to go out of my way to make sure so-and-so gets an invite”.
Eventually, one of my friends told me “You not being on FB is adding work for the rest of us. Someone always needs to go out of their way to mention everything to you”.
This article sums up a lot of it: https://www.theverge.com/2018/4/28/17293056/facebook-deletef...
For most people I know who aren’t on FB, they either:
- Have a very small, very tight group of friends.
- Have a (usually) wife / roommate to whom they outsource the maintenance of their social calendar
The service FB provides is much closer to a natural monopoly. The value of FB’s service derived entirely from the sheer volume of people who use it. Saying “I am not going to use FB” is a cost to everyone around you.
Generally, here’s what I’ve seen gets you equivalent size/convenience/safety:
1m in NY
500k in DC
300k in Philly
150k in Pittsburgh.
I would absolutely believe you could find something nice for 5 figures in Detroit.
Separating that from the “bitcoin” part of a stock’s price is, of course, the major question.
But when working with other people, getting everyone to do the same thing, and have that automatically done for you / enforces is incredibly valuable. It’s such a massive win that any deviation from “my personal optimum formatting” is rounding error.
That's the particular problem that they're trying to figure out, with a broader version of "waste of time". Either "asking a question is met with hostility", or "posting a response is met with hostility".
If the goal is to be at Google/Amazon/etc, I'd probably suggest an overall strategy of "pick something relatively narrow, and be the best in the world at it". Big Tech firms tend to be the land of experts -- there are fewer job titles of "full-stack engineer", and more of "we have enough engineering resources to have specialists for everything".
For small companies (or small tech teams), it's the opposite. There is a ton of value of being able to be able to move up and down the stack -- Sales, Product, Design, Frontend, Backend, Devops... and pinch hit in any job capably as needed.
My general assumption is that if Scala was intended to be category theory, implemented, something along the lines of scalaz or cats would have been built into the language -- the philosophy of the language does not include a JS-esque philosophy of small stdlib, big library ecosystem.
My mental image of finance was "bros a'broing", but the reality of the experience was professionals who were fully attuned to the reality of dealing with billions of dollars, and no delusions about how a few lines of javascript will change the world.
Whereas when I went to Google, I was met with a mix of "you're changing the world, selling eyeballs to advertisers" and "It's so great, we get to dress like we're 12 and play like we're 12".
Or the long since pivoted startup I interviewed who was doing their best to break the internet through awful PDF readers while in the office, everyone was ziplining and pogo-sticking around. (I await the mod slap for speaking ill of a YC company).
https://well.blogs.nytimes.com/2012/05/28/really-flying-can-...
For students, doing math/physics/thinking spatially anything that isn't fundamentally "typing".
For teachers -- grading/marking up assignments.
For me, given the choice of "$30 + the time to plan meals and go shopping" vs "$60", I'll take the latter.
If I had a choice between "$80 + the time to plan meals and go shopping" vs "$160", that time is worth a lot more money.
In addition, set all of this in a New York apartment, where the ability to maintain a well-stocked pantry is limited.
For me, Blue Apron lowers the time commitment of cooking at home below that of “go out for a quick dinner”. At the end of a day at a desk, I enjoy doing completely brainless work with my hands for a half hour or so, but the cognitive load of figuring out what to cook is more than I care to do on a regular basis.
Also, depending on where you are, urban grocery shopping is often a terrible experience.
https://practicaltypography.com is a pretty nice introduction on the topic, but overall, if there's any one major thing to keep in mind,
It's this:
Use white space.
The difference between something that looks thrown together and something that looks professional often come down to simply giving a shit about where text is and where text isn't. Does it look good? No? Try again.
Beyond that, don't go crazy with fonts. Two-maybe three weights/variants of one typeface will probably be sufficient -- I've generally found it's a lot easier for an amateur to make things that don't suck when they aren't trying to pair fonts.