I came across this saying from ThePrimeagen, that as a software engineer, we should not ask for permission to do things. Instead, when we see a potential solution to a problem, create prototypes to show others the solution. Then, if things don’t work out, ask for forgiveness. This is in contrast to asking for permission to work on a potential solution before actually getting down to creating anything.
The reason given is that it is difficult for others to fully understand your ideas from an explanation with only text.
I’ve recently become a software engineer after a career switch from marketing. In my short time so far, I’ve come to realise the importance of writing regularly.
Clear communication is an essential part of any work, but even more so in software development. We interact with computers that understand code, not the communication that we’re used to with other fellow humans. The nature of code makes it such that we need to be highly specific with our instructions for the computers.
A while back, I was tasked with improving the performance of our mobile app. Performance optimisation is not a new thing to me, as I’ve seen YouTubers doing various kinds of performance benchmark comparisons of different tools. However, it was my first time trying to optimise a real production app, and I found it fun! I detail some of my investigations and discoveries during the process, and share what I learnt from this experience.
Software is complex. Developing a feature that is user-friendly, performant, and secure, while also writing code that is clean is already a real challenge. There are many articles and videos that discuss the various tradeoffs that businesses face when developing software. Take too long to develop, and the business won’t meet its delivery goals; develop too quickly, and we might miss out critical issues like security.
As a new software engineer, there is plenty that I don’t know.