One problem I'm constantly having to remind myself of is that professional software development is just as much business and people skills as it is technical skills.
You have to learn how to communicate, whether it's with your team, with your managers, clients, customers, etc. you need to be able to engage in conversations that ensure you're building what's actually needed. Part of this is working with the boring and complicated issue trackers, being active in meetings, learning to ask the right questions, and learning to not just accept, but graciously welcome both positive feedback and criticism.
You also need to look at all your code through a business perspective, or how will it help you or the company make more money. It's so easy to get lost adding cool new features that don't really help the business, and to want to give away code for free, but that's not going to put food on your table or keep the company in business.
My name is Lewis Menelaws. I am a developer and entrepreneur located in Sarnia, Ontario focusing on creating great things for the web. Currently I am Lead Developer and Co-Founder of TMRRWinc.
On your learning to communicate, you also have to allow yourself a few bumbles now and then too. I used to be SO hard on myself I'd shut down and "hide inside", getting nothing at all done. Be kind to yourself, no one is perfect at being human.
This is what happened to me here at this lovely website when I interned here. It doesn't do your team any good to shut down like that. I realize this now, but when it was happening I was defeated. This is a good reminder for me and an encouragement.
One problem I'm constantly having to remind myself of is that professional software development is just as much business and people skills as it is technical skills.
You have to learn how to communicate, whether it's with your team, with your managers, clients, customers, etc. you need to be able to engage in conversations that ensure you're building what's actually needed. Part of this is working with the boring and complicated issue trackers, being active in meetings, learning to ask the right questions, and learning to not just accept, but graciously welcome both positive feedback and criticism.
You also need to look at all your code through a business perspective, or how will it help you or the company make more money. It's so easy to get lost adding cool new features that don't really help the business, and to want to give away code for free, but that's not going to put food on your table or keep the company in business.
Completely agree. Tech addresses the needs of a business. Not vice versa. Thanks for the reply :)
On your learning to communicate, you also have to allow yourself a few bumbles now and then too. I used to be SO hard on myself I'd shut down and "hide inside", getting nothing at all done. Be kind to yourself, no one is perfect at being human.
This is what happened to me here at this lovely website when I interned here. It doesn't do your team any good to shut down like that. I realize this now, but when it was happening I was defeated. This is a good reminder for me and an encouragement.
I have this tendency and only recently I have been able to get some control back. It takes time but even a little improvement matters.
This hits too close. I am guilty of almost all of the above and it’s almost painful to know there are many others in the same boat too.
Makes me wonder if this is solely an isolated problem or something that we are culturally cultivating in the profession.
Many of us give undue emphasis to what we do and extend it to encompass all aspects of professional and personal life.
Thanks for sharing.