Karel – Switchfully https://www.switchfully.com Switchfully - Explores, discovers and trains talented individuals Tue, 13 Jun 2023 07:27:16 +0000 en-US hourly 1 https://wordpress.org/?v=7.0.3 Interesting books for junior developers https://www.switchfully.com/interesting-books-for-junior-developers/ Thu, 20 Dec 2018 08:54:57 +0000 https://www.switchfully.com/?p=939 As a developer, it’s of the highest importance to expand, improve and refine your skills. After all, a software developer should always strive for true craftsmanship. One way of doing that? Read books! This article is an updated version of our “Interesting books for junior java developers” article.

There’s an abundance of great – and less great – online resources which can be used to facilitate this process. However, with these type of resources, you often jump from one tutorial to the other.  Each time you have to deal with a different author whose opinionated view and approach can differ from the previous author’s. This might leave you unnecessarily confused and it might prove more difficult this way to get a good overview of the subject you’re studying. This is why books still are very relevant and useful when learning new subjects related to software development. Books offer authors with – almost always – a proven track-record, a consistent view, a consistent approach and a full and in-depth coverage of the subject.

Below, you’ll find a list of both recent (and also some older) books that are very relevant to junior (java) software developers at the start of their professional career, willing to hone their skills. Happy reading!


C# / .NET Core Programming Books

Books with a high focus on the C# programming language itself or on the .NET Core platform.


C# 7.0 in a Nutshell: The Definitive Reference

A definitive guide to the C# programming language (7th Edition).

Organized around concepts and use cases, this updated edition provides intermediate and advanced programmers with a concise map of C# and .NET knowledge. Dive in and discover why this Nutshell guide is considered the definitive reference on C#… Read more on Amazon

  • Author: Joseph Albahari
  • ISBN-13: 978-1491987650

ASP.NET Core in Action

Helps to create a firm foundation in ASP.NET Core.

ASP.NET Core in Action is for C# developers without any web development experience who want to get started and productive fast using ASP.NET Core 2.0 to build web applications… Read more on Amazon

  • Author: Andrew Lock
  • ISBN-13: 978-1617294617

The Little ASP.NET Core Book

A free, online book which is structured as one large tutorial on how to build and deploy a ASP.NET Core application

You’ll learn how to build an application with the ASP.NET Core framework, the basics of the MVC (Model-View-Controller) pattern, how to read and write data to a database, how to add login, registration, and security, and how to deploy the app to the web.

  • Author: Nate Barbettini

Java Programming Books

Books with a high focus on the Java programming language itself.


Effective Java: Third Edition

A great book containing a collection of best practices for (the) Java (platform). It’s focused on craftsmanship, best practices. Not syntax.

Java has changed dramatically since the previous edition of Effective Java was published shortly after the release of Java 6. This Jolt award-winning classic has now been thoroughly updated to take full advantage of the latest language and library features. The support in modern Java for multiple paradigms increases the need for specific best-practices advice, and this book delivers… Read more on Amazon

  • Author: Joshua Bloch
  • ISBN-13: 978-0134685991

Head First Java, 2nd Edition

A fun, visual beginners book to get a better understanding of the essential building blocks of the Java programming language (SE). Although being an older book, it’s still relevant to this day.

Learning a complex new language is no easy task especially when it’s an object-oriented computer programming language like Java. You might think the problem is your brain. It seems to have a mind of its own, a mind that doesn’t always want to take in the dry, technical stuff you’re forced to study… Read more on Amazon

  • Author: Kathy Sierra and Bert Bates
  • ISBN-13: 978-0596009205

Software Refactoring Books

Books with a high focus on writing good code, not just any code. Applicable to all object-oriented programming languages.


Clean Code: A Handbook of Agile Software Craftsmanship

A book that shows the importance of writing readable, good code, also learning you how. Every junior software developer should read this book in combination with Refactoring.

Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way… Read more on Amazon

  • Author: Robert C. Martin
  • ISBN-13: 978-0132350884
  • Follow-up books in the same series: The Clean Coder and Clean Architecture

Refactoring: Improving the Design of Existing Code

Contains a collection of techniques (known as refactorings) to improve the structural integrity and performance of existing software programs. Every junior software developer should read this book in combination with Clean Code.

