HNHacker News
TopNewBestAskShowJobs

bphogan

2,971 karma · joined July 16, 2009

I am an author, editor, mentor, trainer, and web application developer. I currently maintain http://rendera.heroku.com and http://railsmentors.org. I am the author of "tmux: Productive Mouse-Free Development", "Web Development Recipes", "Web Design For Developers" and "HTML5 and CSS3", all published by the Pragmatic Bookshelf, where I currently work as a part-time development editor.

You can follow me on Twitter at @bphogan or contact me at bphogan at gmail

submissionscomments
bphogan··on Iron Yard code school to close all campuses
I taught at a traditional institution and had the same experiences you did. Although I had to leave because I lost confidence in the institution. I think you'd find the same challenges in a slower-paced program, to be honest - there's plenty to do. While I only spent 4 hours a day in the classroom, I spent the rest of it either grading, revising lessons to keep things fresh, or grading assessments. The most time consuming part was providing meaningful feedback. Sure I could've phoned it in, but nobody likes getting a grade without feedback. And nobody learns from it either.

Despite the hours, it was worth it tho. I love hearing from my former students. There are times when I wish I was still doing it.

When you care like you and I do, you put your whole self into helping people make a better life for themselves learning to do what you already love to do, you'll take the low pay and the stress because it outweighs the negative.

The sad thing is that people who run a lot of these places know that, so they can get away with paying you a lot less than you'd make if you stayed in dev.

bphogan··on How I didn't become a SoundClouder
But what's the solution? How do I know you can do what you say you can do if you don't have a Github account? I mean, if I met with you for 2 hours and we paired on something, that's still making you code for free, right? It also requires us to find a time to sync up. If you're cool with that, then why not doing it async instead?

That aside, There are tons of people out there who simply do not have the extra time to do open source work. Families, other obligations, health issues, you name it. It's pretty great to be able to do self-promotion via open source code, I certainly hate the idea of saying "no Github? Sorry, no interview". But I also can't just take people at their word because people either embellish or outright lie during interviews and resumes.

I've had a ton of people who said they could do soemthing during an interview, but didn't actually demonstrate that on the homework. Way more than you'd think. Especially with less-experienced folks.

bphogan··on How to actually get a remote job as an intermediate developer?
http://weworkremotely.com

http://jobspresso.co

Indeed has some too.

bphogan··on How I didn't become a SoundClouder
I agree and disagree.

If you have ample open source code, lots of experience that's relevant to what I'm doing, then gosh yes - nobody should be giving you homework to do.

To your point about only doing homework after you interview, look at it this way:

If you're unproven, then you're getting the homework because I don't trust resumes. I've seen college profs and career counselors tell people "If you've dabbled in it, put it on your resume." Combine that with people who don't have any code online because "I have a life outside of work" or "all my work is NDA", and I'm sorry - I need to see if you can do the job.

Look, I know it sucks to do homework as a candidate before you interview. You're taking 5 hours to do it. And I know it feels like a disrespect for your time.

But there are devs on the other side who are part of the interview process too. And for each candidate most companies interview, there's about 2 hours for every hour interview per person. Cos there's usually some kind of prebrief, the interview prep, the interview itself, then filling out scorecards and the debrief. That's a time investment too.

And if I'm interviewing tons of people, and then give them the homework, and it turns out they're great people but can't do the job we need them to do, then we wasted their time, got their hopes up, and wasted a lot of our time. Hiring people for a team is extra work. If I spent 3 hours in interviews today, guess what? I still have to get my work done too.

The argument against homework from the candidate always comes down to "Why should I have to prove I can do what I say I can do?"

Because that's what interviews are. And if you can demonstrate you can do what you say you can do, you'll make six figures sitting behind a computer screen in air conditioning.

Sounds like a sweet deal to me.

bphogan··on How I didn't become a SoundClouder
Really? As a potential member of my team, I really do want those questions answered because how you answer them tells me about your character, personality, and thought process.

I don't care what your biggest weakness is. You could have severe OCD or addiction. You could battle depression. You could be a chronic procrastinator. None of those matter. What does matter is if you give a solid straight honest answer, rather than some canned crap you read on a web site somewhere.

Same goes for how you manage multiple high-priority things. Every job I've worked on, every team, it always happens that there are multiple high priority things. Do you try to do them all and then crash and burn? Do you do them half-assed? Do you fight to get priorities aligned? Do you call the sponsors together and share information about the deadlines? Do you under promise and over-deliver? Do you ask for help from your team?

The way you answer is often more important than what you answer. Unless it's "Fuck off."

:)

bphogan··on How I didn't become a SoundClouder
Don't negotiate like that. Instead, just keep score.

If they offer you a homework assignment that you think is going to take some time, and they give you a week to do it, and you can do it on your own time, just do it. Stay positive and upbeat. But learn from the homework. is it trivial? Or is it related to the work you'll be doing?

If, however, they make you come to their office or be available for specific times, and they don't offer to compensate you for skipping your other job or obligations, take that as a sign that they aren't considerate. You could put that as a negative in the "core values" bucket.

