All Projects → jVirus → soft-skills

jVirus / soft-skills

Licence: MIT license
🍦List of Soft Skills for software engineers/developers.

Programming Languages

Markdown
49 projects

Projects that are alternatives of or similar to soft-skills

devstack
Get up and running quickly to develop or extend Open edX services
Stars: ✭ 372 (+933.33%)
Mutual labels:  development
tomcatplugin
Tomcat plugin for Eclipse
Stars: ✭ 63 (+75%)
Mutual labels:  development
dwoole
⚙️ Docker image for Swoole apps with Composer, auto-restart on development and a production-ready version.
Stars: ✭ 32 (-11.11%)
Mutual labels:  development
significa.co
Significa - A digital design-led agency focused on product development.
Stars: ✭ 72 (+100%)
Mutual labels:  development
py-mon
Simple package to automatically restart application when file changes are detected!
Stars: ✭ 33 (-8.33%)
Mutual labels:  development
kdo
Deployless Development on Kubernetes
Stars: ✭ 63 (+75%)
Mutual labels:  development
System Design Primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Stars: ✭ 154,659 (+429508.33%)
Mutual labels:  development
charpente
Seamlessly design robust 'shiny' extensions
Stars: ✭ 36 (+0%)
Mutual labels:  development
D365FONinjaDevTools
To make of you a Ninja Developer in Dynamics 365 For Finance and Operations
Stars: ✭ 70 (+94.44%)
Mutual labels:  development
devproxy
A local development http proxy with hosts spoofing written in Go
Stars: ✭ 35 (-2.78%)
Mutual labels:  development
LearningResources
A centralised hub for learner around the globe from A-Z. You can find collections of manuals, blogs, hacks, one liners, courses, other free learning-resources and more
Stars: ✭ 63 (+75%)
Mutual labels:  software-development
distrobox
Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available at: https://gitlab.com/89luca89/distrobox
Stars: ✭ 4,371 (+12041.67%)
Mutual labels:  development
iOS-Daily-Tips
Daily Tips From iOS World 🔥
Stars: ✭ 42 (+16.67%)
Mutual labels:  development
software-development-resources
Collection of links to great software development resources!
Stars: ✭ 20 (-44.44%)
Mutual labels:  software-development
cxfuse
Crossmeta FUSE Windows Port
Stars: ✭ 55 (+52.78%)
Mutual labels:  development
dockerfiles
🐳 Dockerfiles for Nette Framework. Nette in Docker. (@nette)
Stars: ✭ 15 (-58.33%)
Mutual labels:  development
polycephaly
Groovy code to build z/OS source code files with Jenkins and Git
Stars: ✭ 14 (-61.11%)
Mutual labels:  development
AROS
www.axrt.org
Stars: ✭ 33 (-8.33%)
Mutual labels:  development
call
Make remote development more elegant
Stars: ✭ 20 (-44.44%)
Mutual labels:  development
ar-simulation
AR Simulation for Unity • Right in the Editor • Minimally Invasive
Stars: ✭ 101 (+180.56%)
Mutual labels:  development

soft-skills Awesome

Platform Language License

If you like the project, please give it a star It will show the creator your appreciation and help others to discover the repo.

✍️ About

The guide contains various soft skills that are usually (but not mandatory) required for various software engineering positions, and that is independent of:

  • Knowledge of a particular programming language and/or software technology
  • Experience working with a specific platform
  • Your age or any other attribute you can think of

