Software Engineer

A Software Engineer is a professional who applies principles of software engineering to the design, development, maintenance, testing, and evaluation of computer software. This role encompasses a broad set of tasks and responsibilities, which can vary depending on the specific job or project.

Show Vetting Legend

Search Algorithms

At least 0 skill(s) from list below
Min total hours: 0
A* AlgorithmBellman-Ford AlgorithmBinary SearchBreadth-First SearchDepth-First SearchDijkstra's AlgorithmFibonacci SearchGreedy Best-First-Search Hash Table SearchInterpolation SearchJump SearchLinear SearchTernary Search

Performance and Optimization

At least 3 skill(s) from list below
Min total hours: 50
CachingMemory ManagementProfiling and BenchmarkingSpace ComplexityTime Complexity

Security Basics

At least 2 skill(s) from list below
Min total hours: 100
3DESAES EncryptionAsymmetric EncryptionBlowfishDES EncryptionECC EncryptionHash FunctionsMD5Random Number GenerationRSASalted HashesSecure Hash AlgorithmSHA-256Symmetric EncryptionTokenization

Testing

At least 2 skill(s) from list below
Min total hours: 100
Compatibility TestingFunctional TestingIntegration TestsLoad TestingPerformance TestingRegression TestingSecurity TestingSmoke TestingStress TestingSystem TestingTest Driven DevelopmentUnit TestsUser Acceptance Testing

Programming Languages

At least 1 skill(s) from list below
Min total hours: 100
AdaArcASPAssemblyAwkBASICCC#C++ClojureCOBOLCoffeeScriptCudaCythonDartDenoDjango EJSElixirElmErlangFortranGAPGolangGroovyHaskellHTML5JavaJavascriptJuliaKotlinLuaMATLABNodeObjective-CObjective-C++OCamlPascalPerlPHPPikePureBasicPythonRRakuRubyRustScalaScilabSmalltalkSolidityStandard MLSwiftTLA+TwigTypeScriptVerilogVisual BasicWPFXAML

Sorting Algorithms

At least 0 skill(s) from list below
Min total hours: 0
Bubble SortBucket SortCounting SortHeap SortInsertion SortMerge SortQuick SortRadix SortSelection SortShell SortTopological Sort

Dynamic Programming

At least 0 skill(s) from list below
Min total hours: 0
0/1 Knapsack ProblemCoin Change ProblemFibonacci SeriesLevenshtein DistanceLongest Common Subsequence Longest Increasing SubsequenceMatrix Chain MultiplicationRod Cutting ProblemTravelling Salesman Problem

Divide and Conquer

At least 0 skill(s) from list below
Min total hours: 0
Closest Pair of PointsCounting Inversions in an ArrayKaratsuba Algorithm for MultiplicationStrassen’s Matrix MultiplicationTower of Hanoi

Greedy Algorithms

At least 0 skill(s) from list below
Min total hours: 0
Activity Selection ProblemFractional Knapsack ProblemGreedy FloristHuffman CodingJob Sequencing ProblemKruskal's AlgorithmMinimum Absolute Difference in ArrayMinimum Number of CoinsPrim's AlgorithmSelection By RankSet Cover Problem

Data Structures

At least 0 skill(s) from list below
Min total hours: 0
Adjacency ListAdjacency MatrixArraysAVL TreeBinary Search TreeBinary TreeBloom FilterB-Tree Directed GraphDisjoint SetFenwick TreeGraphsHash TablesHeapHeapsLinked ListsLRU CacheMulti-Dimensional ArraysQueuesRed-Black TreeRope (Data StructureSegment TreeStacksSuffix ArrayTreesTrie (Prefix Tree)Undirected GraphWeighted Graph

Backtracking

At least 0 skill(s) from list below
Min total hours: 0
Combination SumCryptarithmetic PuzzleGraph ColoringHamiltonian CycleKnights Tour ProblemN-Queens ProblemPermutations of a StringRat in a MazeSubset Sum ProblemSudoku Solver

Version Control

At least 1 skill(s) from list below
Min total hours: 100
Cherry PickCloneCode ReviewsConflict ResolutionCVCSDVCSFeature BranchGitMergeOpen SourceP4Production PushPull/FetchPull RequestRevisionsSvnTags

Software Architecture

At least 3 skill(s) from list below
Min total hours: 100
Blackboard ArchitectureClient-Server ArchitectureDomain Driven DesignEvent Driven ArchitectureHexagonal Architecture Layered ArchitectureMicroservicesMonolithicMVCMVVMPeer-to-Peer ArchitecturePipe-and-Filter ArchitectureServerless ArchitectureService-Oriented ArchitectureSpace-Based ArchitectureVirtual Machines

Software Design Patterns

At least 3 skill(s) from list below
Min total hours: 100
Adapter Design PatternBatch ProcessingBuilder Design PatternChain of Responsibility Design PatternCommand Design PatternComposite Design PatternContainerization and OrchestrationDecorator Design PatternEvent Sourcing and CQRSFacade Design PatternFactory Design PatternIOC/Dependency InjectionMutexObserver Design PatternProducer-ConsumerPrototypeProxy Design PatternRead-Write LockReal-Time StreamingSingletonSSRSState Design PatternStrategy Design PatternVisitor Design Pattern