Every Software Developers Should know

Every software developers should know_page-0001Posted by Sindhuja Vikram-ADMIN-HR Ramarson Technology developers LLP

Consistent learning and Updating why is it so?

  • The fast-moving tech industry demands updated technologies to implement as fast as it can be
  • The reason is the efficiency and performance of new emerging
    technologies and technology hacks
  • This has a higher impact on the quality of work and also, competing with
    technology partners with better strategies and solutions are also
    important
  • The rapid pace of innovations in the IT industry is on one side, giving
    opportunities to the software developers and on the other side, it is
    becoming challenging for a huge developers community
  • It has always been an issue for the programmers to keep themselves
    up to date with the new programming languages software, algorithms design patterns, programming hacks and strategies.
  • It has always been a debate in the developers’ community about the use cases, versions, frameworks and languages that which is good for certain problem solving Even strategies do not match.                                                                                                                                                                                                                             How can a Software Developer keep Updated with new Technical Skills? 
  • Read Blogs
  • Read News
  • Attend Social Events
  • Be Passionate to Learn new Technologies
  • Read Books
  • Start implementation, Code it, Try it!
  • Make new strategies, your habit                                                                                                                                                            Every software developers should know_page-0005 Every software developers should know_page-0006 Every software developers should know_page-0007                                                                                                                                                       Tips to Improve Programming Skill and Become Better Programmer
  • Coding, Coding, and Coding
  • Reading Books
  • Contributing to Open Source, Signing-up mailing lists
  • Practising data structures and algorithm  and Design Related problems
  • Reading Code
  • Writing Unit tests Doing Code reviews.
  • Talking to a fellow programmer.
  • Participating stack overflow and forums commenting on blogsEvery software developers should know_page-0009

The Pragmatic Programmer

Priyanka.R : Ramarson Technology Developers LLP 

A Pragmatic Philosophy is an attitude, a style, a philosophy of approaching problems and their solutions. Taking responsibility, accepting changes &Understanding the context for better software in a continuous learning cycle

Tips for becoming a Pragmatic Programmer ;

1: Care about your craft – Develop your software well with good software tools and best possible technology available.

2: Think ! about your work – Turn off the autopilot, think every decision you are making every day.

The Cat Ate My Source Code

–Provide Options, Don’t Make Lame Excuses–Take Responsibility

Don’t Live with Broken Windows

Don’t leave “broken windows” (bad designs, wrong decisions, or poor code) unrepaired. Fix each one as soon as it is discovered. If there is insufficient time to fix it properly, then board it up.

Soldier’s story! ‘Be a Catalyst for Change”! The villagers think about the stones and forget about the rest of the world. We all fall for it, every day. Things just creep upon us.

–Take awareness of yourself, don’t be the boiling frog imagine the big picture

–Constantly review what’s happening around you, not just what you personally are doing.

–Being so concerned with the details of a problem, you can’t see its overall structure.

THE PRAGMATIC APPROACH

The Evils of Duplication: The problem arises when you need to change a representation of things that are across all the codebase.

Types of duplication:–Imposed duplication–Inadvertent duplication–Impatient duplication and–Inter-developer duplication

ORTHOGONALITY

–Two or more things are orthogonal if changes in one do not affect any of the others. Orthogonality allows to:

–reduce the numbers of errors–divide functions within an application easier–divide teams more logical–test faster

TRACER BULLETS

–Tracer Bullets Don’t Always Hit Their Target

–Whereas tracer bullets (can be algorithms, techniques, languages, or libraries) should penetrate a bigger area, prototyping provides great feedback when exploring a more focused area of the project.

Advantages:

–Users get to see something working early–Developers build a structure to work in–You have an integration platform–You have something to demonstrate–You have a better feel for progress.–Shell Games–Debugging(Fix the Problem, Not the Blame)

THE BASIC TOOLS

Debugging Strategies:a)Visualize Your Data b)Rubber Ducking

Pragmatic Paranoia: You can’t write perfect software.

CUTTING THE GORDIAN KNOT
CHECKLIST TO IMPROVE: When solving impossible problems, ask yourself:

–Is there an easier way?

–Am I solving the right problem?

–Why is this a problem?

–What makes it hard?

–Do I have to do it this way?

–Does it have to be done at all?

GOALS: 

–Learn at least one new language every year–Read a technical book each quarter–Read nontechnical books, too–Take classes–Experiment with different environments.–Stay current–Get wired.