Skip to content

A checklist for a modern software engineer (full stack engineer)

License

Notifications You must be signed in to change notification settings

parthakonda/software-engineering-checklist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software Engineering Checklist

A checklist for a modern software engineer (full stack engineer)

Companies are evolving in terms of innovation, process and also type of engineers that they want to hire. Most of the startup companies and also product development companies are looking for someone who can do multiple technologies.

As of 2019, from the trend analysis I've summarized the checklist items along with some practice examples and code.

This repo will be continously evolved. The following are the checklist items.

1. Python

Python? yes it is.

We're in era of more data analysis, ML and AI. For processing heavy data one can use R, Scala, Java and Python. However, both R and Scala not exposed much, so that for integrating these engines with web there is no out of the box solution.

Why not Java? Java can be used for this data process and it is very old and mature system. But most of the companies choose python because of its easiness, community and developer friendly.

So, if you see mindmap of python - it can be used for heavy data processing, web, testing, etc.

2. SQL

Data? yes for data.

The era of data analysis, ML and AI started. In order to process and compute data first we need to get the data. Most of the data resides in RDBMS, because the data is structured( I'm not saying that data can't be in the NoSql such as MongoDb, DynamoDb, elasticsearch, cassandra...). Even though the data is in NoSql some of the concepts will be same as RDBMS apart from ACIDS. So companies expect the minimal skill of SQL.

3. Html & css

For webapplications? yes it is.

To present your application/data then one must skilled at html & css. This will also helps you developing Web, Mobile, Native apps. HTML is straight forwarded. Having fundamentals of CSS (minimum of selectors, pseduo selectors, positioning, flex, grid, etc,.). However, if you're good with fundamentals of CSS then it will be very easy for you pickup css frameworks such as bootstrap, flat ui, etc,..

4. JavaScript

Javascript framework or just javascript (advanced)? In 2009 it was like only javascript and Jquery. But in 2019 there are bunch of framework which are continously adding and evolving day to day.

How come framework evolving is kind of a problem?

Consider AngularJs means 1.x version of Angular which is popular couple of years back and we've around 6-7 versions of it. Think about companies who adopted AngularJS, do they have to migrate to newer version? When the release of Angular2 some of the companies migrated to Angular2 and some of them were in migration. But after few months of Angular2 they released Angular4. So, it is a tough job to migrate to newer version if framework is continously evolving.

That said, if you've skill of Core Javascript, oops concept in Javascript and advanced ES2016 Javascript then regardless of framework you can adopt things faster. Because most of newer framework are heavy ES2016 based.

5. Vue

Too trendy, isn't it?

Not it's not. As of 2019 there are several Javascript frameworks out there. Angular, React and Vue is popular and heavily used in enterprise. Even though they've their own pros and cons vue is consistently becoming popular because of its performance, registry and easiness of learning.

Vue can be adopted more faster relatively than React and definetely then Angular. So it is worth learning ES2016 and vue for next couple of year at-least.

Note

All of the above analysis from my experience. This will be continously evolved. Please feel free to submit your thoughts.

About

A checklist for a modern software engineer (full stack engineer)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published