Significant numbers of poorly designed programs have been created by less-experienced developers, resulting in applications that are inefficient and hard to maintain and extend. Increasingly, software system professionals are discovering just how difficult it is to work with these inherited, non-optimal applications… Read more on Amazon

  • Author: Martin Fowler
  • ISBN-13: 978-0201485677

Software Design Books

Books with a high focus on designing and structuring flexible and maintainable code-bases.


Object-Oriented Analysis & Design

A learning (not a reference) book for beginners on how to write flexible software (not just code), focused on the Java platform. Yet again, an older book, book still highly relevant.

Tired of reading Object Oriented Analysis and Design books that only makes sense after you’re an expert? You’ve heard OOA&D can help you write great software every time-software that makes your boss happy, your customers satisfied and gives you more time to do what makes you happy. But how?… Read more on Amazon

  • Author: Brett D. McLaughlin and Gary Pollice
  • ISBN-13: 978-0596008673

Head First Design Patterns (Java 8 edition)

Using a highly visual approach, this book teaches developers how to create functional, elegant, reusable, and flexible software. This book is similar to the Design Patterns book of the Gang of Four, but has an easier entry-level.

At any given moment, someone struggles with the same software design problems you have. And, chances are, someone else has already solved your problem. This edition of Head First Design Patterns—now updated for Java 8—shows you tried-and-true, road-tested patterns… Read more on Amazon

  • Author: Eric Freeman and Elisabeth Robson
  • ISBN-13: 978-0596007126

Domain-Driven Design Distilled

Domain-Driven Design (DDD) software modeling delivers powerful results in practice, which is why developers worldwide adopt it. DDD places the software project’s primary focus on the core domain and the domain logic. This book offers a brief introductory into DDD, focused on non-technical readers. Can be used as a pre-read for the Implementing Domain-Driven Design book.

The book guides you through each core DDD technique for building better software. You’ll learn how to segregate domain models using the powerful Bounded Contexts pattern, to develop a Ubiquitous Language within an explicitly bounded context, and to help domain experts and developers work together to create that language. Whether you’re a developer, architect, analyst, consultant, or customer, this book helps you truly understand it so you can benefit from its remarkable power… Read more on Amazon

  • Author: Vaughn Vernon
  • ISBN-13: 978-0134434421

Implementing Domain-Driven Design

Domain-Driven Design (DDD) software modeling delivers powerful results in practice, which is why developers worldwide adopt it. DDD places the software project’s primary focus on the core domain and the domain logic. This book focuses on developers and should be read after reading Domain-Driven Design Distilled.

Implementing Domain-Driven Design presents a top-down approach to understanding domain-driven design (DDD) in a way that fluently connects strategic patterns to fundamental tactical programming tools. Vaughn Vernon couples guided approaches to implementation with modern architectures, highlighting the importance and value of focusing on the business domain while balancing technical considerations. Read more on Amazon


Soft Skills For Developers Books

Books with a high focus on essential soft skills of a software developer. A modern developer is so much more than a code-monkey, hence it’s important to know how to not act like one.


Practices of an Agile Developer: Working in the Real World

A very relevant book for developers working – or starting to work – in an agile team.

These are the proven, effective agile practices that will make you a better developer. You’ll learn pragmatic ways of approaching the development process and your personal coding techniques. You’ll learn about your own attitudes, issues with working on a team, and how to best manage your learning, all in an iterative, incremental, agile style… Read more on Amazon

  • Author: Venkat Subramaniam
  • ISBN-13: 978-0974514086

Soft Skills: The software developer’s life manual

Although the author can have a very lone-wolf / survival-of-the-fittest view on certain subjects – which I don’t share – this book was at the very least an interesting read.

Soft Skills: The software developer’s life manual is a unique guide, offering techniques and practices for a more satisfying life as a professional software developer. In it, developer and life coach John Sonmez addresses a wide range of important “soft” topics, from career and productivity to personal finance and investing, and even fitness and relationships, all from a developer-centric viewpoint… Read more on Amazon

  • Author: John Sonmez
  • ISBN-13: 978-1617292392

 

]]>
How to stay informed as a software developer https://www.switchfully.com/how-to-stay-informed-as-a-software-developer/ Fri, 25 May 2018 07:25:21 +0000 https://www.switchfully.com/?p=787

