#begin
You also need to set a couple of realistic goals for yourself and keep them. Think about the new year resolutions you set for yourself. Do you keep them? Are they realistic? It’s really important that if you set some goal you know you can reach them by the end of the year or else you will never make them. And yeah, this also includes your goal to go to gym for physical exercise in January but by the time February rolls around you wont show up for the rest of the year. It’s really cliché but it really does happen a lot.
But alright, the authors’ first tip about setting goals is that you should learn at least one language every year. Uncle Bob says the exact same thing. An important aspect of this goal is that you shouldn’t have to be an expert in this new language. But if you really like that language, you are able to switch over and continue your career in that language because you know enough to be productive. Different languages solve problems in different ways so learning the basics of some language will definitely change your view about the problem domains you are working in. For example; the last languages I learned over the past years are Kotlin, which is rather similar to Java but more modern. I also learned Clojure, which is a dialect of LISP that runs on the JVM, the Java Virtual Machine. So the runtime, not to be confused with the Java language. And I learned F# this year. F# is language that runs on the CLR so the Common Language Runtime by MicroSoft. F# is essentially, a functional version of C# running on the dotnet platform.
Now… I’m far from an expert in these languages. But I’m definitely sure I know enough about these languages that I can solve some basic problems and I know where to dig into when a problem does get difficult. Why did I pick those three? Well because I thought they were interesting. The next language I’ll probably dig into will be either GoLang or Rust. Maybe Rust first because then I can have a look at another game engine called GoDot, which I have not really payed much attention to till now.
The next tip they give concerning your goals is that you need to read at least one technical book per quarter. Quarter of a year they mean, so one book each 3 months. This is really great advise and one I have followed up on ever since I read this book. I read a lot of technical books, at home but also at work with my morning coffee. Recently I read Modern Software Engineering by Dave Farley and it’s a really awesome book. Also, I’m digging into this book again, the pragmatic programmer for the blog. Plus we have already discussed two other books; Clean Code and A Philosophy of Software Design. So I guess, for the book part we are settled for now. I’m also currently reading The Annotated Turing by Charles Petzold.
The next tip is that they also recommend you to read non-technical books. Yes, you really need to do this to wind down your mind and maybe even get some much needed inspiration. A dude called Elon Musk famously designed his SpaceShip rocket to look like the rocket in Hitchhikers guide to the galaxy… just sayin’. I’m reading a couple of non-technical books as well. I’m reading a book called MoonShots by Naveen Jain which is about start-ups and the entrepreneur mindset. I’m also reading some old Lovecraft stories plus I read daily to the kids, although these a kids books. But it’s really interesting to hear theirs thoughts about certain topics in these books sometimes.
I often read one technical book, but multiple non-technical books over the course of a month or two. I really need my mind around while reading technical books and thus I only read one at a time. But when reading non-technical books I like to switch a little bit depending on my mood. So if I need to wind down, before I go to bed for example, I’ll probably read some fiction. Something I do not have to process well and long. But at other times I might read some books like Moonshots or books about leadership, investing, psychology, philosophy or nutrition. It depends on my mood as I said 🙂
Their next tip is to take some classes at local universities or workshops at user groups or conferences. I do some classes every now and then, when I can find a hole in my schedule. Although over the years my schedule has become more and more thigh. If you are a parent, or once you become one, you know exactly what I mean. The last course I did was a course on Enterprise Architecture at a local university here in The Netherlands. I learned quite a bit from that course, mostly that, Enterprise Architecture is not for me. I thought it was pretty boring and involved a lot of politics. I wrote a lot of blogs about that course which you can find by searching for “Enterprise Architecture” on this blog. I’m glad I did the course but it does just not really align with my interests, which are mostly oriented towards technology and game development or software engineering.
They also rightly advise you to participate in local user groups if there are any. This is a great idea although not feasible for everyone. I’ve for example been searching for local user groups on apps like meetup for example. But in my neighborhood there simply aren’t many, which is bummer. The nearest user groups of any kind are at minimum a 45 to 1 hour drive. And often these groups are held during weekdays which is impossible for me at this moment. So although I would really like to participate in user groups it’s just difficult to pull off. Maybe you are in a better situation and thus you should take the opportunity to go to the user groups and share and learn about your craft. I’ve been to a couple and I never regretted it.
These groups help you to stay current in the rapid changing technology space we operate in. It’s truly ever changing. So read some blogs, books, newspapers and if you are into it, dive into research papers related to your interests. And of course, listen to many podcasts. Podcasts are often very timely. Topics are often recent since that will pull in listeners. And don’t forget about youtube or websites like Udemy. I just read in the 2022 StackOverflow developer survey that Udemy is the most used site for upskilling. Which they certainly deserve. It’s a really great website. So check some courses out there, you will most likely learn new stuff. Learning is important, so keep on learning.
One part of learning is also to be a critical thinker. The authors say that you should always critically analyze what you read and hear. And I fully agree. One thing I still fondly remember from a professor in University is that he said that you should always take any advise or any information with a grain of salt. Then do your own research about it in trusted sources like books or research papers and only then you can make a decent choice if you agree or disagree. I’ve taken that advise to heart because I apply it in every aspect of my life. If I’m having a discussion with someone, and they tell me something or ask me a question about something I know nothing about. I’ll tell them in all honesty that I don’t know but I’ll look into it and come back to him or her. There’s nothing wrong with not knowing things, it’s just another opportunity to learn. And learning is continuous. So you should enjoy it as much as you can.
This also leads into another section of the book which is all about communication. We all know that communication is a very important aspect of our job as developers. Just writing code, without doing communication about will lead you down a dark path. We must communicate with customers or product owners about requirements, features, estimations and deadlines. But we must also communicate with our peers for transferring knowledge.
#end
01010010 01110101 01100010 01100101 01101110
Recent Comments