Company Introduction
AutoScheduler is looking for a remote senior software developer to join our talented team. The ideal candidate is a self-starter who is interested in constant learning. We want this person to join our dynamic team as we take an established software and re-develop it from scratch as a part of a new start up.
Job Description
We are looking for a Backend C++ developer responsible for maintaining and developing algorithmic C++ for new and existing customers. Your primary responsibilities will be to design and develop applications and services, and to coordinate with the rest of the team working on different layers of the infrastructure. Therefore, a commitment to collaborative problem solving, robust design, and quality product is essential.
Responsibilities
- Work with non-technical personnel to translate business requirements into stories and epics
- Translate application storyboards and use cases into functional applications / features
- Design, build, and maintain efficient, reusable, and reliable code
- Ensure the best possible performance, quality, and responsiveness of applications
- Identify bottlenecks and bugs, and devise solutions to these problems
- Help maintain code quality, organization, and automation
- Write and maintain unit/functional/integration tests
Requirements
- Bachelor’s degree with STEM concentration + 2 years’ work experience, or equivalent work experience
- Fluent in English
- Demonstrably proficient in C/C++ and the ability to parse C/C++ code
- Proficiency in Node.js and Javascript
- Basic understanding of Common Language Runtime (CLR), its limitations, weaknesses, and workarounds
- Working knowledge of at least two other programming languages (e.g. Go and Python)
- Proficient understanding of modern distributed code versioning tools (like ‘git’)
- Thorough understanding of SQL, and in-depth experience with at least one RDBMS (e.g. PostgreSQL or Microsoft SQL Server)
- Experience with automated testing frameworks and unit tests
- Solid understanding of object-oriented programming and principles
- Knowledge of functional programming principals / concepts
Desired Skills
- Experience building applications with C++
- Experience building cross-platform applications with Scala
- Experience with functional programming
- Familiarity with concurrency patterns in Scala
- Experience building distributed systems and/or decoupled microservices
- Experience building software using cloud-based services (in any cloud platform)
- Experience using “gRPC” and Protocol Buffers (“protobuf”) and/or experience creating services that exchange non-JSON data over non-HTTP protocols
- Familiarity with continuous integration
- Familiarity with Docker / containerization
About Transportation | Warehouse Optimization
Similar jobs
- Design and Develop: Architect, design, and implement high-performance Java-based backend services and applications.
- Code Quality: Write clean, efficient, and well-documented code following industry best practices and coding standards.
- Technical Leadership: Provide technical guidance and mentorship to junior developers, promoting best practices and fostering a collaborative environment.
- Collaboration: Work closely with frontend developers, product managers, and other stakeholders to understand requirements and deliver robust solutions.
- Performance Optimization: Identify and resolve performance bottlenecks and scalability issues.
- Testing: Implement comprehensive testing strategies, including unit tests, integration tests, and end-to-end tests.
- Continuous Improvement: Stay current with the latest industry trends, technologies, and best practices in Java/Golang development, and continuously improve our development processes.
- BS in CS or EE or equivalent
- Experience working on large scale systems in rapid growth environments
- Experience with public cloud offerings (AWS, GCP, Azure)
- Solid programming skills; preferred experience in Java, and/or Python
- Experience with modern web frameworks, advanced algorithms/data intelligence, public
- cloud platforms and streaming data pipelines
- Familiarity with containerization, microservices architecture, continuous integration, and delivery
- 5+ years’ experience preferred
Minimum Qualifications:
5+ years of experience with Linux/Unix system administration and networking fundamentals 3+ years in a Software Engineering role or equivalent experience
4+ years of working with AWS
4+ years of experience working with Kubernetes, Docker.
Strong skills in reading code as well as writing clean, maintainable, and scalable code
Good knowledge of Python
Experience designing, building, and maintaining scalable services and/or service-oriented architecture Experience with high-availability
Experience with modern configuration management tools (e.g. Ansible/AWX, Chef, Puppet, Pulumi) and idempotency
Bonus Requirements:
Knowledge of standard security practices
Knowledge of the Hadoop ecosystem (e.g. Hadoop, Hive, Presto) including deployment, scaling, and maintenance Experience with operating and maintaining VPN/SSH/ZeroTrust access infrastructure Experience with CDNs such as CloudFront and Akamai
Good knowledge of Javascript, Java, Golang
- Candidates with good experience with SDLC
- Minimum 3+ years of hard core coding experience is mandatory
- Excellent hands on coding in Java, J2EE, Spring, Struts
• Nodejs
• Data structure & Algorithms
DESIRED SKILLS & EXPERIENCE
• BE/BTech in Computer Science or related technical discipline
• Good knowledge of JavaScript, JSON, Relational/NoSQL DB,
• Experience in writing modular/reusable code using JavaScript frameworks like Node JS, Express JS etc.
• Knowledge of Restful Web Services
• Understanding of OOPS, Data Structure, and Algorithms
• Knowledge of Python will be a plus point.
• Good Analytical and Problem-solving skills
• Knowledge of source control tools, preferably GIT
• Familiar with Agile methodologies
DeepSource is working on building tools that help developers ship good code. There are over 40 million developers in the world, and all of them write and review code in some form. There’s a massive opportunity to impact how software is built right from where the code is written using automation and intelligence, that not only improves developer productivity but also increases software’s robustness.
The Language Engineering team works on the source code analyzers, including both programming languages and configuration-as-code systems. As a member of the Language Engineering team, you will work on building the best, most comprehensive, Scala analyzer in the world. You will add new rules and Autofixes for finding more issues with code and automatically fixing them. You will be involved with the community to understand the problems with static analysis tools in the Scala ecosystem.
As a member of the Language Engineering team, you will:
-
Identify bad code practices in Scala and write new analyzers to detect them.
-
Improve the coverage of automatically fixable issues.
-
Ensure fewer false-positives are reported by the analyzer.
-
Work on the internal tools that support analysis runtimes.
-
Contribute to open-source static analysis tools.
We’re looking for someone who has:
-
Strong foundational knowledge in Computer Science.
-
At least 3 years of professional software development experience in Scala and Java.
-
Understanding of the nuances of execution of the source code (AST, data flow graphs, etc).
-
Familiarity with Scala best practices followed in the industry.
-
Native experience with Linux/Unix environment.
-
A focus on delivering high-quality code through strong testing practices.
We offer competitive compensation with meaningful stock options, a generous vacation policy, and a workstation of your choice, to name a few of the perks.
- 2 - 6 years of software development experience
- Good grasp on programming fundamentals including OOP, Design Patterns and Data Structures
- Excellent analytical, logical and problem-solving skills
- Software Development Engineer
- Good understanding of complexities involved in designing/developing large scale systems
- Strong system design skills
- Experience in technologies like Elasticsearch, Redis, Kafka etc
- Good knowledge of relational and NoSQL databases
- Familiarity with common machine learning algorithms. In-depth knowledge is a plus
- Experience of working with big data technologies like Hadoop, Spark, Hive is a big plus
- Ability to understand business requirements and take ownership of the work
- Exhibit passion and enthusiasm for building and maintaining large scale platforms
Role- Software Development Engineer-2
As a Software Development Engineer at Amazon, you have industry-leading technical abilities and demonstrate breadth and depth of knowledge. You build software to deliver business impact, making smart technology choices. You work in a team and drive things forward.
Top Skills
You write high quality, maintainable, and robust code, often in Java or C++ or C#
You recognize and adopt best practices in software engineering: design, testing, version control, documentation, build, deployment, and operations.
You have experience building scalable software systems that are high-performance, highly-available, highly transactional, low latency and massively distributed.
Roles & Responsibilities
You solve problems at their root, stepping back to understand the broader context.
You develop pragmatic solutions and build flexible systems that balance engineering complexity and timely delivery, creating business impact.
You understand a broad range of data structures and algorithms and apply them to deliver high-performing applications.
You recognize and use design patterns to solve business problems.
You understand how operating systems work, perform and scale.
You continually align your work with Amazon’s business objectives and seek to deliver business value.
You collaborate to ensure that decisions are based on the merit of the proposal, not the proposer.
You proactively support knowledge-sharing and build good working relationships within the team and with others in Amazon.
You communicate clearly with your team and with other groups and listen effectively.
Skills & Experience
Bachelors or Masters in Computer Science or relevant technical field.
Experience in software development and full product life-cycle.
Excellent programming skills in any object-oriented programming languages - preferably Java, C/C++/C#, Perl, Python, or Ruby.
Strong knowledge of data structures, algorithms, and designing for performance, scalability, and availability.
Proficiency in SQL and data modeling.
Responsibilities
- Writing scalable, robust,, testable, efficient, and easily maintainable code
- Translating software requirements into stable, working, high performance software
- Playing a key role in architectural and design decisions, building toward an efficient micro services distributed architecture
Skills
- Strong knowledge of Goprogramming language, paradigms, constructs, and idioms
- Knowledge of Goroutine and channel patterns
- Experience with the full suite of Goframeworks and tools, including:
- Dependency management tools such as Godep, Sltr, etc.
- Go’s templating language
- Go’s code generation tools, such as Stringer
- Popular Goweb frameworks, such as Revel,Gin
- Router packages, such as Gorilla Mux
- Ability to write clean and effective Godoc comments
- Familiarity with code versioning tools (such as Git, SVN, and Mercurial)
- Good Written and Verbal communications.