The following skills will make you a better engineer/developer as well as greater person, that people want to work with (but doesn't guarantee 😄).

💪 Responsibility

  • An ability to formalize the exact task that you work on. An ability to answer to the following questions:
    • Why am I working on at this particular task?
    • Why this particular task is that important right now?
  • An ability to evaluate deadlines for current and dependent tasks
  • Being able to execute tasks before the deadline that was set or promised, without reminders and awkward conversations on both sides
  • An ability to report/notify about various issues that your team needs to be aware of
  • Remember, your team counts on you. If you feel like you need some help, that's absolutely normal - simply ask
  • When someone needs help, be responsible for his/her success, help them out

🍱 Being Organized

  • Make your own schedule when you feel you'r most productive
  • Don't delay the most challenging or annoying tasks: it's better to get "rid" of them as soon as possible:
    • Solving the most challenging tasks first, will give you a positive vibe, rather than draining your psychological energy
  • Take care of yourself:
    • If you feel healthy and happy, then your work will reflect that as well
    • Sleep enough and make that more consistent
    • Eat regularly and drink a lot of water
    • Find time to exercise. Even having 20 minutes excersizes everyday will make you more energized and healthier. Remember, you don’t need hours of excersises to be healthy and look good. Consistency and discipline are more important here as well
  • Clean up your workspace:
    • What's the point in living in a mess? - Your workspace (both digital and physical) should be organized and minimal - don't keep outdated and unused things
    • Our work takes most of the time. Do you want to be surrounded by a mess most of your life?
  • Personal knowledge and code base should be also well organized. You should be able to find what you need with ease
  • Make frameworks and libraries for yourself:
    • By organizing programming solution as reusable packages into different categories, you will build up your own framework collection and be able to reuse it and later save a lot of time

🐵👶 Evolving

  • Always evolve:
  • There are numerous tutorials, articles, guides, books, podcasts, open source projects and other materials that are valuable sources of knowledge
  • Remember: the lack of experience can be partially fulfilled by knowledge. The more you know, the easier for you to pick up something new and dive in, even without remembering specifics
  • Make it your daily routine:
    • Have a list of learning materials that you need to learn
    • Be disciplined and invest time and energy to educate yourself, everyday by a bit
  • Have your own projects:
    • You personal, private projects may develop slowly, but one day you possibly be able to monetize them, or possibly create your own company

🦹‍♂️🦹‍♀️ Teamwork

  • Know tools that your team uses
  • Don’t be afraid to communicate with your clients, even if those are inside your company
  • Be able to effectively collaborate in your group or team as well as with other grops or teams that have or may not have direct relation to your work
  • Reflect on yourself and your work during the communication process with your teammates
  • Empathy. That's what makes you a great human being and as a result a great professional

💡 Problem Solving

  • An ability to split big chunks of work:
    • A TASK should be split into subtasks such as: T, A, S and K
    • Be able to define coupling between the subtasks and start resolving them one by one
  • An ability to find easy (relatively) solutions for complex tasks
  • Being able to understand that each task has many possible solutions
    • Being able to find those solutions, evaluate them and select the most optimal one for your current context and environment
  • An ability to make sure that a task is really solved
  • An ability to explain and formalize a problem - that is a half way in resolving it

⌨️ Programming

  • An ability to write understandable code that is maintainable and extendable
  • An ability to document your work with the standards that are canonical for your context or workplace
  • Being able to work with the code that was written by someone else
    • An ability to perform a code review, refactoring and optimization of existing code
  • Unit and, if needed UI test your code

🏗 Architecture

  • An ability to dive in into a new technology in a quick and effective manner
  • Understanding of the exact scenarios of various usages of the architecture that you either use or develop
  • An ability to develop, maintain and refactor architectural solutions
  • An ability to search and integrate an existing solutions, rather that reinventing a bicycle (if applicable, in some cases a reinvented bicycle is perfectly fine)
  • Being able to design and develop APIs, frameworks and modular systems that can be reused across different software products

💼 Business

  • An ability to use various metrics as arguments
  • Willing to teach and mentor other people
  • Participate in the hiring process, helping them out to adapt to a new work environment and culture
  • An ability to speak the same language with either developers or business-oriented people, ask appropriate questions, structure your thought process and give appropriate and contextual feedback
  • Being able to understand how business decisions affect the process of software development, prioritization of tasks and features

🙋‍♂️🙋‍♀️Contributing

Please note that this is not the ultimate guideline about soft skills. If you feel like there is something that can be added and/or changed, please let me know.

👨‍💻 Author

Astemir Eleev

🔖 Licence

The project is available under MIT Licence

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].