
About Transportation | Warehouse Optimization
Similar jobs (10)
JD:
As a Staff Software Engineer, you will be responsible for the design, implementation and maintenance of software modules owned by a team. You will guide and mentor junior team members by reviewing their code and designs to ensure that they are writing well designed and high quality code. This role requires excellent communication skills as you will need to collaborate across teams.
Key Skills:
- 3 to 6 years of experience
- Extensive experience on C/C++/Python
- Experience on OS - Unix/Linux and Windows
- Hands on experience in Networking and Multi-threading
Desirable Skills:
- Experience in Cloud Technologies, system programming is a plus
Roles and responsibilities:
- Play key role in design/development of security product.
- Responsible for the complete software development cycle.
- Gathering & understanding requirements.
- Design, development & implementation independently.
- Responsible for ensuring timely and quality delivery.
- Will be able to work in end to end features.
Qualification:
- B.Tech / B.E / M.E./ M.Tech (Computer Science) or equivalent.
At F5, we strive to bring a better digital world to life. Our teams empower organizations across the globe to create, secure, and run applications that enhance how we experience our evolving digital world. We are passionate about cybersecurity, from protecting consumers from fraud to enabling companies to focus on innovation.
Everything we do centers around people. That means we obsess over how to make the lives of our customers, and their customers, better. And it means we prioritize a diverse F5 community where each individual can thrive.
-
Design, coding, enhancements, and bug fixing in DNS and related areas.
-
Bring up new ideas to improve the day-to-day challenges in the design/functionality.
-
Should be able to provide technical direction to the ongoing and future projects in the team.
-
Keep the product vulnerability free by uplifting/fixing the open issues.
-
Build tools and infrastructure to improve these F5’s components and features.
-
Set an example of software design and development innovation and excellence.
-
Research, investigate and define new areas of technology to enhance existing or new products directions
-
Evaluate performance of products to fine-tune, and refactor the design as per the requirements to scale up.
-
Must have worked in security and related areas.
-
Document software designs via functional specifications and other design documents
-
Conduct presentations internal and external, mentoring the team members
-
May participate in the hiring and onboarding process
-
Collaborate with team members and technical leads
-
Responsible for upholding F5’s Business Code of Ethics and for promptly reporting violations of the Code or other company policies.
Knowledge, Skills and Abilities:
Essential
-
Deep understanding of data structures & algorithm.
-
Expert in C, C++ with hands-on experience
-
Fair understanding of scripting languages Python and JavaScript
-
Expertise in Linux user-level programming and exposure to Linux networking stack.
-
Good understanding on TCP/IP concepts.
-
Proven experience with security standards.
-
Excellent analytical and problem-solving skills.
-
Good understanding of Network security and DNS modules
-
Excellent Understanding of networking technologies and OS internals.
-
Prior experience in leading and delivering project/programs involving multiple teams.
-
Prior experience of leading and mentoring senior engineers to deliver critical projects.
Nice-to-have
-
Prior experience developing DNS and related modules is a Plus.
-
Good understanding of network protocols like TCP, UDP, HTTP, SSL, DNS, FTP etc.
-
Experience with CI/CD (git, pipeline etc.).
Qualifications
-
Requires a minimum of 15+ years of related experience with a Bachelor of Engineering in ECE/Computers or similar years’ experience with ME/MTech in ECE/Computers.
-
Excellent organizational agility and interpersonal skills throughout the organization.
-
Ability to work flexible hours for better collaboration with international teams.
F5 Inc. is an equal opportunity employer and strongly supports diversity in the workplace. The Job Description is intended to be a general representation of the responsibilities and requirements of the job. However, the description may not be all-inclusive, and responsibilities and requirements are subject to change.
•Design and develop distributed, scalable, high availability web services.
•Work independently completing small to Mid-sized projects while
managing competing priorities in a demanding production environment.
•you will be writing reusable and maintainable quality code.
What You'll Bring
•BS in CS (or equivalent) and 4+ years of hands-on software design and
development experience in building high-availability, scalable backend
systems.
•hands-on coding experience is a must.
•Expertise in working on Java technology stacks in Linux environment -
Java, Spring/ Hibernate, MVC frameworks, TestNG, JUnit.
•Expertise in Database Schema Design, performance efficiency, and SQL
working on leading RDBMS such as MySQL, Oracle, MSSQL, etc.
•Expertise in OOAP, Restful Web Services, and building scalable systems
Preferred Qualifications:
•Experience using Platforms such as Drools, Solr, Memcached, AKKA, Scala,
Kafka etc. is a plus
•Participation in and Contributions to Open-Source Software Development and contributions
Experience:
The candidate should have about 1+ years of experience with design and development in Java/Scala. Experience in algorithm, data-structure, database is mandatory.
Required Skills:
- Java or Scala
- Extensive experience in developing web applications. Should possess good Oops knowledge and be aware of enterprise application design patterns.
- Should have the ability to analyze, design, develop and test complexity of spark job.
- Basic working knowledge of Unix/Linux.
Good To have: -
- Python
- Distributed Computing
- Write a significant amount of code for new and existing databases and related systems
- Scale and own these backend systems and databases
- Ship high-quality code and architecture
- Mentor engineers on the team, developing their skills and helping advance their careers
- Work with the founders to flesh out the future of the product
- Help shape the future of our engineering organization
Requirements
- A passion for working on deeply technical projects and wanting to work on distributed systems, concurrency & parallelism, replication protocols, file systems & correctness
- You have been building applications for 5+ years with C/C++ or Rust and have significant backend, database, or systems-level programming experience
- You have a BS/MS/Ph.D. in a scientific field or equivalent experience
- You want to work in a fast-paced, high-growth startup environment that respects its engineers and customers
- You are comfortable working with a 100% distributed engineering team, collaborating on GitHub, Slack, Zoom, etc. in the open and as a self-starter
Bonus points:
- Experience working on databases or other storage systems internals
- Experience with Apache Arrow, Apache Parquet
- Know how columnar databases work
- Know how to convert an algorithm to use SIMD instructions
- Good knowledge of Linux internals
- You’ve contributed to open-source libraries and actively participate in the development community (blogging, giving talks, meetups, tweeting, etc.)
Job description
We are looking for a passionate Software Development Engineer to develop, test, maintain and document program code in accordance with user requirements and system technical specifications. As a Software Development Engineer, you will work with other Developers and Product Managers throughout the software development life cycle.
Software Development Engineer responsibilities include analysing requirements, define system functionality and writing code in the companys current technology stack. The candidate is expected to be familiar with the software development life cycle (SDLC) process from preliminary system analysis to tests and deployment. Ultimately, the role of the Software Engineer is to build high-quality, innovative and fully performing software that complies with coding standards and technical design. Your goal will be to build efficient programs and systems that serve user needs.
To be qualified for this role, you should hold a minimum of Bachelor’s degree in a relevant field, like Computer Science, IT or Software Engineering. You should be a team player with a keen eye for detailed and problem-solving skills. If you also have experience in SDLC, Agile frameworks and popular coding languages (e.g., Java), strong computer science fundamentals we’d like to meet you.
Years of experience : 2 to 10 years.
Roles & Responsibilities
The overview of this position (based in Chennai, India) includes:
- Develops, enhances, debugs, supports, maintains and tests software applications that support business units or supporting functions. These application program solutions may involve diverse development platforms, software, hardware, technologies and tools.
- Participates in the design, development and implementation of complex applications, often using new technologies.
- Technology professional with experience in designing and managing the implementation of future looking, flexible and reusable, enterprise applications and components.
- Expert in translating business requirements into an application design that includes Data Model, Web Screens, Web Services, and batch processing.
- May provide technical direction and system architecture for individual initiatives.
- Serves as a fully seasoned/proficient technical resource.
- Deploy programs, gather and evaluate user feedback
- Recommend and execute improvements
- Create technical documentation for reference and reporting
- Develop software verification plans and quality assurance procedures
- Document and maintain software functionality
- Ensure software is updated with latest features
- Good interpersonal and technology understanding skills
- Evaluate open-source components and integrate into product pipeline
Skills and Qualifications
- Hands-on experience in analysis, design, coding, and implementation of complex, custom-built applications.
- Strong Java, development skills (JAVA, J2EE, STRUTS, SPRING, Web Services, Eclipse, UI screens, AngularJS, React.JS)
- Excellent debugging skills
- Strong knowledge on databases (MySQL, MSSQL Server and NoSQL databases)
- Understanding of various deployment servers (Apache Tomcat is a must)
- Understanding of OO skills, including strong design patterns knowledge is a must.
- Strong understanding in creating and maintaining web services.
- Understanding of the software development life cycle
- Experience with Implementation and release management activities
- Good understanding of unit/system and functional testing methodology
- Experience working in large transaction-based systems
- Knowledge of software best practices, like Test-Driven Development (TDD) and Continuous Integration (CI)
- Experience documenting technical functions
- Desire to contribute to the wider technical community through collaboration, coaching, and mentoring of other technologists.
- Experience in Linux based systems, development of shell-based scripts.
Job Training
- Training on the coding paradigms, guidelines, frameworks, usage of the applications would be provided by the engineers
- Periodic training sessions would be conducted by the technical architects in terms of technology and skills to be learnt
- Periodic, structured training would be provided on the applications Hours & Environment
- Typical 40 hours of work a week
- Depending on the requirements, work hours may have to be extended during the day, weekend
Roles and responsibilities
-
- Develop well-designed, performant and scalable microservices
- Write reusable, testable, and efficient code that follow software development best practices
- Integrate data storage solutions including databases, key-value stores, blob stores, etc.
- Expose business functionality to frontend/mobile applications and partner systems through secure and scalable APIs.
- Build integrations with 3rd party applications through apis’ to ingest and process data
- Ensure security and data protection aspects within the applications
- Contribute to devops by building CD/CI pipelines to automate releases
- Ensure high performance and availability of distributed systems and applications
- Interact directly with client project team members and operational staff to support live customer deployments and production issues.
- 4+ years of experience in developing applications using Scala and related technologies.
- Thorough understanding of multithreading concepts and async execution using Actor model.
- Thorough understanding of Play framework, GraphQL and GRPC technologies.
- Experience in using DAL and ORM (Object Relational Mapper) libraries for data access.
- Experiencing in developing and hosting APIs and integration with external applications.
- Experience in building data models and repositories using relational and NoSql databases.
- Knowledge of JIRA, Bitbucket and agile methodologies.
- Good to have knowledge of AWS services like Lambda, dynamodb, kinesis and others.
- Understanding of fundamental design principles behind a scalable application.
- Familiarity with event-driven programming and distributed architectures.
- Strong unit test and debugging skills
- Affinity for learning and applying new technologies and solving new problems
- Effective organizational skills with strong attention to detail
- Experience in working with docker is a plus
- Comfortable in working with Unix/Linux environment
- Strong communication skills — both written and verbal