It’s crucial for a software developer to keep his eyes and ears open. The industry moves and evolves in a fast pace. It’s important to keep track of new emerging technologies that gain traction and adoption. However, it’s equally important to be aware of technologies losing adoption. A technology that’s still relevant on your project, might have lost its relevance to the industry years ago. Is that bad? No, it’s actually the reality. However, it should never come as a surprise. I’m not suggesting you should hop from one new technology to the other, I am advising you to make sure you’re aware of what is going around in the industry and in which direction it’s evolving. Do – from time to time – make sure to dig into a new technology. After all, we learn best by doing. #FreeAdvice

But how does one stay informed? A first – and essential – step is to surround yourself with a constant feed of the latest news on software development. Secondly, follow some of the biggest guru’s of our industry. Thirdly, be aware of interesting events – and try to attend some that trigger your interest. Lastly, do self-study on those subjects that look promising and exciting! If you want to jump in and get your hands dirty on some self-study, we’ve got you covered! Go through our book-list for junior software developers or discover our post containing resources for learning platforms, tutorials and exercises. For those that first want to properly set up their stay-up-to-date network, we’ve provided a list of guru’s, development news-sites and events!

Software development news-sites

A list of websites all dedicated to offering the latest news on software development / technology. Not only do they offer interesting articles, they provide new insights and allow you to being informed on the latest innovations and trends related to technology and software development.

Medium
Offers quality user-created posts! Subscribe to the Innovation & Tech topics in which you’re interested (e.g. Programming). Uses a freemium model. Start following (e.g. on Twitter) the authors of quality posts to stay connected. Below, you find some interesting topics:

DZone

Programming, Web Development, and DevOps news, tutorials and tools for beginners to experts.

InfoQ

InfoQ.com is a practitioner-driven community news site focused on facilitating the spread of knowledge and innovation in professional software development.

TechCrunch

Startup and Technology News

Guru’s & Influencers

The easiest way to stay closely connected to these guru’s & influencers? Follow them on Twitter or subscribe to their RSS feed (with a tool like Feedly), which is often available on their personal website. This list is in no means a complete list, it’s a list to get you started. Once you start following some individuals from this list, you’ll quickly discover other interesting and influential developers.

Software development Guru’s


A selection of software developers that have really earned their stripes throughout their careers, hence guru’s!

Martin Fowler
Programmer, Loud Mouth, ThoughtWorker. Author of Refactoring: Improving the Design of Existing Code

Uncle Bob Martin

Software Craftsman. Author of Clean Code, The clean Coder and Clean Architecture

Kent Beck

Programmer, coach coach, singer/guitarist, peripatetic. Learning to be me. Author of Extreme Programming Explained.

Erich Gamma

Software developer and skier. Co-author of Design Patterns

Michael Feathers

Author of Working Effectively with Legacy Code

Mike Cohn

I’m an agile software development consultant, trainer, author and practitioner.

Ron Jeffries

One of the three founders of the Extreme Programming (XP) software development methodology

Eric Evans

Domain Linguist. Author of Domain Driven Design

Software development InfluencersVery engaged and active software developers – and others – who influence the current generation of junior, medior and senior developers.

Quincy Larson
Teacher at FreeCodeCamp. You should follow me here on Twitter. I won’t waste your time.

Venkat subramaniam

Programmer, author, speaker, founder Agile Developer, Inc., creator of http://agilelearner.com , professor of CS at U of Houston

John Papa

Husband, father, & Catholic enjoying life with my family. Disney fanatic, developer advocate @ Microsoft, HTML/CSS/JavaScript dev, speaker, & Pluralsight author

Simon Brown

Software architecture meets code

Gene Kim

DevOps enthusiast. Coauthor: DevOps Handbook, The Phoenix Project & Accelerate. Tripwire founder, IT Ops/Security Researcher, Theory of Constraints Jonah.

Events

Events related to software development – or technology in general – are often very interesting to attend. Not only do they provide inspiring speakers, they offer the chance to meet with your peers. Events come in many different sizes and forms, both local and international.

