Επάγγελμα Software Engineer

Ο Μηχανικός Λογισμικού (Software Engineer) είναι υπεύθυνος για τον σχεδιασμό, την ανάπτυξη και την συντήρηση συστημάτων λογισμικού βάση των αρχών της τεχνολογίας λογισμικού. Για να δημιουργηθεί ένα λογισμικό στον Η/Υ όπως το Microsoft Word, απαιτούνται κάποια βασικά στάδια.

Ασχολείται με τις τεχνικές προδιαγραφές, τις απαιτήσεις, την αρχική σχεδίαση ενός συστήματος, αλλά και με ολόκληρο τον κύκλο της ανάπτυξης του. Συνεπώς, σε αντίθεση με τον Προγραμματιστή Λογισμικού (Software Developer) έχει μια θέση επίβλεψης με περισσότερες ευθύνες για το τελικό προϊόν.

Τι είναι ο Software Engineer

Σε κάθε νέο project ο Μηχανικός Λογισμικού (Software Engineer) έχει ως στόχο:

  • Να καθορίσει τις απαιτήσεις του συστήματος, όσον αφορά τις λειτουργίες του λογισμικού αλλά και την υποδομή του.
  • Να σχεδιάσει την αρχιτεκτονική του συστήματος, βάση των αρχικών απαιτήσεων και έχοντας υπόψιν την διάσπαση των tasks στην ομάδα ανάπτυξης.
  • Να επιλέξει τις κατάλληλες τεχνολογίες και γλώσσες προγραμματισμού που θα βοηθήσουν στην ομαλή ανάπτυξη και καλή αξιοπιστία του λογισμικού.
  • Να καθορίσει τις μεθόδους ελέγχου για την επιβεβαίωση της ορθής λειτουργίας του λογισμικού.

Με τον όρο “developer” συνηθίζεται να αποκαλείται ο μηχανικός λογισμικού που ασκεί ανάλυση, σχεδίαση και υλοποίηση ταυτόχρονα

Χρειάζεται καλή εμπειρία τόσο πάνω σε διάφορες γλώσσες προγραμματισμού, όσο και στην αρχιτεκτονική ενός συστήματος. Πλέον ένα από τα πιο σημαντικά skills ενός Μηχανικού Λογισμικού είναι η ικανότητα του να διασπάει και να καθορίζει μικρά tasks. Να μπορεί να τα αναθέσει και να τα περιγράψει με ξεκάθαρο τρόπο ώστε να είναι εύκολα υλοποιήσιμα και σωστά καθορισμένα. Στο κάτω κάτω, πλέον τα συστήματα είναι αδύνατο να υλοποιηθούν από ένα άτομο και πρέπει να υπάρχει μια οργανωμένη ομάδα.

Ο ρόλους του Μηχανικού Λογισμικού απαιτεί γνώσεις τόσο στο Front-End όσο και στο Back-End ενός συστήματος. Έτσι λοιπόν, συνήθως ο ρόλος αυτός σχετίζεται άμεσα με τον ρόλο του Senior Full Stack Developer.

Πλέον αρκετά από τα συστήματα είναι online και τρέχουν σε αυτό που αποκαλούμε cloud πχ AWS. Έτσι, ένας Μηχανικός Λογισμικού γνωρίζει αρκετά καλά τι είναι και πώς να διαχειριστεί cloud εφαρμογές. Πώς μπορεί να αλλάξει ρυθμίσεις και πώς μπορεί να βελτιώσει τις υποδομές με στόχο την μείωση του κόστος και την αύξηση της συνολικής απόδοσης της ομάδας.

Με τι ασχολείται

Ο ρόλος του Software Engineer αφορά ολόκληρο τον κύκλο ενός προϊόντος. Συνεπώς, μπορούμε να πούμε συνοπτικά πως ασχολείται με τα εξής:

  • Ανάλυση (ως αναλυτής / software analyst)
  • Σχεδίαση (ως σχεδιαστής/ software designer)
  • Υλοποίηση (ως προγραμματιστής / programmer)
  • Έλεγχος Εγκυροποίηση (ως ελεγκτής / tester)
  • Διασφάλισης Ποιότητας και Πιστοποίηση (ως quality assurance specialits)
  • Τεκμηρίωση (ως τεχνικός συγγραφέας / software writer)

