DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Enterprise AI Trend Report: Gain insights on ethical AI, MLOps, generative AI, large language models, and much more.

2024 Cloud survey: Share your insights on microservices, containers, K8s, CI/CD, and DevOps (+ enter a $750 raffle!) for our Trend Reports.

PostgreSQL: Learn about the open-source RDBMS' advanced capabilities, core components, common commands and functions, and general DBA tasks.

AI Automation Essentials. Check out the latest Refcard on all things AI automation, including model training, data security, and more.

Related

  • Being a Backend Developer Today Feels Harder Than 20 Years Ago
  • Build Your Own Programming Language
  • Maximizing Developer Efficiency and Productivity in 2024: A Personal Toolkit
  • Remote Work Security Tips for Developers

Trending

  • AI and Rules for Agile Microservices in Minutes
  • Harmonizing AI: Crafting Personalized Song Suggestions
  • C4 PlantUML: Effortless Software Documentation
  • AWS Fargate: Deploy and Run Web API (.NET Core)
  1. DZone
  2. Culture and Methodologies
  3. Career Development
  4. Launching Your Career in Tech: A Novice Developer’s Guide

Launching Your Career in Tech: A Novice Developer’s Guide

I've gathered knowledge from experienced professionals and various sources, along with the experiences of colleagues who have achieved great results.

By 
Konstantin Glumov user avatar
Konstantin Glumov
·
Nov. 02, 23 · Opinion
Like (1)
Save
Tweet
Share
2.0K Views

Join the DZone community and get the full member experience.

Join For Free

The tech industry has a lot to offer, from good pay and remote work options to a warm welcome in the professional community. People of all ages are drawn to it. This article explores how to become a developer efficiently and move up in your career quickly. I've gathered knowledge from experienced professionals and various sources, along with the experiences of colleagues who have achieved great results. I won't promote specific courses, but you can easily find effective ones based on their descriptions.

For someone without a computer science background, starting to learn programming can be overwhelming. You'll encounter many unfamiliar terms and need to make decisions about specialization and programming languages. Choosing the right educational programs, courses, and creating a development plan is just the beginning. After you've mastered the basics, you'll need to dive into the technologies surrounding your chosen language, a challenge even experienced programmers face as it involves a lot of knowledge that can vary from project to project.

First, you need to decide if you want to focus on backend or frontend. If your background is more about communication than coding, you can consider roles like QA engineer, system or business analyst, or product manager. These jobs are in demand and offer competitive salaries.

Backend developers handle the server side of applications. They work with microservice architecture, databases, and DevOps practices. The most popular programming languages for this are Java, Kotlin, Python, Go, and C. Unlike other areas, backend development requires more knowledge of algorithms, a strong base in computer science, and the ability to manage complex logic.

Frontend development is divided into three categories: web (browser), Android, and iOS, each with its own set of languages and technologies. For web development, you'll need to learn JavaScript. For Android, it's Kotlin, and for iOS, it's Swift or Objective-C. You also need to know the layout (CSS) and how the client side works. You'll have to work closely with designers and businesses to ensure your work is user-friendly.

I chose backend development because I had limited experience with scripting and data analysis. I tried C# and Python but ended up with Java because it had the best and most affordable local-speaking courses. Job postings also confirmed this choice. I have an economics background and worked in various roles in the investment sector. I went from being a trader taking client calls to managing a portfolio. Along the way, I explored trading robots and trading systems, which required strong math skills and testing on big data.

At the same time, I tried various ways to learn programming. I started with online articles and books, but it was challenging. Most of the knowledge wasn't organized or easy to absorb. Learning programming languages is like learning a sport; you need practice. It doesn't matter how much you read or watch; only about 5-10% sticks in your long-term memory. You have to practice repeatedly. Athletes hone their skills through thousands of repetitions of simple exercises. To make progress, you need a lot of hands-on practice. After reading an important article or watching a video, take the time to practice the material.

Look for courses that emphasize hands-on learning. Knowledge should be presented in a structured way, starting from simple concepts. It should be engaging and explained in plain language. Detailed explanations from books can be too complex at this stage.

Once you've learned the basics of the language, you'll need to dive into its ecosystem. Learning a specific language is easier than understanding the extra technologies used in daily development. These technologies can change from project to project, so you need to focus on the basics. As a Java developer, I chose to study:

  • Spring: A framework for creating modern web applications with connections to databases, caches, and queues. It also supports microservice architecture.
  • Databases: Most server applications need data storage, and databases do that job. Start with relational databases. They are the most common and use SQL for queries.
  • Build tools: Gradle and Maven are used to automate project build and manage dependencies.
  • Authorization and authentication: Every application needs secure user access. You need to understand how different types of authorization work and try to implement at least one using Spring Security.
  • GIT: A version control system for team development. Not all teams use it every day, but it's helpful to know how it works.
  • IDE: Integrated Development Environments (IDEs) are essential for efficient coding. I recommend using IntelliJ IDEA because it has many features, supports various languages, and comes with many plugins. It's an industry standard, and the free version is enough for most tasks.
  • Frontend technologies: In the past, many developers worked on both frontend and backend. Knowing the basics of JavaScript, CSS, HTML, and client-side development is still useful.

With consistent effort, you can learn a programming language and the required technologies in 9-12 months. Afterward, you can start your job search or consider joining a non-profit project where you'll work with testers, analysts, and front-end developers in conditions similar to real projects. Such an internship offers valuable experience and helps you understand the demands of the job. Don't be afraid; usually, these projects have mentors (experienced developers) to answer your questions and provide guidance. In a team of professionals, your progress will be much faster.

I'm a mentor for one of these projects, and I can say it's an excellent way to start your career. Most participants find jobs after a few months.

The knowledge you gain is enough to land your first job as a software engineer. To get noticed by companies, you need to create a good resume, make a LinkedIn profile, and connect with recruiters.

You can find many resume templates and tips online. Remember to adapt your resume to the local job market. In Europe, America, and Asia, formats and content can vary. Include only relevant information from your tech experience. Describe your achievements, even if they're not huge. Standard phrases like 'wrote code' or 'worked with analysts and testers' don't tell much about you. Try to explain what you've done and the results you've achieved, preferably with numbers.

List the technologies you know in your resume and specify the technologies you used for each project. Aim for mid-level developer positions. Your knowledge should be enough to start in a new role. Junior positions are fewer, and there's more competition.

Once your resume is ready, create a detailed LinkedIn profile based on it and connect with recruiters. Even if you don't ask for their help in finding a job, you'll get interview offers. The more you try, the more likely you are to find a job. In my experience, no one who reached this point failed. People without higher education and from different fields, like doctors, musicians, or cooks, have become programmers. It can work for you, too.

career

Opinions expressed by DZone contributors are their own.

Related

  • Being a Backend Developer Today Feels Harder Than 20 Years Ago
  • Build Your Own Programming Language
  • Maximizing Developer Efficiency and Productivity in 2024: A Personal Toolkit
  • Remote Work Security Tips for Developers

Partner Resources


Comments

ABOUT US

  • About DZone
  • Send feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: