Welcome back! The other week I mentioned some important things that every data scientist should know besides coding, now let's talk about some important things that every software engineer should know besides programming! There is a lot of overlap with data science, but there are still many things a software engineer should know besides coding, here are a few!
Software Development Methodologies
Starting off, a very popular thing every software engineer should know are the different methodologies on software development. There are several different methodologies out there, within the Agile development methodology there are several different processes within it including: DSDM, Kanban, Scrum and several others, below is a great resource for understanding these methodoligies:
What is Agile? | Atlassian
Whereas the traditional "waterfall" approach has one discipline contribute to the project, then "throw it over the…
Another very popular thing every software engineer should know is the AWS suite of products, specifically with Amazon S3. From what i’ve seen, almost every single programming position from tons of different companies (including Amazon, Apple and Microsoft) required some experience with this. AWS is essentially Amazon’s offering for cloud architecture, there are tons of products that Amazon offers with this, so try your best at understanding as much as you can with this.
Developing Reports (Writing Skills)
This is almost a gurantee for any job you take, there have been weeks of time i’ve spent just developing reports. If you couldn’t tell, writing isn’t my best quality, so developing your written skills is another massive thing every software engineer should know. As most of you know, during our college years we had to develop reports all of the time, in your job you essentially write code, but writing reports for your job always seems to be the hardest thing to do (especially for me). Improving your written skills won’t guarantee you a job as a software engineer, but it will definitely make you stand out if your reports / documentations of your projects are written extremely well.
Going along with written skills, presentation skills are another massive attribute to software engineer. You have to remember that a majority of the time you’ll be presenting your findings to another group of people, this is very common stuff, a massive pitfall to this is you may present to people who don’t understand the technical aspect behind your findings, why is that important to remember? Easy, if you talk about machine learning this & python that, no one is going to understand what you’re talking about, so you have to be able to balance your public speaking skills with your ability to speak about your project from a non-technical stand point.
One of the final things i’ve found to be extremely important in any job i’ve had is product ownership, this essentially covers everything from security of the product, version control and deployment of the product. This is one of the most important things about being any type of engineer, you must be able to develop the product, but you have to be able to maintain the product throughout the duration of your involvement. To be honest, a lot of this can be maintained by learning Git, so understanding that will greatly help you out with this, but being able to deploy the product is another important aspect to software engineering. Whether the end result of the product is a report, charts or a full fledged piece of software, you have to be able to maintain the product and troubleshoot any issues that may arise in the future.
There you have it! Those are some of the most important things I would recommend learning outside of programming for software engineers!
if you have any suggestions, thoughts or just want to connect, feel free to contact / follow me on Twitter! Also, below is a link to some of my favorite resources for learning programming, Python, R, Data Science, etc.
Here are some of my favorite courses, books and so much more. Most of these are affiliate links which help me create…
Thanks for reading!