Αν και οι αρμοδιότητες αλλάζουν ανάλογα με το ύφος και τις απαιτήσεις της κάθε επιχείρησης, αναφέρουμε κάποιες που τις συναντάμε συχνά:

  • Παρακολούθηση και ανάπτυξη του πλήρες κύκλου ενός λογισμικού.
  • Σχεδίαση αρχιτεκτονικής λογισμικού.
  • Προγραμματισμός κώδικα ελέγχου και επιβεβαίωση ορθής λειτουργίας (software quality testing – QA Testing)
  • Προκαθορισμός των απαιτήσεων του λογισμικού με διαγράμματα ροής, πρότυπα προκαθορισμού των απαιτήσεων και έγγραφα τεκμηρίωσης..
  • Επέκταση λογισμικού με νέα features και βελτιστοποίηση του υπάρχων κώδικα.
  • Ανάπτυξη κώδικα αυτοματοποίησης διαδικασιών.
  • Αντιμετώπιση προβλημάτων, εκσφαλμάτωση και αναβάθμιση υπαρχόντων συστημάτων.
  • Καλή γνώση του Auth0
  • Πρακτική εμπειρία και ικανότητα διαχείρισης των Azure, AWS or GCP

Τα Skills του Software Engineer

  • Ανάλυση και αξιολόγηση πληροφοριών
  • Ανάληψη πρωτοβουλιών & επίλυση προβλημάτων
  • Καθορισμός προτεραιοτήτων
  • Ομαδικό πνεύμα
  • Εμπειρία στην ανάπτυξη διαδικτυακών εφαρμογών με χρήση τουλάχιστον ενός δημοφιλούς πλαισίου διαδικτυακών εφαρμογών (JSF, Wicket, GWT, Spring MVC)
  • Βάσεις δεδομένων
  • Ανάπτυξη λογισμικού σε διάφορες γλώσσες προγραμματισμού
  • Εμπειρία σχεδιασμού διαδραστικών εφαρμογών
  • Εμπειρία με Unit tests
  • Έλεγχος Εκδόσεων Λογισμικού: Git
  • Σχεδίαση Συστημάτων: MVC, UML
  • Format Δεδομένων: XML, JSON
  • Front-end Web Τεχνολογίες: HTML, CSS, Bootstrap, Javascript, jQuery, Ajax
  • Back-end Web Τεχνολογίες: PHP/MySQL, ASP.NET/C#,
  • Γνώσεις ενός τουλάχιστον framework: React, Angular, Laravel, Vue
  • Semantic Web: OWL/RDF/SPARQL/RuleML, SOAP/WSDL/UDDI
  • Παράλληλος Προγραμματισμός: MPI, Java Threads, OpenMP, OpenCL, CUDA

Πως να σπουδάσεις

Οι απαιτήσεις ενός Μηχανικού Λογισμικού είναι υψηλές. Τα πιο σημαντικά χαρακτηριστικά είναι η λήψη πρωτοβουλιών, ομαδικότητα και η εργασιακή εμπειρία σε cutting-edge τεχνολογίες. Ο Μηχανικός Λογισμικού είναι ένας ρόλος που απαιτεί σπουδές σε τμήματα όπως τα παρακάτω:

Σχετικά Επαγγέλματα

Ο ρόλος του Μηχανικού Λογισμικού είναι μια θέση συντονισμού και επίβλεψης ενός project. Για την ολοκλήρωση του project, υπάρχει απαίτηση για στενή συνεργασία και ομαδικότητα με διάφορους άλλους ρόλους. Μέσα από τις φάσεις του project, ο Μηχανικός Λογισμικού καλείται να οργανώσει και να πάρει πρωτοβουλίες για την δημιουργία ενός αξιόπιστου συστήματος. Έτσι, μπορούμε να πούμε ότι ο ρόλος αυτός σχετίζεται άμεσα με τους εξής ρόλους:

Εύρεση Θέσεων Εργασίας

Η εύρεση θέσεων εργασίας στην Ελλάδα γίνεται μέσω του Linkedin και άλλω μηχανών αναζήτησης εργασίας. Εάν σε ενδιαφέρει να εργαστείς ως Front End Developer, είναι πολύ σημαντικό να μάθεις πως μπορείς να χτίσεις ένα επαγγελματικό προφίλ στο Linkedin. Το Linkedin είναι το κοινωνικό δίκτυο για επαγγελματίες όπου ο εργοδότης συναντά τον εργαζόμενο.

Τόσο το Linkedin οσο και οι Μηχανές Αναζήτησης Εργασίας στην Ελλάδα έχουν την επιλογή για εργασία εξ’ αποστάσεως (remote work)

Προεπιλεγμένη Εικόνα
career
Η εθελοντική ομάδα του FutureGeneration έχει ως στόχο την δημιουργία περιεχομένου που θα σε βοηθήσει στο να πάρεις καλύτερες αποφάσεις για το μέλλον σου.
error: Το περιεχόμενο προστατεύεται.

Join the Future

Γίνε μέλος της F κοινότητας και απέκτησε δωρεάν πρόσβαση σε pro tips και υλικό για να χτίσεις την καριέρα σου έτσι όπως εσύ την ονειρεύεσαι.

You have successfully subscribed to the newsletter

Ουπς, κάτι πήγε στραβά!