Joshua Paling

Joshua Paling Joshua Paling http://blog.url.com/ 2018-10-14T11:00:00+11:00 Joshua Paling I'm blogging sometimes on medium http://blog.url.com/blog/2018/10/14/medium.html 2018-10-14T11:00:00+11:00 2019-12-15T16:25:06+11:00 Article Author <p>Follow my infrequent posts from now on over at <a href="https://medium.com/@joshua.paling">medium</a></p> Questions for potential employers http://blog.url.com/blog/2016/08/08/questions-for-potential-employers.html 2016-08-08T10:00:00+10:00 2019-12-15T17:12:28+11:00 Article Author <p>Unexpected circumstances have meant I've done two job hunts in recent months. I usually scribble down a handful of questions to ask or consider prior to each interview. Here they are so I can remember and refine them over time.</p> <ol> <li> <p>What does the business do? Who's the target market? What's the dream? How big to you want to get etc?</p> </li> <li> <p>How long have you been around? Are you profitable? Have you taken VC? Who are the main people strategically driving the direction of the business?</p> </li> <li> <p>How big's the dev team? How many people? What roles? Full timers, part timers, contractors? How long have the core members been there? Who would I be reporting to and working with most closely?</p> </li> <li> <p>How's the leadership structured, and how's work delegated? Top down? Flat? Collaborative? Do you follow any specific development methodologies?</p> </li> <li> <p>What tech stack are you using? (and subsequently… you mentioned X an Y, which I don't have experience with. Are you OK with that?) <em>They should at least be fine with you not knowing peripheral technologies in their stack.</em></p> </li> <li> <p>Are you open to remote work? Does anyone actually work remotely? If so, how often? Have you found it good / bad / indifferent? What are typical work hours? Are you flexible with the times people work? Do people take advantage of that flexibility?<br /> <em>Being "open to remote work" and having people who actually do it are two different things. Likewise for flexible work times.</em></p> </li> <li> <p>What will I learn from a technical standpoint in this role?</p> </li> <li> <p>What are the career growth opportunities - both within this role / company, and if I were to move on in a year or two's time?</p> </li> <li> <p>How do you manage technical debt and maintain code quality?<br /> <em>There are lots of valid answers to this. A vague answer is a red flag.</em></p> </li> <li> <p>Do you pay for employees to go to Ruby Conf and Rails Camp (or other equivalents)? Do you do anything else regarding ongoing professional development for your employees? A "yes" here is good and reveals a lot about general attitude towards employees.</p> </li> <li> <p>What are your expectations regarding pay?<br /> <em>I used to be very uncomfortable talking about pay. One of the best life skills you can get is the ability to talk about it in a confident, upfront, open manner.</em></p> </li> </ol> <p>Edits: additional questions / comments given to me on twitter:</p> <p><a href="https://twitter.com/sevenseacat/status/769855544349773825">Rebecca</a>: "some of those would be useful to ask to both the employer, and one of the devs you would be working with. Compare the answers."</p> <p><a href="https://twitter.com/pat/status/769860587677331457">Pat</a>: I'd be asking questions about culture and diversity - is it on the company's radar? How are they addressing such things? <br /> <a href="https://twitter.com/pat/status/769864749735550976">and</a>: I'd also be keen to hear about leadership (top-down, collaborative, etc) and ownership (profit-sharing? equity?)</p> <p><a href="https://twitter.com/RudyYazdi/status/769862693205311488">Rudy</a>: I'd throw in something along the line of: "how do you measure my performance?" type question too ;)</p> <p><a href="https://twitter.com/grokfail/status/769907753758228480">Garrow</a>: how do you decide what gets built? Who does that? How do you measure the success of built thing?</p> <p><a href="https://twitter.com/andrewdotnich/status/770197793424105473">Andrew</a>: do you have any references? (I have to provide them, so where are yours?)</p> What makes a good talk? http://blog.url.com/blog/2016/03/22/what-makes-a-good-talk.html 2016-03-22T11:00:00+11:00 2019-12-15T17:01:40+11:00 Article Author <p>After Ruby Conf AU, I came away noticing a few common traits of good talks:</p> <h2 id="excellent-delivery">Excellent delivery</h2> <p>On stage, you’re not just speaking, you’re performing. Turn the enthusiasm up a few notches from what you’d use in a face-to-face conversation. Don’t just stand behind the podium and read.</p> <h2 id="a-story">A story</h2> <p>Don’t present points. A blog post can do that. Bring some personal anecdotes in, and weave a story out of the information you’re presenting. Relive the emotions you felt at the time. This comes back to the idea of ‘performing’.</p> <h2 id="great-tech-talks-require-great-examples">Great Tech talks require great examples</h2> <p>Distill the technical idea to the smallest, most basic possible representation. Come up with a simple, self-contained example domain for all code demonstrated. Most people don’t do this and their talks are much worse for it. (The quote <em>‘I wrote a long letter because I didn’t have time to write you a short one’</em> comes to mind)</p> Workplace Pet Hates http://blog.url.com/blog/2016/03/09/pet-hates.html 2016-03-09T11:00:00+11:00 2019-12-15T16:25:47+11:00 Article Author <p>A list of my pet hates - particularly re: management, so I can make sure not to do them should I ever be in that position.</p> <ul> <li> <p>People who prefix every task they delegate with words like 'simple', 'quick' and 'easy'. They rarely are, and it makes you feel like you're constantly under performing when a "simple" or "quick" task takes longer than expected.</p> </li> <li> <p>Context switching. A productivity killer, and general motivation killer. Creative work (including software dev) takes place when developers are given time and autonomy. Nothing's worse than being pulled off a task just when you've got into the zone.</p> </li> <li> <p>No team building / social stuff. I'd really love to think that team building stuff is a wank and a distraction from getting real work done. The reality is, though, over the years I've noticed it really has an impact. It creates a sense of solidarity that carries through into work, and it's really important. The problem is, it's never the most pressing task; there's never something that will break the next day if it doesn't get done. And, especially as workers get older / have families, it's increasingly less appealing to eg. go out for drinks after work. Still, you have to make team building a priority.</p> </li> <li> <p>A "bums in seats" mentality. The easiest, and also least effective, way for a manager to determine employee productivity is to count the number of hours they're sitting at their desk. A far more effective way is to gauge general attitude, frequency of screwing up, and what other team members think of working with them.</p> </li> <li> <p>Putting pressure on you to get a task done ASAP. This is a tricky one. There are certainly times when a "good enough" job is better than a "perfect" job. In general though, the developers themselves are usually in the better position to make the call on what's worth tidying up now, and what's worth leaving for "later" (aka never).</p> </li> <li> <p>Being tasked my multiple people. The trouble is, then each of the people tasking you don't know how busy you are, or how much work the other "taskers" have given you. There should be a single point of contact managing your workflow (that point of contact can be you, but that means you have to have the authority to turn down tasks, or say that they can't be done for a while, because you've got too much on). If someone requests new work that could be done by you, it should go through that single point of contact, even if the person requesting it is above that point of contact in the heirarchy. (Eg, CEO should ask CTO for a change, as opposed to asking a dev directly. If they ask a dev directly, dev can just pass on to CTO.)</p> </li> <li> <p>Managers who speak in text speak and leave out joining words or eliminate punctuation etc in their emails, making them harder to read. It gives the vibe of "I'm too busy to communicate clearly".</p> </li> </ul> Perfectionism is a disease http://blog.url.com/blog/2016/02/16/perfectionism-is-a-disease.html 2016-02-16T11:00:00+11:00 2019-12-15T16:59:19+11:00 Article Author <p>In year 10, my art teacher stopped me.</p> <blockquote> <p>Stop! You're a perfectionist! And perfectionism is a disease!</p> </blockquote> <p>Having been praised for my perfectionism all my life, I dismissed her advice. It took more than a decade for me to realise just how right she was.</p> <p>Perfectionism exists in maths tests and multiple choice comprehensions. It doesn’t exist in real life, and it certainly doesn’t exist in business or software. "Perfect" is the good-enough trade off between countless goals pulling in different directions.</p> <p>In real life, perfectionism is a disease.</p> Getting Noticed http://blog.url.com/blog/2016/02/15/getting-noticed.html 2016-02-15T11:00:00+11:00 2019-12-15T16:17:23+11:00 Article Author <p>I took my own advice at Ruby Conf and introduced myself to several of the better known speakers. One thing I asked each was: what is the common trait between yourself and others who are <em>'famous within the community'</em>?</p> <p>Interestingly, none thought it was a matter of being significantly smarter, or better at programming. All told me essentially the same thing: it's a matter of fearlessly and repeatedly putting yourself out there in public, and providing as much value as possible to the community.</p> <p>Katrina Owen put it most succinctly: &gt; you have to have done something in public that people appreciate.</p>