Working with the same group of people for 20 years is probably as bad for your creativity as working on the same project for the same company as long. Your skills stagnate, your ideas become inbred, your work becomes outdated, and your growth becomes limited by the Clique that helped you earlier in your career. … Read More The Toxic Clique
The nature of our jobs as software engineers is such that we must deal with externalities. Hardware will crash. Services will auto-scale up and down. Garbage collection will occur. Humans will make mistakes and use our software in ways we did not anticipate. Someone will write configuration instructions for you on how to setup your dev environment, and they might not apply perfectly to your setup.… Read More Why don’t they tell you that in the instructions?
We shouldn’t be recruiting developers based on some single technology they know but on what they can learn and apply in the future. A generalist developer that can pick the right tool for a given taskand articulate why they made such a decision is a lot more valuable than a specialist.… Read More Good developers can pick up new programming languages
Employers do search candidates on social media — and so should candidates. No one wants to work for a company that trashes its’ former employees and candidates. No one wants to hire a candidate that trashes their former employer.… Read More Am I getting old or is it really ok now to trash your employer on social media?
I am the wrong Chief Architect for the Good Idea Fairy to prey upon. You see, I am a very practical and pragmatic Chief Architect. I know what I know, and I know what I don’t know. I solve problems by writing code — I have the background and the training to do that. I can see through the bullshit.… Read More Good idea fairy strikes when you least expect it
Developers should feel empowered to configure their environment and development tools to their liking and contribute to the shared team standard. They should know the libraries they picked and why they picked them. They should be able to articulate why they like one programming language over another. As part of their job, each developer should be able to state clearly and in actionable terms how they’d like to work.… Read More Tools of the craft
An elephant graveyard, when applied to a corporate setting, is a team, company, or some other set of conditions in which otherwise bright engineers are forced into positions or assignments where there is no hope for future career growth. In this post, I hope to define the conditions that must be present for an elephant graveyard to form, how to detect them, and how to navigate them.… Read More On elephant graveyards
By sending me unsolicited emails and by cold calling me using robotic software you are indicating to me that you feel my time is not valuable. You are saying that interrupting me all day with unsolicited emails and cold calls costs you nothing but a small chance of you winning a gig is worth it to you.… Read More Teleportation can corrupt your data
For many years I couldn’t understand what software architects do. Early in my career, I thought they were useless. As a young developer, I felt that I could do the job of a business analyst, software architect, and developer all at the same time. Now, seventeen years into my post-college career I am one myself. I am trying to learn what it means to be a good software architect, and I hope to be one myself.… Read More What does a Chief Software Architect do?
November of 2016 marked five years of my work at Liquid Analytics. On New Year’s Eve in 2011 I wrote: Breezing through your day at work is a recipe for stagnation. Any spare brain cycles you have at work should be spent on thinking about how to improve yourself and your project. The biggest lesson… Read More Here is to a great 2017!