So you want to be a software developer. Where to start?
testacy · Posts, CA · Yesterday
EngineeringInternship
About the role
This is a guide for individuals with no computer science background or programming experience who are seeking a career transition into software development. It outlines a realistic, step-by-step pathway to acquiring the necessary skills, gaining practical experience, and ultimately securing a first job as a programmer. The approach emphasizes hands-on learning, building projects, and gradual skill development over a dedicated timeframe.
Getting started: Building foundational skills
- Take an online course to learn a programming language, specifically recommending Ruby via CodeSchool.
- Build a demo application, such as a personal expense tracker that allows users to enter expenses and view reports by category (food, transportation, accommodation, utilities) on weekly, bi-weekly, or monthly basis.
- Publish the application to the internet using Heroku and use it personally.
- Continue fixing bugs and extending the application to better serve your needs as you encounter issues or think of improvements.
Learning core computer science fundamentals
After spending approximately six months on building your first application, dedicate another six months to learn fundamental programming topics that are difficult to acquire solely on the job:
- Algorithms: Take an online course on basic algorithms to understand different algorithmic approaches for solving known problems.
- Data structures: Take an online course, as these are used daily and are essential knowledge for any developer.
- Object oriented concepts: Take an online course to grasp the fundamental concepts behind object-oriented programming, which will help establish a solid foundation even though mastery takes years.
Bootcamps and job search
- Attend two bootcamps: the first to work with peers, immerse in building, and gauge your standing against others; the second to assess your improvement and performance since the first.
- After completing the bootcamps with a positive outlook, begin searching for jobs that match your skill level, keeping an open mind about positions that may not offer top pay initially.
- Once employed, focus on rapid on-the-job learning while also continuing to study topics outside of work that may not be covered in your daily role.
Realistic timeline and expectations
- Expect to spend 1.5–2 years to secure your first programming job, based on dedicating 8–10 hours per week of free time.
- Plan for approximately 4 years to become proficient, which is considered a worthwhile investment given the long-term career satisfaction and rewards.
- Note that the timeline can be shortened with more dedicated time or prior background in math or computing skills, but six months is considered a minimum for most people to reach the initial application-building stage.