SitePoint
  • Premium
  • Library
  • Community
  • Jobs
  • Blog
LoginStart Free Trial
Your First Year in Code
Your First Year in Code
Guide
Foreword
About the editor
About this book
Code is the best
Code is the worst
Code is just a tool
The night I discovered code
The path of self-learning
My decision between college and a coding bootcamp
Why I chose a bootcamp
A high-level overview of coding bootcamps
The cost of forsaking a computer science degree
Differences between bootcamps, colleges and self-taught pathways
Similarities: bootcamps & college
Additional resources
Build intuition
Knowledge debt
PDL: Problem-Driven Learning
Multiple sources of truth
Fewer subjects at a time
Ask your own questions
Challenge your material
Go back and review
Fundamentals are important
What is a computer program?
The tools of the trade
Programming languages
Putting data in code
Complex types
APIs
Functions
Logical branches and comparisons
Loops
Null and undefined
Scopes
Comments
Searching for clues
What is an application?
Conclusion
0. Naming things
1. Separation of concerns
2. Global variables (are bad)
3. DRY
4. Hiding complexity
5. Proximity
6. Deep nesting (is bad)
7. Pure functions
8. Automated tests
Conclusion
Wars? What wars?
The ancient editor war
The Windows/Linux war
Browser and style wars
Use what you like, focus on learning
Nobody cares about your code
Sharing the journey of the user
Everything and yet nothing we want
Part of a larger development community
Deserving of trust and autonomy
Becoming a great programmer
Reading error messages
How to Google stuff
How to read technical documentation
Ask for help
In conclusion
Famous examples
My projects
Cons
Pros
How
So why not start one?
Side projects
Revising your resume
Meetups, events and channels
Mentors
Interviewing
Negotiating
Growing and succeeding
What else is out there?
How to start preparing
Exercise
Sabrina’s story
My software developer journey
LGBT
Introduction
Choosing a company with the right values
The importance of telling the truth
How to grow a thick skin and handle complexities
Breaking stereotypes: educate men at work
1. Be self-aware
2. Timebox your frustration
3. Rubber-duck it
4. Draw it
5. Take five
6. Ask for help
7. Isolate the problem
8. Write it up
9. Get a buddy and ask the internet
10. Find a workaround
Finally, document the solution
Are you a coder, programmer, developer, engineer, architect or something else?
Sources
Salary data
Analysis
Bibliography & further reading
Till not many years ago…
DevOps
The public
What is the main problem when deploying to the cloud?
Running an application in various operating systems
Docker and containers in general
Docker vs. virtual machines
Provisioning
Continuous Integration and Continuous Delivery (CI/CD)
Tips for the future
Privacy
Preventing bugs and outages
Avoiding dark patterns
Impartiality and accessibility
Do no harm
The golden user story
Asking hard questions
Contributing to UX and feature discussions
Talking to users
Writing documentation
Code design
Development isn’t just code
What is a code review?
Why do we do code reviews?
Who should review a junior developer’s code?
How should you review someone’s code?
Guest authors
Beta readers
Cover design

Community Questions