Syntactic Salt

The book

Are you looking for a cheat sheet for becoming a great software developer? Look no further!

Have you ever wondered what it takes to be a great software developer? Is it a dream of yours to one day become a software developer of your own? Then this is the book for you. Compact and to the point. This book will take you through what it really means to be a software developer. This book focuses on a day-in-the-life of a software developer and how to get there and excel. I have avoided specifics such as languages and code styles. Most people know what software development is but do you truly understand all aspects of the role?

Book now available on amazon!

In this book I talk about

  • Education

    How to educate and prepare yourself for the working force and how to stay on top throughout your career.

  • Working with a team

    How to work with a team and create a successful team culture. The members of a team and the roles they play.

  • Managing Expectations

    Learning how to manage expectations has far-reaching benefits. I with share with you my experiences and dive into their lessons.

  • Growing beyond

    How to maintain your growth as of expert in your field and stay ahead of the rest through this ever-changing world.

Gino Arpesella

Hello and thank you for paying me a visit. I hope you consider grabbing a copy of the book if you would like to know how to succeed in this fast pasted world of software development. I enjoyed writing this book and learned a fair bit about myself while doing so. Feel free to say hello to me on Twitter or check out the Facebook page where you can share your thoughts with the community.

Code Challenges

  • Each challenge has been written in a broad view to cater to any coding language and operating system you choose to use. How you build your solution is up to you. Pick a challenge that suits you and try to build your application to the requirements.

  • Phone book

    Build a simple phone book where you can save a person’s name and number to a file (phonebook.txt) on your computer. When the application starts it should prompt the user with some options:

    • Save new contact

    • Show all contacts

    • Find contact by name

    • Delete contact by name

    Saving a contact should add the details of the new contact to the phonebook.txt file. If that contact already existed, then update the number only.

    Show all contacts must retrieve all the contacts saved in phonebook.txt and display the names and numbers of each. If there are not contacts in the file then display a ‘Phone book is empty‘ message.

    When searching for a contact by name, display the number if the contact was found. If not then display a ‘Contact not found‘ message.

    Deleting a contact should remove only the contact with the provided name. If there was no contact found with that name then display a ‘No contact to delete by that name‘.

  • Hangman game

    We all know and love the word game, hangman. When your application starts the user should be prompted to enter a secret word. The secret word can only contain letters (A-Z & a-z). No spaces, numbers or special characters should be allowed as input. Once the user has entered their secret word, they must press Enter to confirm. For example, ‘Hello‘.

    The second question asked to the user must be, ‘Enter how many lives‘. The user must then enter a number greater than zero. Only numbers are allowed. The user must press Enter to confirm. For example, 10. The player is then presented with their number of lives and the secret word as underscores for each character. For example, (Lives: 10) ‘_ _ _ _ _‘.

    The player is asked to enter a single letter and press Enter to confirm. The application will check the entered letter against each character of the secret word. This check must be done in a case-insensitive way. Meaning if the user entered a lower case ‘h‘, the application must still match this against the upper case ‘H‘. The user will then be displayed with the updated text of, (Lives: 10) ‘H _ _ _ _‘.

    If the user enters a letter that isn’t part of the secret word for example ‘a’ they should lose a life point. The missed letter ‘a’ must be shown to the player for the remainder of the game. For example, (Lives: 9) ‘H _ _ _ _’ -> (a).

    This will continue until either the player has successfully guessed the secret word, or run out of life points. The message displayed in either outcome is up to you.

  • Word and letter counter

    If you would prefer to start with the basics you can build a word and letter counter. When the application starts it must prompt the user for a letter or word to search for. Once entered the application will then prompt the user for the text to search over.

    The application will scan over the string of text entered by the user and count the number of occurrences found. The answer will then be displayed back to the user.

    This is the easiest challenge and if you would like to add to it feel free to do that. Some suggestions could be:

    • Count the number of vowels

    • Allow the user to search for multiple letter(s) / word(s)

    • Display the entered text with each word written backward

    • Group all unique words and display the sum of each

    Good luck and have fun.