Study Advice from a Software Engineer Graduate

Study Advice from a Software Engineer Graduate
 

Name:                                            Dylan Brandt

From:                                            Alberton. Johannesburg

Age:                                              22

Highest Qualification:         Bachelor of Science (Computer Science)

WITS UNIVERSITY

At what age did you decide to become a Software Engineer?

Well, I always wanted to become a mathematician, I just did not know what kind. I think I finally decided I wanted to study an applied math subject like Computer Science in 2016.  I was 19 years old at the time that I   made my final decision.

How long have you been studying Software Engineering and how many more years do you have to go?

I have been studying Computer Science since 2017, so I have completed three consecutive years so far in software Engineering. I am currently doing my second degree (BSc (Hons) Computer Science) which just extends my degree further. I would like to study all the way to a PhD but that all depends on funding and if part time options exist. If I had to study full time, and assuming all goes well with my grades, I believe I could finish my masters and PhD in 3 extra years from 2021.

What has your overall experience been like while studying at Wits?

 

Wits really does push their students, and whether that is a good thing or not is dependent on the student. It is hard work, time-consuming and very mathematical and theoretical. Wits have a lot of students that are registered in their institution, so it is easy to become lost in the system.  I, however, managed to make many good friends who helped to motivate and push me to do my best.  This coupled with a strong will and determination to not be overlooked and be the best I could be made my wits life incredibly fulfilling, albeit stressful.

 

Can you explain what you learnt in your different years of studying at Wits?

 

Computer Science is a very new field of science. It is indeed still science however, so you need to be comfortable with the scientific processes and with the theory that is applied to both physics and mathematics. The Computer Science degree at Wits aims to build its students in a very specific way.

First years are required to take 4 major courses, Computer Science of course is one, this course introduces problem solving, algorithmic analysis and how to code these algorithms and problem-solving programs. Then a theoretical and an applied math course is taken in order to teach the mathematical skills that are needed for software engineering. Thereafter a science major like physics or chemistry is needed in order to teach the theoretical and applied physics to understand computing on a baseline level.

Second year takes these courses and lets you decide what skill you value least, and you may choose to no longer continue with it. I personally dropped physics because the software engineering specific skills I learnt there were also taught in Computer Science itself. This left me with Computer Science and applied and theoretical math majors. These courses broadened my understanding of math drastically as well as helped solidify my understanding of computing. The concept of software that is useful began to become a major factor in the second year of my studies.

Third year was all about computer science and becoming a person who can solve problems and develop software. This involved an applied computing major and a computer science major. These courses taught skills like graphics, which was basically the reason behind why our computers are able to do the extremely complex math required to model the real and made up worlds. This was assessed by creating a small-scale game.  A lot of study into the agile development process is also given in this year and involves a continuous cycle of communication and development between the developers and the client (lecturers in this case). Many skills which would greatly increase your ability to develop good software are also taught.

What has been the most challenging hurdle or module during your years of study?

 

So far, the biggest hurdle must be theoretical math. In second year, there is a course called basic/Introductory analysis. This course involves large amounts of proof for math that is extremely complex. This requires dissecting our understanding of mathematics on a fundamental level.  It teaches things such as how we really know 1+1=2, or that 1 is a real number.

 

What is your preferred Programming language and why?

 

Programming languages have many strengths and weaknesses. My three favorite languages are C++, Java, and Python.

C++ allows you to do computing and is extremely efficient with cool in-built methods that do fancy math’s well as other functions for you. With C++ you need to code a lot more to do the things you want, but these methods are super-efficient.

Python allows you to do complex mathematics quite easily as this language is designed with the ease of understanding and with minimal lines of code in mind. The downside, however, is that in most situations this language is far slower than other languages and thus efficiency is lost. Though some helper libraries do exist which are written in C or C++ that are used for efficient python coding.

Java is basically a healthy balance between these two scenarios.

How do you manage your time between your studies and social life?

 

To be honest, this is a huge struggle and a powerful skill to master. It is important to keep a balance between these two things as well as taking a lot of “me-time”. The workload from Universities is gargantuan but manageable with a healthy work ethic. If you keep up with the work, you should always have time for your personal and social life. Asking for help is also a very important skill, and while getting help from lecturers or others who are there to teach can be challenging because of the sheer numbers of students in some cases, peers and online sources are perfect to help get an understanding on the work. It is important, however, to note that at university level plagiarism is treated with the utmost severity.

Do you work part-time while studying, and if so where do you work?

 

I am funded currently by my university and part of those terms is that I work part time for the university as a tutor. Student life is incredibly strenuous on the bank account, so all work is always welcome. Just remember the balance between work and me time needs to be applied here as well.

What are your other Interest and hobbies?

 

I am a gamer! I love computer games. It is a way for me to exercise my brain in a way that feels relaxing and helps me to calm down and collect myself. I also love karaoke and singing in general. This is something I try to do as much as possible to get away from the computer.

 

What field of Software engineering are you most interested in?

 

Currently, I am very interested in machine learning and applying it to software.  My honors research involves attempting to train a machine to mark free-text based responses to questions. This would hopefully one day provide a marking software/tool that would help educators around the world to grade their longer questions and allow educators to teach more efficiently.

 

Do you build code in your spare time?

 

I do, though normally the code that I would write is for more fun and personal tasks or to help broaden my problem-solving skills. There are many online judges that give coding problems and then mark your solutions automatically.  These types of questions are always going to benefit you as a software engineer and even people with PhD’s can still benefit from simple problem-solving tasks.

 

Do you believe Software engineering is a good career choice and would you recommend it to a high school leaver?

 

Software engineering is a career that is a lot more fun than it sounds, at least in my opinion. Software engineers are problem solvers, broad thinkers, creative and passionate. The field is so broad, and a software engineer is required by almost every company in today’s times. This means that work will always be available, and work will be interesting. Being a software engineer for a company in another field you are interested in also allows you to learn amazing new things from fields you did not previously study for. That flexibility is why software engineering is a great career path.  Just know that software engineering is not for people who are not passionate about it. High school leavers who are passionate about problem-solving should consider software engineering as a career path.

Leave a Reply

Your email address will not be published.