My journey: learning software development as a business student

10

October

2021

5/5 (1)

First, let’s start with the why: for me learning software development was never about learning to code or understanding a programming language. It was about having the ability to create something. 

My journey started in the first year of studying at RSM, when I wanted to build a website for an idea I had. The website needed to be relatively simple with basic functionalities. At this point I had practically no experience with anything related to web development. I started learning how to build something in WordPress, without having to do any coding. My journey from that point on was quite incremental. When I figured out how to build websites in WordPress the design was often very rigid. I wanted to do small customizations but this required knowledge of HTML and CSS, which I then started learning.

After I had gained some knowledge of these techniques the ‘real’ journey began. I had previously developed a WordPress website that showed upcoming sporting events. The website had quite some regular visitors but still needed weekly manual updating. I wanted to fully automate it but didn’t know how. 

I decided to learn how I could automate it and did a basic JavaScript tutorial on the app Sololearn to understand the fundamental programming concepts and the syntax of the language. This turned into following tutorials on how to build a web scraper and how to manage a server and a database. 

To this day, the website runs fully automated. For me it was a real eye opener as to what a little experience with programming can do in terms of automation.  

After that I decided I wanted to get better at both frontend and backend development, so I did a Udemy course on ReactJS and Node.js. At this time I was employed as a working student at a startup. I started in marketing but slowly transitioned to the more technical side of the company. Nearing the end of my BSc I started doing more and more software development.  Currently, I work three days a week as a software developer for the same company. Mostly, working with ReactJS for the frontend and Node.js for the backend but I feel that there is still much to learn. This year I hope to develop a large(r) scale application and launch it by myself to see where I stand, maybe even together with another student!

For anyone interested in learning software development I would now like to share with you a few things I would highly recommend as well as some things I would do differently. 

One thing I feel has really helped me is actually getting a grasp of the language and fundamental concepts before jumping into more advanced tutorials. Especially when learning a framework such as ReactJS, many tutorials try to teach both JavaScript and the framework at the same time. First getting a good understanding of the language and then learning the framework has allowed me to deeply focus on both, instead of trying to do two things at once. Another thing I would highly recommend is having a project to work towards. Learning things to be able to realize a project helps in staying focused and motivated.

One thing I would have done earlier on in my journey is learning a strongly typed language. This is a language in which all variables, expressions and so on, have an explicit data type. This helped me alot in getting a greater grasp on different data types and how they interact with each other throughout an application. I would highly recommend anyone to learn this as early as possible. 

If you have any questions about software development or learning programming in general, feel free to send me a message!

Please rate this

The rise of AI and the impact on developers

1

October

2021

No ratings yet.

In the summer of 2021 OpenAI released Codex, a system that automatically generates code as a response to specifications written in natural language. By simply telling the system you want an app that does X and Y, the language is parsed and the actual code is generated.

It is impressive how far Codex can get into developing applications based on simple instructions and requirements. Albeit, many of the projects in which Codex was demonstrated were relatively simple programs, such as to-do list applications, it is still quite the accomplishment considering the infancy of the program. So what does this mean for developers? Will they become redundant? 

Probably not, but what is certain is that it will have a huge impact on the way developers work. Since this is quite an extensive topic for a blog post, we will look at one application of Codex that is quite close to possibly having a large impact on the lives of programmers in the near future. 

And this application is the Github Copilot software. Github is a company on which development teams can work together by storing their source code and keeping track of the different versions of the code. It is the largest hosting platform of source code in the world. The company paired up with OpenAI, the organisation behind Codex, to use the Codex software as well as their own enormous quantities of data to create an AI-pair programmer. In the development industry, a pair programmer is someone (or now something) with whom you cooperate while writing code. You basically code ‘together’. Github Copilot is already in the beta release phase and programmers that have access to the release can use the software. The program can be plugged in, very simply, into the code editor and a developer can fire away. It works by analyzing the code you’re writing and predicts what else is going to need to be written. It does so by having analyzed billions of lines of code, basically having ‘seen everything’ already. The idea is that it will greatly increase the productivity of a single developer. However, not everyone is convinced. Criticism has arisen about the quality of code and the fact especially new developers do not fully understand the code that is being generated, possibly leading to issues later on. But there is also hope, for many programmers coding is a minority of what they actually do: most time is spent on understanding the problems that need to be solved and then looking at how this can be solved most efficiently. Coding is only a tool to get from A to B. Increasing coding productivity will just get you there sooner. 

It remains to be seen how the coding industry will change. I, however, believe that most developers, especially senior ones, will greatly benefit from the rise of AI by reducing the amount of boilerplate and other simple code they need to write. It will allow for greater value creation and businesses will be able to operate their IT departments more efficiently. How do you look at the rise of AI in programming? Do you see opportunities or mostly danger?

Howard, J., 2021. Is Github Copilot a blessing, or a curse? FastAI. [online] Fast.ai. Available at https://www.fast.ai/2021/07/19/copilot/. [Accessed 30 September 2021]

Please rate this