Learning – Switchfully https://www.switchfully.com Switchfully - Explores, discovers and trains talented individuals Fri, 06 Oct 2023 08:47:13 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.2 Interesting books for junior Functional Analysts https://www.switchfully.com/interesting-books-for-junior-functional-analysts/ Thu, 05 Oct 2023 13:21:56 +0000 https://www.switchfully.com/?p=3309

As a Functional Analyst, it’s of the highest importance to expand, improve and refine your skills. 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 IT. 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 books about topics that are very relevant to junior functional analysts at the start of their professional career, willing to hone their skills. Happy reading!

 

Books with a relevant topic for functional analysts

1. Agile Estimating and Planning

This book provides an introduction to Agile concepts and covers topics like Scrum and Agile planning.

  • Author: Mike Cohn
  • Topic: Agile Software Development
2. The Sketchnote Handbook

While not focused solely on facilitation, this book introduces visual note-taking techniques that can be valuable for facilitating workshops and meetings.

  • Author: Mike Rohde
  • Topic: Facilitation
3. Business Model Generation

This book explores the Business Model Canvas, a widely-used tool in business analysis.

  • Authors: Alexander Osterwalder and Yves Pigneur
  • Topic: Business Analysis
4. User Story Mapping

Learn about story mapping, a technique used for high-level analysis and visualizing the user’s journey.

  • Author: Jeff Patton
  • Topic: High-Level Analysis
5. User Stories Applied: For Agile Software Development

This book provides a beginner-friendly introduction to writing user stories in Agile projects.

  • Author: Mike Cohn
  • Topic: User Stories
6. UML Distilled: A Brief Guide to the Standard Object Modeling Language

This book offers a concise introduction to UML and its various diagrams.

  • Author: Martin Fowler
  • Topic: UML
7. Don’t Make Me Think

While not specific to mockups and screen flows, this book is an excellent starting point for understanding user-centered design principles.

  • Author: Steve Krug
  • Topic: UI/UX Design
8. Agile Testing: A Practical Guide for Testers and Agile Teams

This book covers various aspects of Agile testing, including writing acceptance criteria and User Acceptance Testing (UAT).

  • Authors: Lisa Crispin and Janet Gregory
  • Topic: Testing
9. Software Architecture in Practice

This book introduces software architecture principles and considerations, including non-functional requirements and web service design.

  • Authors: Len Bass, Paul Clements, and Rick Kazman
  • Topic: Application Architecture
10. SQL For Dummies

A beginner-friendly guide to SQL, covering database basics and query writing.

  • Author: Allen G. Taylor
  • Topic: Databases
11. A Guide to the Project Management Body of Knowledge (PMBOK® Guide) – Sixth Edition

While not strictly for beginners, this is a foundational resource for project management that covers forecasting and risk management.

  • Author: Project Management Institute (PMI)
  • Topic: Project Management

These books are great starting points for beginners in each respective area. Depending on your specific interests and needs, you can choose the books that align best with your learning goals.

]]>
Learning platforms and online courses for functional analysts https://www.switchfully.com/learning-platforms-and-online-courses-for-functional-analysts/ Wed, 04 Oct 2023 13:04:06 +0000 https://www.switchfully.com/?p=3303

Knowing where – and how – to find valuable online learning resources is an essential skill every functional analyst should have. There’s an abundance of great online resources available, both for sharpening your existing 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 platforms and courses available.

Combined with our list of interesting books for functional analysis, 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 functional analysis.

PluralSight

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

  • Focus: Agile, Business Analysis, UX UI,…
  • 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: Agile, User stories, Databases, …
  • Level: Beginner to Expert
  • Pricing: Pay per Course

LinkedIn Learning

Over 1000 courses for functional and business analysis. Contains the content of Lynda.com.

  • Focus: Costumer Experience, UML, Testing, ..
  • Level: Beginner to Expert
  • Pricing: Monthly Subscription

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 Courses

