Software Developer

PrishanTek, Inc.

$90K — $120K *
Information Technology
5 - 7 years of experience
Job Overview by Ladders

Qualifications

  • 5+ years of software development experience
  • Bachelor's degree in a related field
  • Strong understanding of modern architectural principles
  • Ability to read, debug and assess codebases across multiple programming languages
  • Familiarity with systems administration and cloud concepts
  • Experience with secure software development and vulnerability assessment
  • Excellent communication and leadership skills

Responsibilities

  • Develop and implement modern software architectures for various projects
  • Organize and structure large codebases while ensuring quality standards
  • Analyze and debug existing code to improve functionality and efficiency
  • Manage incident resolution and coordinate team investigations during technical crises
  • Champion and adhere to effective change management processes
  • Ensure optimal developer productivity through best engineering practices
  • Conduct vulnerability assessments and support penetration testing efforts

Benefits

  • Opportunity to work on high-impact projects within a prestigious government agency
  • Collaborative team environment with top-tier talent in technology and defense
  • Engagement in mission-critical assignments that support national security
  • Possibility for future government roles, enhancing career trajectory
  • Work within a culture that values innovation and industry best practices
Full Job Description
Job Description

Modern Architecture
This is the skill where you know that web nodes should be stateless, put multiple web nodes behind a load balancer, on an RDBMS you can create read replicas easily, use memcached for object caching, use S3 for blob storage, and multi-region synchronous replication is a very hard problem. For bonus points things like cluster scheduling to map individual processes onto multiple machines.

Programming
At low levels of experience, this is the skill for actual ability to implement, as one might measure in a coding sample. At higher levels of experience is the ability to organize and structure large amounts of code, create meaningful abstractions, manage large amounts of business logic and design the accompanying data structures.

Code Reading and Debugging
This is the ability to be given a code base with limited documentation and figure out where various things are implemented and assist in debugging it. This includes reading (if not writing) level familiarity with multiple programming languages and paradigms.

Production

Systems and Networking
This is knowledge about computer systems, such as:
Typical hardware components, OS internals, systems administration, configuration, and the use of common tools to explore and configure the workings of a production system. Includes networking and an understanding of how systems communicate over IP, TCP, HTTP, and the function of firewalls and load balancers.
Includes cloud concepts like containers, Docker, VPC, etc.
Troubleshooting
This is the ability to effectively troubleshoot problems. It requires scientific thinking and a methodical approach to identifying problems by developing hypotheses, testing those hypotheses, and narrowing down the root cause of an issue.
This includes an understanding of monitoring and logging systems, and troubleshooting commands like tcpdump , strace , netstat , etc.
Incident and Change Management
This is the ability to effectively manage incidents and risk. It involves understanding roles during an incident and how to lead large-scale incident resolution by spawning and coordinating investigation teams. It also requires the ability to effectively communicate with non-technical stakeholders, including the writing of good post-mortems. It also includes an understanding of risk and how change management systems can be effectively used to mitigate/balance risk against agile development.

Developer Productivity

Engineering Practices
This is experience with successfully shepherding code from development up to production at least monthly in a team setting. It includes knowledge of key practices such as code reviews, automated testing (unit & end-to-end), single-command demo set up, continuous builds and management of release branches. It may also include basic strategies for mitigating risk during deployment including canarying and staged activation of risky features.
Development Tools
This is knowledge of the tools necessary to make the above happen with regard to IDEs, the build itself, automated build tools, source control, and dev documentation.
This includes the ability to bootstrap that in an environment where it does not exist.
Testing
This is the knowledge of how to test efficiently - where to write automated tests, where to write manual tests, how to raise quality of a team to have less defects.
This includes the ability to bootstrap that in an environment where it does not exist.

Teamwork

Team Playing
Persists in the face of resistance and brings up the people around them to also persist, whether due to mission-driven stubbornness or a friendly, positive attitude. Includes working with others and sharing credit.
Communication
Ability to understand others, empathize, recognize incentives, and clearly articulate technical tradeoffs to non-technical individuals.
Leadership
Experience managing direct reports, experience indirectly managing non-reports through soft leadership.

Security and Privacy

Security Engineering
Can build systems securely. Understands the security pitfalls of languages and technologies and how to check assumptions and code securely. Understands how to
minimize and protect sensitive information in software and infrastructure.
Vulnerability Assessment
Can model threats and assess risk. Knows appropriate mitigation strategies and can balance risk, mitigation, and mission. (Blue team.)
Penetration Testing
Can conduct penetration testing and red team exercises. (Red team.)
Cryptography
Understands how to protect and authenticate information with cryptography.
Understands how identity systems work and the role cryptography plays in it

Qualifications

Software Development experience - 5+ years
Bachelor's Degree
Active clearance (preferred but not required)

Additional Information

Please note:
**You will be a direct employee of the government and will not be a PrishanTek employee.**

Similar Jobs

More Jobs at PrishanTek, Inc.

  • Software Developer
    $90K — $130K *
    Washington, DC 20011 (District Of Columbia County)
    Information Technology
    In-Person
  • Software Developer
    $90K — $120K *
    Augusta, GA 30906 (Richmond County)
    Information Technology
    In-Person
  • Product Manager
    $90K — $130K *
    Washington, DC 20011 (District Of Columbia County)
    Aerospace & Defense
    In-Person

More Information Technology Jobs

Find similar Software Developer jobs: