Marc Dinardo, CodeClan Instructor

What it takes to be a Successful Software Developer

From writing your first line of code to deploying your first application, CodeClan Instructor Marc shares his top tips for becoming a successful software developer.

Learning software development

Stepping into code can be daunting, it is a language unlike any you may have encountered before. Programming languages are engineered to create a standard form of commands that allow you to interact with a computer or system. Applications are created using programming languages to control the behaviour and output of a machine through accurate algorithms, similar to the human communication process.

Writing your first lines of code

As the old saying goes, you should learn to walk before you run, you need to learn to read code before you can expect to write any yourself.

Modern programming languages are written in a form that closely resembles English and are composed of two elements: syntax and semantics. If you see yourself as a well-versed linguist, learning a new programming language can be very similar to learning a new foreign language. Learning to recognise patterns in syntax and infer meaning from the semantics of the language will serve you well as a programmer.

Take a look at the following snippet of code and try to understand what the code is doing:

Code

This is a block of code written in Ruby which declares a function called add that accepts a list of numbers. For each number in the list, we add 1 to that value and then return the new list of numbers.

What do you think the following function call will return?

        add([2, 3, 4])

Don’t be alarmed if you can’t understand what these lines of code are doing. This is your first challenge as a new programmer, getting to grips with the syntax.

Given that programming languages are used to interact with machines, it’s not surprising that the language is highly logical in nature.

There are many hundreds of programming languages in use today – you may already be familiar with web programming using HTML and CSS but how many of these other languages have you heard of? JavaScript, Ruby, Python, Java, SQL, Bash, Haskell, COBOL, C, C#, C++, Elixir, Go, Visual Basic.

In CodeClan’s 16 week programming course, students learn how to write well-written programs in several of these languages. An overview of the curriculum is available here.

Crafting your code

Learning to craft well-written code that does what you intend succinctly and elegantly is a skill that all successful developers share. Well crafted code not only meets the original requirements but it is well tested and easy to read. High quality code should be free of bugs and code should not be duplicated so that it is easy to maintain. This is not such an easy task but a goal that successful developers should strive for.

CodeClan has developed a Professional Development Award (PDA) in Software Development in association with the SQA which seeks to assess these skills while students are studying with us. See more details about the award.

Software development skills

To be a successful developer, you need to have a broad range of skills to allow you to craft your code.

Problem solver

You need to be able to solve problems and have a mind that thinks logically and rationally. There are all kinds of applications you may be asked to write, from gaming to medical to banking applications, you need to be able to apply mathematical concepts to solve real-world problems.

Team player

Modern developers strive on the interactions within their team, it is very rare to be working completely in isolation. Developing a successful application requires input from many lines of business including senior management, marketing, sales, testing, QA, third parties and other specialist consultants. You need to be a good communicator to pull information together from these various sources and translate it into a meaningful set of requirements that you and your team can begin implementing.

Creative

Very rarely will requirements be presented to you in black and white. If you have a creative mind, you will enjoy exploring different options to come up with new ideas on how the application should be designed and built. There is a diverse array of technology and applications on the market today, offering a wealth of opportunity to dive into.

Able to prioritise

With so many people and tasks involved in software development, developers need to be able to prioritise their workload and stay focused on delivery schedules to satisfy customer needs and requirements.

Ask questions

The best developers continually ask questions – Why are we doing it this way? Have you considered using…? What happens if I change this…? How does this work?

Having an inquisitive mind is a key skill to have to help broaden your horizons and reach new ways of working.

If you want to learn more about what it’s really like to work as a software developer, check out “A Day in the Life of a Software Developer.”

Check Your Result

If you wanted to know the output from the above add function, the answer is:

[3, 4, 5]

Did you get it right?