992 karma · joined November 20, 2012
HackerSmacker profile: https://www.hackersmacker.org/user/MattyRad?hs=NChLQiGlinD7bO90qe
Homelessness isn't as big of an issue here than it is in California (I expect in part because of the colder weather), but housing costs have definitely been affected.
> If your browser was redirected here, it's because you have JavaScript disabled. To navigate the text version, simply paste one of the following URLs into your browser, or the entire cURL command into your terminal. If you're looking for a specific post, check the list on the Feed page.
- Code duplication (when it's appropriate)
- Code cosmetics/legibility
- Code scalability/flexibility
- Code review (protocols, how to perform them)
- Accepted widespread coding wisdom (abstractions, and shirking them, in this case)
- What defines a "junior" engineer (there are wildly different perspectives in this thread)
- Common courtesy (coworker interaction, etc)
Almost all out these are highly circumstantial to the type of project, codebase, language, culture, etc. I would like to see a productive conversation regarding any of these topics, but discussing so much at once in such circumstantial ways just leaves us talking past each other (the threads here are pretty clear evidence of that). I don't think this article has enough substance to cover any of these topics in any depth.
It's like if someone asked "What vehicle is the best vehicle?" Some people chime in with how much they like their brand of vehicle. Others say how trucks are better then cars. Others say that electric is the only choice. Others say cars made after 2010 are the best. The question is too broad so the responses aren't effective.
To anyone else that may see this link: use Firefox compatibility-view.
I think an important question to ask before getting review is can other people understand and manipulate my code as easily as I can? Engineers who submit PRs without critiquing their own work (usually the moment they complete the ticket/task) are a liability, and can introduce some uncomfortable situations when it falls on peers to approve/criticize. Speaking from experience, my boss was very terse in code review sometimes, but it was the kick in the pants I needed to understand that my buggy, brittle code was unacceptable.
If you're looking for good resources, Clean Code by Bob Martin is a classic.
Also bad is that junior engineers see shoddy client side code and internalize it. As an example, one junior engineer asked me how he was supposed to iterate over an array server side when I told him he didn't need to use Vue on a page. Server-side rendering fixtures had been completely forgotten.
I accept my responsibility in causing this mess though. I niavely pushed the SPA on my myself, my coworkers, and our end users years ago and have to live with that sin daily.
Careful with this one. In my experience, you aren't fooling anyone when you ask someone a question to which you yourself know the answer. It can quickly come off as condescending.
One helpful practice that we have is that we make a distinction between blocking and non-blocking comments. Nonblocking comments are desired changes, but aren't required by the submitter to fix (formatting, code simplification, naming, etc). This steers people in the right direction without preventing them from getting work done. Blocking changes are critical things which must be resolved before the code gets merged (security risks, performance concerns, complexity concerns).
And of course, every comment should be followed with a suggestion for how to resolve it (even if it's meeting in person). "This is bad" obviously doesn't fly.
Honestly, it might be easier to adjust the hiring process. If the hiring process were able to easily select driven individuals who retain "software engineer" as part of their identity, and people that take pride in their work, seek constructive criticism and want to learn, then that would be good enough.
I should also clarify that being self taught isn't necessarily a bad thing (one of the best coworkers I had was self taught), lacking any of the above traits is.
Other engineering industries have to take rigorous exams to achieve any forward momentum in their job (civil engineering had the PE, for example). This is something I think I could get behind for our industry .
A stirring speech, and a good reminder to press on, and to press for results (just be careful not to reference it as an excuse to dismiss constructive criticism, or to play a martyr).
I'm aware of http://fruitbots.org/, which I had a lot of fun with.
It's an interesting example of genuinely truthful documentarionism.
I was just exploring Google Places API to see if I could integrate it with a side project. The signup process claimed that it only needed a credit card to "prove that you're a financially capable human," which makes sense (and it also said that it would not charge your account until you gave it express permission), so I happily agreed. Despite this claim, Google apparently requires an active, chargeable card at all times, from account inception until you die. Failure to do so will result in terminating your account.
Whatever, let them terminate the account. Google's public favor is in a tailspin, and I can get the data I need from FourSquare at a fraction of the cost.
It is the story of Beowulf, told from the monster's point of view. It underscores the constant internal struggle between nihilistic despair and finding meaning in life (for yourself and others). It strikes a chord with Ozymandias[0].
It is primarily responsible for me abandoning my strong Catholic upbringing (and, ironically, despite John Gardner himself being a Christian).
EDIT: I forgot about ads because I use an ad blocker! If you don't use an ad-blocker, you'll also have to scroll past a large section of ads.