From Physics to Code: My journey into Software development - update 2
Some wisdom I can share is that, when you start in a space where you are a complete novice, it's important to embrace your lack of knowledge. This mindset will help you remain open to new information and foster curiosity, which are essential for growth.
Accept that you dont know much about the space. This will help you open your ears and be welcoming to information that will help you grow. Furthermore, you will be curious.
Because you have accepted that you dont know, the next thing to do is to ask questions . You will come accross as annoying to some people in your work space, but that should not discourage you as if you do not ask you will never know and no one will ask that questions you have in mind. In addition remember there are people who you work with that want to see you grow and become better at what you do.
You have to put in a lot of hours consistantly. As you have to train yourself to the point where what you are doing is of second nature. This will mean you will do many personal projects, as these will help you learn the work and understand the tools that you will be using in your career.
Always keep in mind that you will fail at what you do, what is more important is the next step you take after failing. Remember you are human and you will get things wrong. You just have to try again.
As part of my development, I have built a banking system using java core. As I learn new concepts in java, I then mature this project. If you look in to my project, I am yet to include the best practices and elegant code writing. My objective with is to master core tools of java. When I gather more knowlege, I will then improve it such that the solution is cleaner. Through this project I have now a better grasp of the Java fundamentals as compared to where my knowledge was before.
I have now started to use a platform called codewars this is a space where I get to do problem solving using java. Through codewars I get exposed to haow to use java tools like an expert. As when you solve a problem, you get to see other people’s solutions and how they have written the code. Trust me, people out there have very smart ways of doing things. By getting to tread other people’s solution, my code reading skills have improved.
Code reading is a critical skill to have when you are a developer. When you work for a company, you are not starting code bases from scratch. You normally inherit code from your predecessor. Also you will need to debug code, thus if you do not expose yourself to reading code and different coding styles. You will face a challenge when you ahve to enhance code or fix bugs.
The banking solution at this point will require a change in how I have written the code, so if you look into the project you make suggestions on how I can write certeain elements. The next one will be to change data structure, for storing accounts in Bank class. Introduce database onto the system, add user authentication, introduce logic to change state of account (Active or Inactive).
In conclusion, embarking on a journey from physics to software development has been both challenging and rewarding. Embracing my initial lack of knowledge allowed me to remain open and curious, essential traits for growth. By asking questions, dedicating countless hours to practice, and learning from failures, I've steadily advanced my skills. Projects like the banking system and platforms like Codewars have been instrumental in honing my Java expertise and improving my code reading abilities. As I continue to refine my projects and expand my knowledge, I am excited about the future possibilities in my software development career.
Subscribe to my newsletter
Read articles from Sabelo Mkhize directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by