But yea - don't demand anything during an interview. You may certainly ask politely, but don't demand. It's a two-way street. Even when you negotiate your salary, don't demand. Be firm, but be nice.

bphogan··on How I didn't become a SoundClouder
Not sure about that.

FizzBuzz is an interview question you just expect.

RosettaCode has every FizzBuzz solution out there. Tons of people know how to FizzBuzz.

This is just "learning enough to pass the test" - a canned answer like the one you know you have for "How do you deal with multiple simultaneous high priority projects?" or "What's your biggest weakness?"

You may be filtering out lazy lazy candidates with FizzBuzz. But just because they can do it doesn't mean they can ship code.

bphogan··on A day without JavaScript
All things put in by a programmer.

You get my point.

bphogan··on A day without JavaScript
I was oversimplifying, hense the smiley.

But since you want to argue...

A request to an HTML document with no JavaScript src links, image links, or CSS links will not make multiple requests. I'm old enough to remember when I had to actively tell images to load.

The code for the page is written by programmers. Programmers cause browsers to make multiple requests. Often times without understanding "the spec".

bphogan··on A day without JavaScript
I taught a ton of a11y stuff in my intro to web classes. Even did screen reader demos. I wasn't the only one. There are lots of folks teaching this stuff. Not a critical mass, but I'm so thankful it's happening. :)
bphogan··on A day without JavaScript
Not really. They gave permission for the initial GET request for the HTML. The rest of the requests were inserted into the document by the programmer and executed by the browser. The browser assumed those links should be fetched automatically and executed. :)
bphogan··on Ask HN: What language-agnostic programming books should I read?
Can I plug my book, Exercises for Programmers? https://pragprog.com/book/bhwb/exercises-for-programmers

It's a collection of programming exercises I used when I taught introduction to programming. They start out incredibly trivial, ("prompt for a name, print "hello [name]" back to the screen. But the trivial part is, in my opinion, the fun part when you work with a new language.

That program is a two line program in Ruby. But it might be much more complicated if you implemented that as your first GUI app in Swift for iOS.

I wrote the book to teach beginners, but I and others use those exercises to learn new languages. The book has no answers, just the problem statements.

bphogan··on On Conference Speaking
Yes to both.

But that's not why I do it. It may sound trite, but I really do want to help others get better at stuff, and if I have something cool to share that I'm excited about, I'll go out there and share it.

If I help just one person in the room, that's a victory to me.

bphogan··on How to talk about yourself in a developer interview
More importantly, it shows accomplishments, not job duties. And that's what everyone wants to see - how your wins there will translate into wins here.
bphogan··on Tmux and Vim – better together
That's what I've done for years too. I didn't know about the diff, but I love that - thank you.
bphogan··on Tmux and Vim – better together
I use a Github repo, but I actually store it on Dropbox. I then symlink everything into place on a new computer.

Any change I make to a dotfile then shows up on any other machines.

http://github.com/napcs/dotfiles/

bphogan··on Switching to Sublime Text from Vim in 2017
That's odd. I switched from Command-T to CtrlP a couple years ago for speed. I wonder now if I should look again.
bphogan··on Switch Is Nintendo's 'Fastest Selling' System in History
This.

However, I am having a lot of fun with Graceful Explosion Machine and Fast RMX. They don't have the depth of BOTW, but they are good games that are worth the price tag. If there can be more games like those, the Switch could do well in the long run.

bphogan··on More Americans now work full-time from home than walk and bike to office jobs
> the vast majority of people benefit from daily social contact.

This I can buy. However, you can have daily social contact. Significant others, friends, family, church, meetups, social outings, etc.

Homeschooled kids have social contact daily. So do people who work remote. Don't conflate hermits with remote workers.

The reason I personally can't stand to be in an office? The people who think that the office is where you get your social fix for the day.

bphogan··on More Americans now work full-time from home than walk and bike to office jobs
I think you hit the nail on the head here - there are lots of folks who view work as a way to be social and make friends. I wonder if a lot of it stems from the fact that sometimes you have to relocate for a new gig, and making friends at work is easier. I suppose it's also good to have friends at work when times are tough.

That's never fit my definition of work though. Work is where I go to work, to get stuff done with motivated people. I mean, I'll be friendly with coworkers, sure... but I didn't necessariliy choose them. Kinda like highschool or college - these people are around because they were placed there. A friend of mine called this "Friends of geographical convenience" once. I have lots of people I get along with at work... but would I invite them to my daughter's wedding? A child's graduation? Would I loan them money if they were desperate? Would I help them move? Could I count on them to help me in troubled times? Probably not, cos people move on from jobs pretty quick. Work friends are kinda like Facebook friends. My real friends and I share more common interests than just computering. ;)

That said, I do have a couple of friends I met through work. But that's different than using work to find friends, I think.

Maybe I'm wrong. I don't know. Just thinking out loud I suppose.

bphogan··on More Americans now work full-time from home than walk and bike to office jobs
Just because you don't see it doesn't mean it's not there.

