Dear new developer,
The more experienced I get, the more I realize that the hard part of software development (for the kinds of software development I do, primarily business web applications) is not the coding. It’s the communication.
You need to communicate, often among shifting parties over weeks, months or years:
- why you are building something (to motivate people)
- what you’re trying to build (to make sure builders have the same vision)
- how you’re building it (to make sure that builders’ various components work together well and are cohesive)
- when it will be done (so that all the follow on pieces of work–sales, marketing, etc can be scheduled)
Whew, that’s a lot of communication. But it’s important.
This piece, “Talk First, Code Later”, talks about the same problem from a different viewpoint. From the post:
After we all got on the same page, we made a plan, the other team abandoned their original change, and we agreed on the way forward. In one case, we shipped the new feature that unblocked the other team. In the other case, we coached the other team on how to implement the change in a way that we could accept the pull request.
It also has some handy tips on how to maximize communication when you are making a change to a system with which you have minimal familiarity.
The whole post is worth a read.
Dear new developer,
Depending on what your life looks like, you may have some time where your body is occupied, but your mind is not. At least not 100%. Tasks like doing the dishes, running and driving all fall into that category.
In this extra time, you may want to listen to podcasts. Most smartphones have an app but you can install your own (I like PodcastAddict). Good podcasts:
- expose you to new ideas (so you don’t remain an expert beginner).
- reveal new technologies and tools.
- are a source of wisdom and experience.
I think there are three categories of podcasts that you can listen to that will help your development career (I’m omitting lots of great podcasts by adding that clause).
- Domain specific. If you work at a startup disrupting the real estate industry, listen to a podcast or two about real estate. Car insurance? Fashion? In each case you can find podcasts that are focused on your domain. You don’t need to be an expert in your domain, but the more you understand of it, the more able you’ll be to implement software in that domain and communicate with subject matter experts (SME) about the nuances of the problem space.
- General software development. These podcasts talk about software development in general. Some are more technical and cover architecture or other interesting problems. Some are less technical and discuss the human side of software development. But these are the podcasts you are least likely to unsubscribe from when you switch jobs, because the topics are broad enough.
Don’t feel that you have to listen to every podcast episode. For these types of podcasts I don’t listen to every episode of any podcast, because no podcast is specific enough to what I need. I pick and choose based on the show notes and the guests. And don’t feel bad about unsubscribing when you switch industries or if a podcast is no longer of interest.