Devoxx
An annual Java, Android and HTML5 community conference, originated in Belgium

Techorama

A yearly international technology conference which takes place at Metropolis Antwerp. We welcome about 1500 attendees, a healthy mix between developers, IT Professionals, Data Professionals and SharePoint professionals.

Becentral

A Brussels based digital campus that offers a lot of events. Hosts Google Digital Atelier.

Meetup & Eventbrite

Event portals on which you can search for interesting events near you.


Provide feedback for, discuss or share this article on Twitter

]]>
Learning platforms, tutorials and exercises for developers https://www.switchfully.com/learning-platforms-tutorials-exercises-developers/ Tue, 22 May 2018 06:46:40 +0000 https://www.switchfully.com/?p=732

Knowing where – and how – to find valuable online learning resources is an essential skill every software developer should have. There’s an abundance of great online resources available, both for sharpening your existing development skills as for learning a completely new skill. The real trick is to separate the good from the bad. Therefore – and to get you up and running – we’ve created a list containing some of the better online learning resources, tutorials and exercises available.

Combined with our list of interesting books for software developers, you’ll have a nice collection of both online and offline learning resources. Enjoy!

Online learning platforms

Contains a selection of good online learning platforms that contain a wide variety of content. Learning platforms offer more than just “tutorials”, they offer entire learning paths, modules and tracks related to software development.

FreeCodeCamp

Learn web-development technologies such as HTML5, CSS3, JavaScript, Databases, Git & GitHub, Node.js, React.js and D3.js.

  • Focus: Web development
  • Level: Beginner
  • Pricing: Free

PluralSight

Spanning almost every subject of software development. Contains both individual lessons and full courses / tracks, which are all video driven.

  • Focus: Software development, Big Data, AI,…
  • Level: Beginner to Expert
  • Pricing: Monthly Subscription

Udemy

Offers over 30.000 individual courses for a wide variety of subjects, both video and text.

  • Focus: Software development, Software engineering,…
  • Level: Beginner to Expert
  • Pricing: Pay per Course

Udacity

Offers Nanodegree programs for which you need to enroll. Focused on acquiring new skills for career advancement.

  • Focus: Software Development, Data Scientist, AI, Machine Learning,…
  • Level: Intermediate
  • Pricing: Pay per Course

LinkedIn Learning

Over 1000 courses for software and web development. Contains the content of Lynda.com.

  • Focus: Software development and Web development
  • Level: Beginner to Expert
  • Pricing: Monthly Subscription

Khan Academy

Non-profit organization that offers a handful of courses on software development and computer science.

  • Focus: Software development and Computer Science
  • Level: Beginner
  • Pricing: Free

Coursera

Offers almost 2000 courses on computer science and data science for which you need to enroll. Highly aligned with universities (and companies).

  • Focus: Computer science and Data science
  • Level: Beginner to Expert
  • Pricing: Pay For Enrollment

Online Exercises and Tutorials

Programming exercises come in many forms (e.g. code katas) and often serve the same goals: perfecting your skills by practicing!

  • Programmr: Offers a wide variety of challenges. Free
  • CodingBat: Challenges for Java and Python, similar to Programmr. Free
  • Programming By Doing: Another alternative to Programmr and CodingBat. Free
  • Coding Game: perfect your programming skills by constructing games. Cool and fun! Free
  • Advent Of Code: Advent of Code is a series of small programming puzzles for a variety of skill levels. They are self-contained and are just as appropriate for an expert who wants to stay sharp as they are for a beginner who is just learning to code. Free
  • Exercism: Level up your programming skills. solve practice problems in over 30 different languages. Free
  • Codewars: Improve your skills by training with others on real code challenges. Free

A Tutorial can be seen as a more isolated, smaller-scoped learning resource compared to learning paths, a course, or a module. There’s a wide variety of available tutorials, simply by searching online, you’ll often find a fitting tutorial for your needs.

  • Baeldung: Contains some great textual tutorials on Java and Spring. Free
  • Spring Guides: A collection of to-the-point guides on all aspects of the Spring Framework. Free
  • Java Code Geeks: Tutorials related to Java itself and its ecosystem (Spring, Android,…). Free
  • Mkyong: Great resource of tutorials related to the Java ecosystem, also contains solutions to common problems. Free
  • Youtube (Vimeo as well): Offers a wide variety of channels offering video tutorials. (E.g. SpringDeveloper, JavaBrains, Java and The Coding Train). Free