Do you have any sense of how many people who are forced to head to an office each day would rather not? Probably not. I know I don't. But that's because the majority controls how these people work.

Working remotely doesn't mean you're a hermit. If you are, your organization has a communication problem. I work remote and am able to get social interaction instantly with anyone in the organization.

bphogan··on More Americans now work full-time from home than walk and bike to office jobs
You talk about how your mind works, but then make generalizations based on that, even saying "it doesn't work for a lot of people". You're generalizing and stereotyping based on your own feelings and thoughts about how humans work. I especially take issue with your assertion that people turn out "weird" in relation to homeschooling.

I'm an introvert. I wasn't home schooled. But extroverts think I'm weird because like the OP, I don't enjoy social events with people who aren;'t my friends, I don't enjoy large groups, and after a long day of work I just want to be home with my family or alone in silence to recharge. There are lots of people like me. The "weird" you see? Probably just different than what you're used to.

The approach should be that if you want to work remotely, you should. And if it doesn't work for you, then you should go to an office. We shouldn't force whole groups of humans to do things they are uncomfortable doing. You shouldn't be forced to isolate yourself if that doesn't work, but you shouldn't force me into sitting in an office when I could do the exact same job remotely and be more secure and comfortable.

And neither one of us should call the other "weird" for feeling that way.

bphogan··on Show HN: Dnote – Instantly Capture Your Coding Wisdom
I just took a look at the source, and I think this is the simplest non-trivial example of a Go command-line app I've seen. It's exactly what I've been looking for to get started with a tiny little project of my own.

Thanks for sharing!

bphogan··on Glimmer – Fast and light-weight UI components
If it's not ready to promote, it doesn't need a domain and a landing page. The README file in the repository would do.

If a project puts out a marketing page that doesn't clearly answer the "why should I use this and how will this make my life better" question, they're going to get feedback and criticism.

I found this link on HN. I literally have no idea what this is about.

bphogan··on TidalCycles – A language for the Live Coding pattern
I'm interested in how you're using it for composition. There are some things I feel I'm missing. I'm not so much interested in creating noise with it; that's never been my thing. But I'd love to see some examples of how you're using it for composing, if you could share.
bphogan··on How I Made $70k Self-Publishing a Book about Ruby on Rails
This article is full of great advice on how to write a book, whether you publish for yourself or for someone else.

I have written 10 books. 9 for the Pragmatic Bookshelf. I've made a nice side income on my books by doing many of the same things he lists. This isn't so much about self-publishing as it is about writing great technical content.

Full disclosure - in addition to writing, I am a development editor for the Pragmatic Bookshelf. But I publish my own books with them because they offer the best of both worlds. They split the profits with you 50/50, but you get an editor to work with throughout the process, and they take care of a lot of other things, like distribution, sales, billing, copy-edit, typesetting, etc so you don't have to.

But the important thing is to get your message out there to people in a quality way, like this article suggests. Do the research, find your voice, write about something people care about. If you go the self-published route, get technical reviewers, hire a development editor, and get a copy editor. Your end results will go far.

[edited to clarify value add for publisher]

bphogan··on Phoenix 1.3 is pure love for API development
I did a short video series for Pragprog.com on Phoenix that does not use a database, but does get you started.

It looks like it'll all be out of date by the time 1.3 hits though. :(

Anyway, it's at https://pragprog.com/screencast/v-bhphnx/build-real-time-web... if you're interested.

bphogan··on I am an Uber survivor
Exactly. It's not an independent investigation if you hire the investigators.
bphogan··on The Impact Github is Having on Your Software Career
I'll chime in.

I have always asked for it politely in advance as part of the negotiation process, before there's a contract. I didn't try to strike stuff out. I specifically made it clear throughout the process that there are some things that are important to me that I wish to continue doing. It's usually never no when I ask because the outside work I've done is often the reason we're talking in the first place. When I frame it that way, they're usually able to find some exemption.

The conversation usually starts with my soon-to-be manager about me wanting to work on projects on my own time without using company resources, that don't directly compete with the company's business.

I've been fortunate enough that I've never been in a position where I've only had one offer I've had to take, though. If they said no, I was always able to go to another offer and say yes.

Some companies literally do not budge though. But I have to look out for me and my family. I do side projects mostly to learn stuff and help people. I also love writing about technology. And, for example, my current job doesn't really have a place for me to do Elm and Elixir, but I think those things are important skills for my future.

If I take a job that doesn't let me do those things, and they decide to let me go because reasons, now I'm on the market with out-of-date skills and that scares me. It also scares me to work for a company that's against me investing in my skills on my own.

I think that if I was in a situation where they wouldn't budge on that, I'd have to walk away and take my chances as a freelancer at that point. I mean, I'd rather have my risk spread out among a few clients than on a single employer who wasn't willing to negotiate.

bphogan··on Uber Investigating Sexual Harassment Claims by Ex-Employee
Yup.

This gets posted from time to time, but if you work for a company, you really owe it to yourself to read Corporate Confidential.

https://www.amazon.com/Corporate-Confidential-Secrets-Compan...

← PreviousPage 2 of 24Next →