- Bachelor's Degree
- Master's Degree
- Software Development
SENIOR SOFTWARE ENGINEER
A Senior Software Engineer will develop, maintain and support new or existing software products while evangelizing and applying the best practices of software development. Responsibilities include the ability to work independently and as part of the leadership group of a larger team to deliver quality solutions across all phases and layers of the software lifecycle.
- Meet or exceed test coverage goals set for the project through creation of unit and functional tests
- Minimize the number of production escapes
- Support user acceptance testing
- Support or conduct system testing, performance, volume, and stress testing
Product Reliability & Response:
- Collaborate with business and UX team to create appropriate application User interfaces
- Assist with mock-up's, user interface design
- Incorporate UX components into application
- Provide feedback to UX team
- Ensure system can meet or exceed defined SLA's
- When primary on-call respond to pages within 15min, and resolve or escalate issue as necessary
- Resolve production issues and communicate resolution to appropriate stakeholders
- Complete stories within estimates and with quality to ensure release dates are met
- Conduct necessary analysis, design and prepare technical documentation
- Estimate story sizes and task out development for a given story
- Follow the Railinc development process and suggest improvements
- Work with infrastructure services to make configuration changes and deploy applications
- Evangelize Railinc common practices and development procedures
- Exhibit technical leadership in given technical subject domain
- Identify new technologies and approaches that may improve our quality, productivity, and capabilities
- Mentor peers and junior developers
- Delegate, and coordinate functional development tasks as needed
- Drive innovation in the development, release and operations processes
- Coverage, Production escapes
- Customer satisfaction score
- System SLA, # of outages
- Release scope, schedule, budget
- Secondary tasks and duties (desirable, but not primary focus of position)
- Miscellaneous duties as assigned
- Collaboration: We collaborate with our teams and our customers to get the job done, respecting individual ideas and contributions and moving forward in pursuit of shared goals.
- Results: We deliver on our promises to create value for the freight rail industry through talented people, good ideas, business leadership, and great technology.
- Service: We serve the changing needs of our customers and our industry to enhance the value they bring to our community, the environment and our economy.
- Minimum Requirements
- Works under deadlines and subject to heavy project load
- Ability to provide technical expertise to others and explain concepts with technical staff
- Ability to operate independent of supervision with extreme accuracy and attention to detail.
- Experience in defining requirements, designing and illustrating process flows, and training users.
- Ability to communicate and follow up professionally (written and oral) both internally and externally within the organization – including documentation of application requirements
- Demonstrated ability to identify and resolve issues effectively
- Ability to mentor others
- 7 years of Java/J2EE Web Development Experience.
- Comfortable with front-end, middle tier and backend technologies.
- Expertise in front-end technologies like Struts, Spring MVC or equivalent, hands on experience in these technologies a must in last 2 years.
- Expertise in Spring and hibernate or equivalent ORM, hands on experience in these technologies a must in last 2 years.
- Web Service SOAP/REST expertise, especially as a service provider.
- MDB/MDP/Broker/Service Bus MQ technologies development experience in last 2-3 years is a plus. If the candidate is just familiar with MQ or has minimal experience, needs to be really strong in specific front-end, backend technologies of Struts/Spring/hibernate.
- Expertise using Tomcat/Web Sphere servers
- Experience with Agile software development methodology
- Strong understanding of deployment processes, deployment environments, production application trouble shooting techniques etc. too.
- Bachelors degree in Computer Science or equivalent field desired and 7 years of technical experience
- Master’s Degree in Computer Science or equivalent field desired and 3 years of technical experience
- Sedentary work: assignment involves sitting at workstation (desk) most of the time (up to 8 hours) with only occasional walking and/or standing
- Keyboarding: Primarily using fingers for typing
- Talking: Expressing or communicating verbally through use of spoken words (accurately conveying detailed or important spoken instructions to others)
- Hearing: Ability to receive detailed information through oral communication and to make discriminations in sound.
- Visual: Through close visual acuity, required to perform activities such as: preparing and analyzing data and figures; transcribing; viewing computer terminal; extensive reading (with or without correction)
- Environment: work is performed within an office setting and therefore no substantial exposure to adverse environmental conditions (i.e. extreme heat, cold, noise, etc.)