How to be a Senior Junior Software Engineer?(part 1)

sedhossein
4 min readMar 25, 2020

Hi dude,
This article is base on my experience and I think it’s just good for juniors/beginners that has no work experience or new-grads in IT world, and maybe Interesting for those who want to teach others how to start! I hope it can help you.

intro

I’ve loved creating since childhood, and started programming when i was 17, but not so seriously.

In the first semester I had almost no practical knowledge in programming and working atmosphere/work spaces.

Everyday many questions are made in and it’s hard to answer all of them perfectly. So I’ve decided to answer all of them with the help of my experience, that may help you to choose a better way.

what? when? with who? how? …
what… ? how… ? when… ? …?

Make/Choose your future as soon as possible

it’s time to change, hard changes

At first you need to know What you exactly want. before everything you should select your way! Do you really love computer science and IT world? or are you sure that wanna get a job in this world(technical and IT world)?

Before starting to learn programming it’s better to first, know yourself.

Ammm, It’s really typical that you can not answer above questions, if you can’t answer them like me when I was 18, don’t worry and read part A and find out your favorites, otherwise jump to part B

A. I’m not sure to being software engineer, but i think maybe i like it:

Usually beginners comes here. Unless we have knowledge about IT, how can we understand that we are really good IT guys? It’s quite normal, so don’t worry.
taste software lessons, concepts, challenges, And try its tools; in other words the only way to answer this ignorance, is experiment; try it for a short time and then you can answer: is it good for you or not. but how to test it and how short is time?

  • where is the start point: I think the best places to start learning are W3SCHOOLS (document based) SitePoint(world of books), FreeCodeCamp(fun learning) HACKR(video based). There are so many other references, but I prefer above sites.
  • short time meaning: Actually nobody can explain this statement, but it has several steps that everybody who love this way can do it as soon as possible. Based on your favorite tutorial do a very simple project with every language, for starting the language is not important so much, just try it and make your first project even if it’s so easy. After that you can understand the abstract summary of software engineer life, learning, work.

To start, I love W3SCHOOLS and recommend it.

Notice: in this phase, its enough to understanding “what is programming” and “am I a good person at software engineering?” or “Do I like software or not?”. Start learning tips coming in following steps.

B. I know my way, I wanna be happy software engineer:

Many guys knowing their tendencies, favourites and future, try to make their favorite future (so cute!)

Some have more important parts in their life than their job title, some else are geek.

Both of them also like IT world, but first guys learn computer science just for money, job or fun! and they have other priorities to Pay more attention to them. Also they live by standards of work-life balances.

The second group find their way, But we ignore them with a great deal of respect.

if you are like first guys, Safe and sound world is waiting for you ;)

Note: This doesn’t mean that you’ll never have hard days or everything will be easy. it just mean you can make your lovely life with hard working !

It’s just enough to having good start and get a job and start your life.

So let’s have a perfect start after A step.

Tips before questions:

0. Software engineering isn’t just developing and code! Asoftware engineer should be well-versed in:

  • Fundamentals of computer science
  • Design and architecture
  • Testing software
  • Debugging software
  • Information analysis
  • Algorithms and data structures
  • Programming and coding!
  1. Several platforms exist to develop them: Like mobile, IOT(internet of things), web, Operating system, industry and …
  2. In each platform, we have 2 sides: client-side and server-side. the guy that develops client-side called front-end developer, and the guy that develops server-side called back-end developer. Who develops both of them called full-stack developer(It’s more common in web and mobile stacks).
  3. Academic education is so helpful and useful, specially:
  • Advance programming
  • Data structure
  • networks
  • OS
  • Database
  • Software Engineering
  • Algorithm
  • Compiler
  • Processor/micro-processor and assembly

P.S: All of this article structure is base on my personal opinion, ou have any comment, I will be happy to hear it.

In next part(part 2), I answer lot of usual questions for new joiners and juniors. Touch me^^

--

--