If you’re looking for even more courses and tutorials, try Hackr.io. It’s a (sort-of) search engine for software development courses and tutorials.

An important side-note: A resource that’s almost always a good way to learn a new language, technology, framework or library is the official documentation of that specific tech. In general, documentation comes combined with tutorials and getting-started guides which are often of very high quality. Using the official documentation as your primary learning source is often recommended.

As an example, check out the official Angular documentation and its Tour of Heroes tutorial.


Updated on Thursday 24, May 2018.

]]>
Interesting books for junior (java) developers https://www.switchfully.com/interesting-books-for-junior-java-developers/ Wed, 16 May 2018 11:11:07 +0000 https://www.switchfully.com/?p=690 As a developer, it’s of the highest importance to expand, improve and refine your skills. After all, a software developer should always strive for true craftsmanship. One way of doing that? Read books!

There’s an abundance of great – and less great – online resources which can be used to facilitate this process. However, with these type of resources, you often jump from one tutorial to the other.  Each time you have to deal with a different author whose opinionated view and approach can differ from the previous author’s. This might leave you unnecessarily confused and it might prove more difficult this way to get a good overview of the subject you’re studying. This is why books still are very relevant and useful when learning new subjects related to software development. Books offer authors with – almost always – a proven track-record, a consistent view, a consistent approach and a full and in-depth coverage of the subject.

Below, you’ll find a list of both recent (and also some older) books that are very relevant to junior (java) software developers at the start of their professional career, willing to hone their skills. Happy reading!

 

Java Programming Books

Books with a high focus on the Java programming language itself.

