3 ms·
23 years of solid experience in programming. The hardest parts for me have been: - integrating with other systems, often APIs. The difficult part is the consta
by temporallobe 3y ago
23 years of solid experience in programming. The hardest parts for me have been:
- integrating with other systems, often APIs. The difficult part is the constantly changing API contracts, which break integrations in often unpredictable ways
- Leaning new libraries or frameworks that often reinvent the wheel for no good reason
- Understanding the deep layers of abstraction in some systems (be it a DSL, a transpiled language, pipelines, etc.)
- Training or mentoring incompetent engineers who probably choose the wrong profession. This can be exhausting and time-consuming.
- Learning the soft skills required in some types of environments or contracts. Programmers often don’t have the best skills for interacting with stakeholders or leadership, and I have learned this the hard way on many occasions. I have worked very hard on developing my soft skills and it has paid off, but it took a lot of time and effort.
- Context switching. I can context switch like a boss now, but it took me about 10 years to master this.
If I had a few hours to spare I could come up with much more.
- beezlewax 3y agoPainfully aware that my soft skills need improving but I'm not sure where to even start. I've started prepping more before important meetings but I'm easily so lost in code that I forget meetings are even happening sometimes.
- eska 3y agoThe simple answer is that you need to ask yourself why somebody would pay for what you create. This leads to thinking about market demands, user experience, etc., and you will learn to argue from the customer’s and user’s POV. Then again you’ll ask yourself why you’re not self-employed because you’ll realize most of your managers aren’t good at this stuff either.
- al_borland 3y agoI read (listened to) a book on soft skills for developers[1] years ago. It was a pretty quick and easy read (listen). It might be helpful to call out some areas where you might be lacking, to make you aware, and then give you some ideas how to tackle them. For me, I ended up in the business school when I went to college. That probably did more for my soft skills than anything else. It forced me to learn out to write things that were more than 2 sentences long… not through a class or direct teaching, but by necessity. I always try to think about my audience when I do anything. Who is a presentation for, who is an email to, what am I trying to convey? In sprint demos to those who will consume things I make, I don’t get technical at all, I focus on the value it will provide to them. How will it save them time and toil? How can they consume it? That’s what they care about. It doesn’t matter how technically impressive something is if people can’t consume it, don’t know how to use it, and it doesn’t help them in some way. Some of my team members didn’t like when I tried to sweep their tech talks under the rug, but our stakeholders said we had some of the best presentations in the company as a result. We didn’t bog them down and lose them in jargon, and instead we focused on what mattered to them. We saved the tech talks for internal presentations with people who would get value from them. The same goes for your boss. Your job is to make your bosses life easier. Do that and you’re golden. Make their life harder and it will probably be reflected in reviews. Always try to put yourself in the other person’s shoes. If I need to prep something for a future meeting, I try to do it right when I hear about it and it’s fresh in my mind, before I get distracted and it becomes an item on my backlog. Then I stick it somewhere I know I can find it when it’s time for the meeting (or send it out before the meeting so people have a chance to review it). In terms of image within the company, I think this stuff matters a lot, so I raise it high up on my priority list. Plus, if I’m not prepared for the meeting, it means I’m wasting other people’s time, which isn’t good. Even worse if it means we have to have yet another meeting. [1] https://www.amazon.com/Soft-Skills-software-developers-manual/dp/1617292397/ref=mp_s_a_1_7 https://www.amazon.com/Soft-Skills-software-developers-manua...