Online courses come in many forms and often serve the same goals: perfecting your skills by practicing!

  • Udemy – Fundamentals Of Agile Software Development
  • Udemy – Business Analysis Fundamentals
  • Udemy – User Story Masterclass: Your Agile Guide to User Stories
  • Pluralsight – Best Practices for Requirements Gathering
  • Coursera – UI / UX Design Specialization
  • Coursera – Introduction to Databases
  • Coursera – Google Project Management Certificate

 


Updated on Wednesday 04, October 2023.

]]>
The job as a Functional Analyst https://www.switchfully.com/the-job-as-a-functional-analyst/ Wed, 04 Oct 2023 12:11:50 +0000 https://www.switchfully.com/?p=3266

Exploring the Role of a Functional Analyst: Bridging the Gap Between IT and Business

In the ever-evolving landscape of information technology, the role of a functional analyst has become increasingly vital. This position serves as a bridge between the technical aspects of IT and the strategic needs of a business. In this blog, we’ll delve into the intricacies of what it means to be a functional analyst, their responsibilities, skills required, and the impact they have on organizations.

What is a Functional Analyst?

A functional analyst, often referred to as a business analyst, plays a pivotal role in understanding, documenting, and translating business requirements into functional specifications. They act as intermediaries, ensuring that IT projects align with the goals and needs of the business.

Responsibilities of a Functional Analyst:

1. Requirement Gathering: One of the primary responsibilities of a functional analyst is to engage with stakeholders and gather detailed requirements for a project. This involves conducting interviews, workshops, and surveys to gain a deep understanding of business processes and objectives.

2. Documentation: Functional analysts meticulously document requirements in a clear and concise manner. This documentation serves as a blueprint for the development team, guiding them throughout the project lifecycle.

3. Analysis: Functional analysts analyze data and information to identify trends, patterns, and potential areas for improvement. They use their analytical skills to propose solutions that align with the organization’s goals.

4. Communication: Effective communication is a core competency for functional analysts. They must convey complex technical information to non-technical stakeholders and vice versa, ensuring everyone is on the same page.

5. Testing and Validation: Functional analysts are often involved in testing the developed solutions to verify that they meet the specified requirements. They collaborate with QA teams to ensure the functionality aligns with business needs.

6. Continuous Improvement: In the rapidly changing world of technology, functional analysts must stay updated on industry trends and best practices. They contribute to the organization’s continuous improvement efforts by suggesting innovative solutions.

Key Skills and Qualities:

1. Analytical Thinking: Functional analysts must possess strong analytical skills to dissect complex problems and propose effective solutions.

2. Communication: Excellent communication skills, both written and verbal, are crucial for conveying technical information to non-technical stakeholders.

3. Problem-Solving: The ability to identify issues, brainstorm solutions, and make informed decisions is a must for a functional analyst.

4. Domain Knowledge: A deep understanding of the industry and business processes they work within is essential to effectively analyze and recommend improvements.

5. Technical Competence: While not developers, functional analysts should have a solid understanding of IT concepts and technologies to bridge the gap between business and IT teams.

The Impact of a Functional Analyst:

Functional analysts serve as catalysts for positive change within organizations. By facilitating collaboration between business and IT, they ensure that technology investments align with strategic objectives. They help organizations optimize their processes, reduce costs, enhance customer experiences, and stay competitive in a fast-paced digital world.

In conclusion, the role of a functional analyst is instrumental in the successful execution of IT projects and the achievement of business goals. They are the linchpin between technical solutions and business needs, making them indispensable assets to any organization navigating the complexities of modern technology.

As technology continues to evolve, the demand for skilled functional analysts is expected to grow, emphasizing the importance of this role in today’s business landscape. Whether you’re considering a career as a functional analyst or seeking one for your organization, understanding their role and value is essential in harnessing the full potential of technology for business success.

]]>
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]

]]>