For now, I'm having a blast but I want to keep my actual software engineering skills sharp where I also learn some stuff on a part-time basis. Preferably stuff that I can also put on a resume that will be seen as experience.
What would you suggest I should do? I was thinking about joining an open-source project of a big enough scope or something. Perhaps I should insist on fun software, which would be certain web apps or game development in my case.
So the answer is I don’t.
I had been programming continuously from the time I was in 6th grade in 1986 until 2020.
As I pivoted into more strategic cloud consulting specializing in cloud architecture + application development in 2020 - “cloud application modernization” - I started coding less and less to the point now that almost any time that I even suggest writing code at work even though my title is “staff software architect”, I get my hand slapped and asked why didn’t I delegate it and focus on “higher impact work”.
I keep my knowledge of the industry up to date by continuously learning during the work day. But when I get off work, I shut my computer down and live my life - spending time with my wife and friends, exercise, travel, concerts, etc.
We travel - a lot. One of the benefits of remote work.
If I do need to pivot back into hands on coding, I have a years worth of expenses in savings in the bank aside from retirement savings to give me time to get back into the groove of things.
Don't do open source for the sake of it, unless its a product you actually use.
Perhaps you could fork my simple raycaster and add your own enhancements to it, its a simple project [0]
[0] - https://github.com/con-dog/2.5D-raycasting-engine/blob/maste...
No other reliable and meaningful way.
Nothing beats actual job in improving a complex skill. There is no shortcut to imitate that.
> But for a software engineer, the amount of programming feels low. It's more like creating quick scripts.
I feel like it’s the other way around. When I worked as a data analyst (before transitioning to a data scientist and eventually a full-fledged SWE), my experience was quite different. As a DA, I mostly wrote aggregation queries, built dashboards, and did some Python, Pandas, and Notebook munging.
On the other hand, SWE is a different world. I guess it depends on the type of SWE you are and the nature of the organization you work for. At a large-scale organization, as an SWE, I did far more programming work than I ever did as a DA.
That said, there are different ways to cope and build skills—it takes time. I do side projects and, more importantly, write about them regularly [1]. Since I have to publish something each week, it forces me to think about different problems and seek out new technologies to try out so I can write about them. I also write about things I’ve figured out at work, which has been immensely helpful. Over the years, this act of actively seeking knowledge has added up and become substantial.
More than once, people have reached out with job offers just because they stumbled across my writing on Hacker News or other social media platforms.
Your approach might be different. Find something tangential to programming and work on it outside of work hours. Even a few hours per week adds up. For me, it’s side projects and writing. For you, it might be something else.
[1]: https://rednafi.com
As a software engineer you bring a perspective to the job that many of your colleagues may lack. Lean on that and use that background to help build better tools and ways of working. This not only makes your job (and the job of your colleagues) easier in the long run it will also let you keep your software engineering skills sharp.