[su_box title=”Effective Java: Third Edition” box_color=”#72a71f”]

A great book containing a collection of best practices for (the) Java (platform). It’s focused on craftsmanship, best practices. Not syntax.

Java has changed dramatically since the previous edition of Effective Java was published shortly after the release of Java 6. This Jolt award-winning classic has now been thoroughly updated to take full advantage of the latest language and library features. The support in modern Java for multiple paradigms increases the need for specific best-practices advice, and this book delivers… Read more on Amazon

  • Author: Joshua Bloch
  • ISBN-13: 978-0134685991

[/su_box]

[su_box title=”Head First Java, 2nd Edition” box_color=”#72a71f”]

A fun, visual beginners book to get a better understanding of the essential building blocks of the Java programming language (SE). Although being an older book, it’s still relevant to this day. 

Learning a complex new language is no easy task especially when it’s an object-oriented computer programming language like Java. You might think the problem is your brain. It seems to have a mind of its own, a mind that doesn’t always want to take in the dry, technical stuff you’re forced to study… Read more on Amazon

  • Author: Kathy Sierra and Bert Bates
  • ISBN-13: 978-0596009205

[/su_box]

 

Software Refactoring Books

Books with a high focus on writing good code, not just any code. Applicable to all object-oriented programming languages.

[su_box title=”Clean Code: A Handbook of Agile Software Craftsmanship” box_color=”#72a71f”]

A book that shows the importance of writing readable, good code, also learning you how. Every junior software developer should read this book in combination with Refactoring.

Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way… Read more on Amazon

  • Author: Robert C. Martin
  • ISBN-13: 978-0132350884
  • Follow-up books in the same series: The Clean Coder and Clean Architecture

[/su_box]

[su_box title=”Refactoring: Improving the Design of Existing Code” box_color=”#72a71f”]

Contains a collection of techniques (known as refactorings) to improve the structural integrity and performance of existing software programs. Every junior software developer should read this book in combination with Clean Code.

Significant numbers of poorly designed programs have been created by less-experienced developers, resulting in applications that are inefficient and hard to maintain and extend. Increasingly, software system professionals are discovering just how difficult it is to work with these inherited, non-optimal applications… Read more on Amazon

  • Author: Martin Fowler
  • ISBN-13: 978-0201485677

[/su_box]

 

Software Design Books

Books with a high focus on designing and structuring flexible and maintainable code-bases.

[su_box title=”Object-Oriented Analysis & Design” box_color=”#72a71f”]

A learning (not a reference) book for beginners on how to write flexible software (not just code), focused on the Java platform. Yet again, an older book, book still highly relevant.

Tired of reading Object Oriented Analysis and Design books that only makes sense after you’re an expert? You’ve heard OOA&D can help you write great software every time-software that makes your boss happy, your customers satisfied and gives you more time to do what makes you happy. But how?… Read more on Amazon

  • Author: Brett D. McLaughlin and Gary Pollice
  • ISBN-13: 978-0596008673

[/su_box]

[su_box title=”Head First Design Patterns (Java 8 edition)” box_color=”#72a71f”]

Using a highly visual approach, this book teaches developers how to create functional, elegant, reusable, and flexible software. This book is similar to the Design Patterns book of the Gang of Four, but has an easier entry-level.

At any given moment, someone struggles with the same software design problems you have. And, chances are, someone else has already solved your problem. This edition of Head First Design Patterns—now updated for Java 8—shows you tried-and-true, road-tested patterns… Read more on Amazon

  • Author: Eric Freeman and Elisabeth Robson
  • ISBN-13: 978-0596007126

[/su_box]

[su_box title=”Domain-Driven Design Distilled” box_color=”#72a71f”]

Domain-Driven Design (DDD) software modeling delivers powerful results in practice, which is why developers worldwide adopt it. DDD places the software project’s primary focus on the core domain and the domain logic. This book offers a brief introductory into DDD, focused on non-technical readers. Can be used as a pre-read for the Implementing Domain-Driven Design book.

The book guides you through each core DDD technique for building better software. You’ll learn how to segregate domain models using the powerful Bounded Contexts pattern, to develop a Ubiquitous Language within an explicitly bounded context, and to help domain experts and developers work together to create that language. Whether you’re a developer, architect, analyst, consultant, or customer, this book helps you truly understand it so you can benefit from its remarkable power… Read more on Amazon

  • Author: Vaughn Vernon
  • ISBN-13: 978-0134434421

[/su_box]

[su_box title=”Implementing Domain-Driven Design” box_color=”#72a71f”]

Domain-Driven Design (DDD) software modeling delivers powerful results in practice, which is why developers worldwide adopt it. DDD places the software project’s primary focus on the core domain and the domain logic. This book focuses on developers and should be read after reading Domain-Driven Design Distilled. 

Implementing Domain-Driven Design presents a top-down approach to understanding domain-driven design (DDD) in a way that fluently connects strategic patterns to fundamental tactical programming tools. Vaughn Vernon couples guided approaches to implementation with modern architectures, highlighting the importance and value of focusing on the business domain while balancing technical considerations. Read more on Amazon

[/su_box]

 

Soft Skills For Developers Books

Books with a high focus on essential soft skills of a software developer. A modern developer is so much more than a code-monkey, hence it’s important to know how to not act like one.

[su_box title=”Practices of an Agile Developer: Working in the Real World” box_color=”#72a71f”]

A very relevant book for developers working – or starting to work – in an agile team.

These are the proven, effective agile practices that will make you a better developer. You’ll learn pragmatic ways of approaching the development process and your personal coding techniques. You’ll learn about your own attitudes, issues with working on a team, and how to best manage your learning, all in an iterative, incremental, agile style… Read more on Amazon

  • Author: Venkat Subramaniam
  • ISBN-13: 978-0974514086

[/su_box]

[su_box title=”Soft Skills: The software developer’s life manual” box_color=”#72a71f”]

Although the author can have a very lone-wolf / survival-of-the-fittest view on certain subjects – which I don’t share – this book was at the very least an interesting read. 

Soft Skills: The software developer’s life manual is a unique guide, offering techniques and practices for a more satisfying life as a professional software developer. In it, developer and life coach John Sonmez addresses a wide range of important “soft” topics, from career and productivity to personal finance and investing, and even fitness and relationships, all from a developer-centric viewpoint… Read more on Amazon

  • Author: John Sonmez
  • ISBN-13: 978-1617292392

[/su_box]

]]>