Around 18 months ago, I decided I needed a new job. It took almost 8 months to find my current job, and I swayed between wanting to leave and wanting to stay. In the end I discovered that I was finding excuses to stay because I’d been there long enough, and made enough friends, to … More How do you know when it’s time to move job?
Once you start getting experience, you’ll find other developers asking for your help. I started tutoring at university so that I could help, and reflect and improve my own knowledge. Mentoring isn’t about answers. It’s about learning how to find the answer. The most interesting problems we deal with are the ones that no-one knows … More How to mentor
I’ll let the other guides at CodeCraftConf summarise their talks if they wish, but here’s a few quick takeaways that I want to record. Simplicity Simplicity is always good to strive for, but the most interesting question for me is how to tell when code is not simple enough. It happens when we get frustrated, … More CodeCraftConf take-aways
Following the Usable APIs guided conversation at CodeCraftConf, I wanted to capture some of the thoughts that came out. Starting an API (as a user or a developer) Does the API documentation include examples of usage (i.e. have they thought about the client) How mature is the API? How well maintained is it? How long … More Usable APIs follow-up
@joe_jag a developer who practices continuous improvement, with our without the support of am agile team. — craignicol (@craignicol) September 29, 2015 A developer who practices continuous improvement, with or without the support of an agile team. You care about being better. You consider code to be craft. You’re only happy when you deliver value, … More What is an agile developer?
Have you ever worked with a developer who knows everything? The one who does a bit of tinkering in the evenings and weekends, and when the rest of the team come in, they can’t find anything in the code? Yes, it’s a bit neater, but it’s a lot more broken, because it’s less readable, because … More Bad change : The rock star developer and dealing with unexpected change
Many thanks to those of you who came along to my talk on why your API sucks. There were some great discussions during and after, and I hope I’ll be seeing slightly fewer reasons to tear my hair out in the near future. A few things that people mentioned that I want to discuss again, … More Developers are Users Too : Why the User Experience of Your API sucks #yourapisucks
We all make mistakes. We should learn from them, whether it’s because we didn’t know enough, or because we’re taking a risk. People are afraid of mistakes. We’re afraid of being found out. We need to fight imposter syndrome, and tell the world we are not phonies. So we don’t want to fail, we don’t … More Fear of failure, and risk-takers
Standards are great. They help users understand what to do, they allow developers to write libraries that support multiple packages. Use them when you get the chance. Not invented here Sometimes companies can’t help themselves. They need to use something they control, to lock developers in, or because they’re agrophobic, or just to be different. … More Your API sucks : standards
Exceptional validation So many places I’ve seen throw an exception for the first validation error they encounter: HTTP 500 – Credit Card number invalid When I see that, I need to make multiple calls before I can see what’s wrong. If you’re going to validate, try and validate everything beyond authentication in one shot, like … More Your API sucks : Error handling