DEV Community

boryanz
boryanz

Posted on

Want to become a software engineer?

Eventually, you decide to try this field where people pay you money to sit all day in front of PC and type code. Nice, let’s go deeper.

Computer science is a HUGE field and you must decide which path to take. If you are a complete beginner you could take anything because any initial knowledge you get is valuable. Let’s say you take Native Android development as I did 5 years ago. In the beginning, what bugged me the most was where to start!? No connections, no guidance no nothing.

The only way to learn a concept is to apply theoretical knowledge. The closest path between theory and real project, is the course. Take a course or a bootcamp and code along it. You won’t understand most of the stuff but you will write down all the terminlogy and then search for it later. After finishing the course, immediately start building your own project, this is the most important step, because you will end up in a lot of errors and be forced to google every minute. At first, it would be painful to google all day but as days goes by you will be more fluent in language which you are working on. For you it would be intuitive to learn all the concepts and watch dozens of tutorials before starting building something new, watch out, there lay the worst trap you can fall into!!! Terminology wise, it’s called “Tutorial hell” where one watch tutorials all the time and knows nothing.

The moment you start building your own stuff, you’ll realize that you don’t know nothing. You must endure this period which might be 1-4 months if you are complete beginner. Keep going, don’t lose focus! The obvious question would be: Where to find ideas for real world project?

I suppose you have a hobby, or at least interest in something. If you don’t, first get it and then start programming becuse software is just a tool for building solutions for the people. Extract anything from your hobby, in my case I was beekeeper back then. My ideas was to keep track of my beehives, and have a todos inside the app. I am sure you can find something, even it sounds silly, build the product anyway! Keep in mind to keep the product(app) small with essential features only.

Probably you’ll spent several months to a year building the app, and in the process you’ll learn a ton of stuff. While building the product, create a decent looking github profile, pdf Resume and Linkedin profile. After finishing your first app, you can go onto the next project. I would build at least 3-5 projects before applying anywhere.

There is one catch here, the interviews. Interviews are totally different from the actual software engineering job. You’ll need to know data structures and algorithms so you’ll need to spend some time on this as well, around 2-3 months learning theory and practicing DSA excerises.

So in order to get the job. Personal projects + data structures and algorithms are a must.

To summarize, the process is hard because it requires consistency, a long hours at your desk baning your head why code doesn’t work. The only way to have a motivation is to have a vision about the product you are building, otherwise failure is inevitable.

If you feel passion to create something from scratch and also provide solution to a real world problem, you’ll succeed! Feel free to mail me if you have questions about this topic, I’m open for sharing my experinece with everyone who want to make a switch. Cheers.

Top comments (0)