Resume typos
[pwan.org.git] / content / pages / resume.rst
1 Jude Nagurney
2 #############
3
4 .. :date: 2024-05-02
5 .. :tags: resume
6 .. :category: resume
7 .. :author: Jude N
8 .. :status: published
9
10 | Northern Virginia
11 | jude.nagurney@gmail.com
12
13 =======
14 Summary
15 =======
16
17 | I'm a results-oriented software engineer with a strong focus on agile and devops processes.
18
19 =================
20 Technical Skills:
21 =================
22
23 - **Languages** : Python, C/C++, Ruby, SQL, Bash, lua, Javascript, Typescript
24 - **Tools** : Salt, SELinux, Jenkins, emacs, vi, Jira, git, Gitlab, Docker, podman, Automate Android app, Nagios, Zabbix
25 - **Frameworks** : Django, Angular, Rails, SqlAlchemy, AngularJS
26 - **Operating Systems** : Linux (Ubuntu, Debian, RedHat, CentOS, Rocky, Raspbian), Microsoft Windows
27 - **Databases** : PostgresSQL, MySQL, Oracle, sqlite
28
29 ----
30
31 ===============
32 Work Experience
33 ===============
34
35 ------------------
36 L2T, LLC
37 ------------------
38 | **Herndon Virginia**
39 | **October 2016 - Present**
40
41 -----------------------
42 Staff Software Engineer
43 -----------------------
44 | **February 2023 - Present**
45
46 Solution-oriented Staff Engineer adept at unraveling complex technical challenges, and fostering a culture of proactive problem-solving across projects.
47
48 - Created a series of project-based orientation presentations to facilitate onboarding of new employees.
49
50 - Assumed responsibility for a mission-critical, dormant project, ensuring users had a dedicated point of contact.
51
52 - Assumed responsibility for tagging new software releases and pushing the releases into production.
53
54 - Worked with the leadership at my current company to recognize the staff engineer role.
55
56 - Reviewed software changes to ensure code quality standards were upheld, and that knowledge was shared across the teams.
57
58 ------------------------
59 Senior Software Engineer
60 ------------------------
61 | **October 2016 - February 2023**
62
63 Developed and maintained Python-based software projects
64
65 - Developed an SMS-based solution for the Netgear LTE Mobile Hotspot Router
66 Conducted a deep dive into AT modem commands essential for sending and receiving SMS messages.
67
68 - Developed SMS-based solutions using services such as Twilio, Plivo, Nexmo, and Vitelity.
69
70 - Developed and maintained Salt states and Puppet manifests for various projects.
71
72 - Developed flows with the Automate app for controlling and monitoring Android phones.
73
74 - Wrote a Errbot plugin for reporting open merge requests that were waiting for peer reviews.
75
76 - Worked on porting projects to Raspbian to run on a Raspberry Pi 3 Model B.
77 This included rebuilding packages for the arm7 architecture.
78
79 - Developed and maintained Jenkins continuous integration jobs for multiple projects.
80 Also proactively tracked down the root causes of build failures when the jobs failed.
81
82 - Developed and monitored Nagios monitoring for the development network.
83
84 - Provided Production support and troubleshooting.
85
86 - Provided training and support for junior engineers.
87
88 ---------------------
89 Applied Security Inc.
90 ---------------------
91 | **Reston Virginia**
92 | **March 2010 – October 2016**
93
94 .....................................
95 Software Engineer (Development Group)
96 .....................................
97 | **April 2016 - October 2016**
98
99 Wrote Python code for new projects and extended existing Python code bases
100
101 - Extended a project to dynamically allocate AWS hosts based on system usage.
102
103 - Wrote Python code for sending and receiving SMS messages through Plivo and Twilio
104
105 - Developed and maintained Puppet manifests for development projects
106
107 ..................................
108 Software Engineer (Security Group)
109 ..................................
110 | **March 2014 - April 2016**
111
112 Extended devops practices to cover security reviews
113
114 - Introduced an SELinux strict policy workflow allowing developers to do most of the work associated with setting up a policy.
115 Previously all policy work was done by a single engineer. Now policy work can be distributed across the development team.
116
117 - Continued supporting puppet infrastructure for both the dev and ops environments, especially with respect to security-related changes.
118
119 .....................................
120 Software Engineer (Engineering Group)
121 .....................................
122 | **March 2012 - March 2014**
123
124 Introduced 'infrastructure-as-code' to the ASI Engineering group.
125
126 - Introduced Puppet and Cobbler provisioning into the Engineering workflow, cutting down the time it took from them to bring up new data centers drastically, and increasing consistency across all data centers.
127
128 - Captured the state of the existing Engineering infrastructure in Puppet manifests
129
130 - Introduced git and rpm packaging to internal Engineering projects
131
132 - Liaison between development and operations, especially with respect helping development write code that wouldn't be denied against operation's SELinux policies.
133
134 ........................................
135 Software Engineer (Web Technology Group)
136 ........................................
137 | **March 2010 - March 2012**
138
139 Managed, developed and maintained the Web Technology infrastructure environment.
140
141 - Deployed Puppet across the WT infrastructure machine (DNS, Jenkins, Mercurial, Cobbler) as well as project-specific build server and test machines. Wrote scripts for monitoring the health of the puppet infrastructure.
142
143 - Designed the architecture for a custom internal cloud for quickly building stacks of test VMs based on Puppet, Cobbler, PDNS, and VMWare ESX, and deployed a majority of the components.
144
145 - Extended the number of Jenkins jobs to cover all WT projects, including building rpm/deb packages, publishing the packages to an internal repository, and then installing the packages from the rep to test machines.
146
147 - Wrote and maintained a script to verify Jenkins jobs were configured consistently across WT.
148
149 - Maintained the WT DNS zones and monitored the accuracy of the DNS records over time.
150
151 - Tuned the WT VMWare ESX servers and performed troubleshooting on slow VMs.
152
153 - Developed and maintained the packaging code of WT project
154
155 - Wrote and maintained RPM spec files for CentOS-based projects and Debian build directories for Ubuntu-based projects.
156
157 - Wrote and maintained /etc/init.d/ scripts for many WT projects.
158
159 - Maintained yum and apt package repositories
160
161 - Designed, developed and maintained a shared report building tool.
162
163 - Designed and implemented a Django application for creating ad-hoc reports.
164
165 - Designed and implemented Django and Pylons clients for the reporting tool.
166
167 ----
168
169 -------------
170 NeuStar, Inc.
171 -------------
172 | **Sterling, Virginia**
173 | **March 2009 – February 2010**
174
175 .........................................
176 Software Engineer III (UltraDNS Services)
177 .........................................
178
179 Maintained the UltraDNS XML API and AXFR services.
180
181 - Designed, implemented and deployed a system for maintaining secondary zone TSIG keys
182
183 - Extended and maintained the UltraDNS Python-based XMLRPC API .
184
185 - Extended and maintained the UltraDNS AXFR/IXFR zone transfer utility, written in C++.
186
187 - Extended and maintained a utility for gathering DNS query timing statistics.
188
189 - Worked on setting up consistent build procedures across the UltraDNS product line.
190
191 - Worked closely with off-site engineers in Arizona and India.
192
193 ----
194
195 ---------------
196 StackSafe, Inc.
197 ---------------
198 | **Vienna Virginia**
199 | **November 2006 – January 2009**
200
201 ..............................................
202 Senior Software Engineer (Test Center Product)
203 ..............................................
204
205 Designed, developed and maintained StackSafe's flagship Test Center product, which was awarded the 2008 ITIL Innovation of the Year.
206
207 - Designed, implemented, maintained, and documented the product's TurboGears-based licensing system, including the design of its PostgreSQL database, and the sqlalchemy-migrations needed between releases.
208
209 - Designed, implemented, and maintained the licensing and upgrade portions of the product's Rails-based GUI, including a Ruby-based cron job which would occasionally poll the upgrade server for new releases.
210
211 - Designed, implemented, and maintained the product's Ruby-based command line interface.
212
213 - Developed and maintained the products Python-based storage daemon, which was capable of surfacing a virtual machines QEMU disk image over the network by using qemu-nbd and nbd-client.
214
215 - Helped develop and test the product's Python-based management daemon which was responsible for starting and stopping virtual machines.
216
217 - Performed root cause analysis after build failures, sometimes having to dig pretty deep into code I was not written , including Python, C++, Ruby , and Perl code and bash scripts Many times these failures turned out to be locking/synchronization issues between various system components.
218
219 - Maintained the Debian packages and apt-get repository using reprepro.
220
221 - Implemented and maintained the installation scripts associated with the products deb-based packaging.
222
223 - Customized the Debian install process to install our product along with the normal Ubuntu server installation, and to verify that the host machine supported virtualization. Since the Debian install process is not documented very well, this usually involved having to walk through the Debian-installer source to find out how it worked.
224
225 - Designed, implemented and maintained the product's build environment, including a Python based nightly-build script which built all the source, loaded it onto the appropriate test machines, and run the smoke tests.
226
227 - Acted as the primary QA engineer until a full time tester was hired, leading bi-weekly bug scrubs, and making sure all the outstanding issues were resolved before cutting a release.
228
229 - Championed unit testing as an integral part of the normal development environment
230
231 - Participated in code reviews, and monitored the SVN commit notices for questionable commits, especially after build failures.
232
233 - Used Puppet to maintain the configuration Engineering lab's collection of build and test machines.
234
235 - Submitted patches and bugs against the open source projects we were using on the product.
236
237 - Worked closely with off-site engineers in California and New Jersey.
238
239 ----
240
241 -------------
242 Cisco Systems
243 -------------
244 | **Herndon Virginia**
245 | **November 2000 – September 2006**
246
247 ..........................
248 Lead Engineer(LMP Feature)
249 ..........................
250
251 Led development LMP (RFC 4204) feature on the 15454DWDM multi-service transport platform.
252
253 - Wrote design document and test plans for the LMP feature.
254
255 - Implemented the IDL, CORBA layer, and TL1 (Transaction Language 1 – a widely used telecommunications management protocol) interface code for LMP feature
256
257 - Tracked incoming defect reports for the LMP implementation
258
259 - Participated in successful interoperability tests with the Calient PXC at the KDDI research labs outside Tokyo. Fixed and retested minor issues on-site during testing.. KDDI was very impressed with the quick turnaround time, saying it had taken a competitor months to make similar changes.
260
261 - Trained support engineers in the LMP feature during technology transfer
262
263 .................................
264 Lead Engineer (15600 TL1 Feature)
265 .................................
266
267 Led development for the TL1 interface for the 15600 multi-service transport platform.
268
269 - Assigned priorities for TL1-related bugs on the 15600 platform to a team of 7 engineers located in California, Texas, Italy, and India. Remove roadblocks associated with fixing the problems. Adjusted workloads to keep engineers from becoming swamped or burned out. Participated in most code reviews related to the 15600’s TL1 interface.
270
271 - Removed 100K SLOC by aligning divergent code bases between the 15454 and 15600 platforms. The common code base freed up engineers who had previously been dedicated to either the 15454 or 15600. Fixing a bug or extending one platform also ended up being reflected on the other platform as well.
272
273 - Worked closely with other Cisco sites in Texas, North Carolina, and California, as well as offshore developers in India, and Italy.
274
275 ________________________________________________
276 Software Engineer(15327, 15454, 15600 platforms)
277 ________________________________________________
278
279 Provided full life cycle support across a number of Cisco’s multi-service transport platforms
280
281 - Wrote and maintained an extensive TL1 regression test suite in Expect. The test suite originally was meant to provide early testing for OSMINE deliverables. The tests were so successful, they began being used as a stability metric after branch syncs or merges. Before the tests were available, it might be weeks before a sync error was discovered. After the tests were implemented, sync errors were noticed within a day.
282
283 - Implemented Telcordia’s COPY-RFILE feature. This was the first time the feature was developed by a vendor. Worked closely with Telcordia engineers to work out the kinks in their specification.
284
285 - Resolved 800+ defects over 5 years, making me on of the top 5 contributors on the team. Wrote 700+ defect reports over 5 years despite not being a QA tester. Posted more defects than most of the dedicated testers.
286
287 - Participated in multiple OSMINE certification cycles. The OSMINE testing cycle forced code delivery to Telcordia months before the software went through formal QA. This test suite guaranteed high quality software was delivered despite the lack of QA. OSMINE certification cost ~6M, so an unsuccessful certification effort would have been extremely expensive.
288
289 - Had to carry a pager once or twice a year on a rotating basis in case any serious problems happened in the field that the regular support engineers couldn't resolve.
290
291 ----
292
293 ----
294 CACI
295 ----
296 | **Fairfax, Virginia**
297 | **March 1998 – November 2000**
298
299 ....................................
300 Senior Systems Analyst / Task Leader
301 ....................................
302
303 _________________________
304 Web Invoice System (WinS)
305 _________________________
306
307 Developed Oracle stored procedures for digital signature application
308
309 - Migrated embedded SQL in a Java servlets application to use stored procedures, allowing the database developers to focus on the SQL code, and the Java developers to focus on the servlet code.
310
311 - Developed regression test plan for stored procedures.
312
313 ___________
314 DIFMS/NIMMS
315 ___________
316
317 Developed the project's C++ framework, and provided custom tools to support various aspects of the life cycle on a COBOL reengineering project
318
319 - Developed framework for server side batches in C++
320
321 - Implemented an engine for translating Rational Rose class diagrams into Oracle DDL scripts
322
323 - Implemented a Microsoft Word template for capturing business rules which were then ported to Rational Rose
324
325 - Implemented a database monitoring tool in Perl to ensure various design decisions were being maintained in the database schema
326
327 - Implemented a regression test system for the batches which was incorporated into the nightly builds.
328
329 ----
330
331 ----------------------
332 RS Information Systems
333 ----------------------
334 | **McLean Virginia**
335 | **June 1995 – February 1998**
336
337 ....................................
338 Senior Systems Analyst / Task Leader
339 ....................................
340
341 ____________________________________________________
342 Midwest Electronic One-Stop Shopping Service (MEOSS)
343 ____________________________________________________
344
345 Developed a credentialing and permitting system used by the trucking industry and state motor vehicle departments in seven Midwestern states.
346
347 - Designed and implemented the mapping between the database schema and the EDI documents, including the design of the database schema
348
349 - Developed the installation process for state and industry versions of the software.
350
351 - Lead a team of four PowerBuilder developers
352
353 __________________________________________________
354 Virginia/Maryland CVISN Pilot Credentialing System
355 __________________________________________________
356
357 Ported the MEOSS Credentialing System to the states of Virginia and Maryland
358
359 - Added client/server capabilities to the state portion of the MEOSS credentialing system
360
361 - Developed a direct-dial communications subsystem to bypass VAN charges.
362
363 - Developed a Perl script to diagnose common problems in ODBC.INI files.
364
365 ____________________________________________________
366 IFTA Clearinghouse / Quarterly Tax Submission System
367 ____________________________________________________
368
369 Developed a system for gathering fuel tax data from states.
370
371 - Implemented the mapping between the database schema and the ANSI X12 813 EDI file format.
372
373 - Developed the system for importing EDI files into a DB2 database.
374
375 - Lead a team of 2 C++ developers
376
377 - Developed the VAN communication system for sending and receiving EDI files
378
379 ______________________________________________
380 Hazardous Material Registration System (HARPS)
381 ______________________________________________
382
383 Developed a system allowing states to share hazardous material registration information.
384
385 - Gathered system requirements and wrote the technical specification document.
386
387 - Mapped database schema to the applicable ANSI X12 EDI formats.
388
389 ----
390
391 ==========
392 Education:
393 ==========
394
395 ----------------------------------------------------------------------
396 George Mason University, Information Technology and Engineering School
397 ----------------------------------------------------------------------
398 Masters of Science / Computer Science / May 2006
399
400 ------------------------------------------
401 Cornell University, College of Engineering
402 ------------------------------------------
403 Bachelor of Science / Computer Science / May 1990
404
405
406 =====================
407 Open Source Projects:
408 =====================
409
410 Certmaster (http://github.com/jude/certmaster) (2015-Present)
411 - Forked the Fedora Certmaster project adding support for multiple CAs and hash functions other than sha1
412
413 Haskell Augeas FFI Bindings (http://trac.haskell.org/augeas/ (2009-Present)
414
415 - Provided foreign function interface bindings so Haskell users could easily use the Augeas library
416
417 python-module-for puppet (http://github.com/jude/python-module-for-puppet/tree/master) 2009
418
419 - Extended Python packaging support in Puppet to include installation of specific package versions
420
421
422 Pwan OCL Library: (http://sourceforge.net/projects/pwan) (1999-2000)
423
424 - Developed a YACC parser for the UML Object Constraint Language version 1.3
425
426 Various other patches on github (https://github.com/jude?tab=activity) (2009-Present)
427
428