(resume update)
[pwan.org.git] / content / pages / resume.rst
1 Jude Nagurney
2 #############
3
4 :date: 2013-09-13
5 :tags: resume
6 :category: resume
7 :author: Jude N
8 :status: hidden
9
10 | 1136 Forest Edge Drive
11 | Reston, Virginia, 20190
12 | Phone: (703) 831-7492
13 | jude.nagurney@gmail.com
14
15 =======
16 Summary
17 =======
18
19 | I'm a results-oriented software engineer with a strong focus on agile and devops-related processes.
20
21 =================
22 Technical Skllls:
23 =================
24
25 - **Languages** : Python, C/C++, Ruby, Perl, Java, SQL, Bash, Expect, Tcl/Tk, UML OCL, COBOL
26 - **Tools** : Puppet, Cobbler, Jenkins, emacs, vi, Jira, Bugzilla, git, Mercurial, Subversion, Jira, Crucible, Reviewboard, xUnit, SELinux
27 - **Frameworks** : Django, Pylons, Rails, TurboGears, SqlAlchemy
28 - **Operating Systems** : Linux (Ubuntu, RedHat, CentOS), Microsoft Windows, vxWorks, Solaris
29 - **Databases** : PostgresSQL, MySQL, Oracle, DB2
30 - **Standards Expertise** : SONET, SDH, TL1, LMP
31
32 ----
33
34 ===============
35 Work Experience
36 ===============
37
38 ---------------------
39 Applied Security Inc.
40 ---------------------
41 | **Reston Virginia**
42 | **March 2010 – Present**
43
44 ..................................
45 Software Engineer (Security Group)
46 ..................................
47
48 Extended devops practices to cover security reviews
49
50 - Introduced an SELinux strict policy workflow allowing developers to do most of the work associated with setting up a policy.
51 Previously all policy work was done by a single engineer. Now policy work can be distributed across the development team.
52
53 - Continued supporting puppet infrstructure for both the dev and ops environments, especially with respect to security-related changes.
54
55 .....................................
56 Software Engineer (Engineering Group)
57 .....................................
58
59 Introduced 'infrastructure-as-code' to the ASI Engineering group.
60
61 - Introduced Puppet and Cobbler provisioning into the Engineering workflow, cutting down the time it took from them to bring up new data centers drasticly, and increasing consistency across all data centers.
62
63 - Captured the state of the existing Engineering infrastructure in Puppet manifests
64
65 - Introduced git and rpm packaging to internal Engineering projects
66
67 - Liason between development and operations, especially with respect helping development write code that wouldn't be denied against operation's SELinux policies.
68
69 ........................................
70 Software Engineer (Web Technology Group)
71 ........................................
72
73 Managed, developed and maintained the Web Technology infrastructure environment.
74
75 - 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.
76
77 - 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.
78
79 - 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.
80
81 - Wrote and maintained a script to verify Jenkins jobs were configured consistently across WT.
82
83 - Maintained the WT DNS zones and monitored the accuracy of the DNS records over time.
84
85 - Tuned the WT VMWare ESX servers and performed troubleshooting on slow VMs.
86
87 - Developed and maintained the packaging code of WT project
88
89 - Wrote and maintained RPM spec files for CentOS-based projects and Debian build directories for Ubuntu-based projects.
90
91 - Wrote and maintained /etc/init.d/ scripts for many WT projects.
92
93 - Maintained yum and apt package repositories
94
95 - Designed, developed and maintained a shared report building tool.
96
97 - Designed and implemented a Django application for creating ad-hoc reports.
98
99 - Designed and implemented Django and Pylons clients for the reporting tool.
100
101 ----
102
103 -------------
104 NeuStar, Inc.
105 -------------
106 | **Sterling, Virginia**
107 | **March 2009 – February 2010**
108
109 .........................................
110 Software Engineer III (UltraDNS Services)
111 .........................................
112
113 Maintained the UltraDNS XML API and AXFR services.
114
115 - Designed, implemented and deployed a system for maintaining secondary zone TSIG keys
116
117 - Extended and maintained the UltraDNS Python-based XMLRPC API .
118
119 - Extended and maintained the UltraDNS AXFR/IXFR zone transfer utility, written in C++.
120
121 - Extended and maintained a utility for gathering FNS query timing statistics.
122
123 - Worked on setting up consistent build procedures across the UltraDNS product line.
124
125 - Worked closely with off-site engineers in Arizona and India.
126
127 ----
128
129 ---------------
130 StackSafe, Inc.
131 ---------------
132 | **Vienna Virginia**
133 | **November 2006 – January 2009**
134
135 ..............................................
136 Senior Software Engineer (Test Center Product)
137 ..............................................
138
139 Designed, developed and maintained StackSafe's flagship Test Center product, which was awarded the 2008 ITIL Innovation of the Year.
140
141 - 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.
142
143 - 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.
144
145 - Designed, implemented, and maintained the product's Ruby-based command line interface.
146
147 - 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.
148
149 - Helped develop and test the product's Python-based management daemon which was responsible for starting and stopping virtual machines.
150
151 - 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.
152
153 - Maintained the Debian packages and apt-get repository using reprepro.
154
155 - Implemented and maintained the installation scripts associated with the products deb-based packaging.
156
157 - 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.
158
159 - 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.
160
161 - 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.
162
163 - Championed unit testing as an integral part of the normal development environment
164
165 - Participated in code reviews, and monitored the SVN commit notices for questionable commits, especially after build failures.
166
167 - Used Puppet to maintain the configuration Engineering lab's collection of build and test machines.
168
169 - Submitted patches and bugs against the open source projects we were using on the product.
170
171 - Worked closely with off-site engineers in California and New Jersey.
172
173 ----
174
175 -------------
176 Cisco Systems
177 -------------
178 | **Herndon Virginia**
179 | **November 2000 – September 2006**
180
181 ..........................
182 Lead Engineer(LMP Feature)
183 ..........................
184
185 Led development LMP (RFC 4204) feature on the 15454DWDM multi-service transport platform.
186
187 - Wrote design document and test plans for the LMP feature.
188
189 - Implemented the IDL, CORBA layer, and TL1 (Transaction Language 1 – a widely used telecommunications management protocol) interface code for LMP feature
190
191 - Tracked incoming defect reports for the LMP implementation
192
193 - 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.
194
195 - Trained support engineers in the LMP feature during technology transfer
196
197 .................................
198 Lead Engineer (15600 TL1 Feature)
199 .................................
200
201 Led development for the TL1 interface for the 15600 multi-service transport platform.
202
203 - 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.
204
205 - 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.
206
207 - Worked closely with other Cisco sites in Texas, North Carolina, and California, as well as offshore developers in India, and Italy.
208
209 ________________________________________________
210 Software Engineer(15327, 15454, 15600 platforms)
211 ________________________________________________
212
213 Provided full life cycle support across a number of Cisco’s multi-service transport platforms
214
215 - 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.
216
217 - 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.
218
219 - 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.
220
221 - 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.
222
223 - 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.
224
225 ----
226
227 ----
228 CACI
229 ----
230 | **Fairfax, Virginia**
231 | **March 1998 – November 2000**
232
233 ....................................
234 Senior Systems Analyst / Task Leader
235 ....................................
236
237 _________________________
238 Web Invoice System (WinS)
239 _________________________
240
241 Developed Oracle stored procedures for digital signature application
242
243 - 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.
244
245 - Developed regression test plan for stored procedures.
246
247 ___________
248 DIFMS/NIMMS
249 ___________
250
251 Developed the project's C++ framework, and provided custom tools to support various aspects of the life cycle on a COBOL reengineering project
252
253 - Developed framework for server side batches in C++
254
255 - Implemented an engine for translating Rational Rose class diagrams into Oracle DDL scripts
256
257 - Implemented a Microsoft Word template for capturing business rules which were then ported to Rational Rose
258
259 - Implemented a database monitoring tool in Perl to ensure various design decisions were being maintained in the database schema
260
261 - Implemented a regression test system for the batches which was incorporated into the nightly builds.
262
263 ----
264
265 ----------------------
266 RS Information Systems
267 ----------------------
268 | **McLean Virginia**
269 | **June 1995 – February 1998**
270
271 ....................................
272 Senior Systems Analyst / Task Leader
273 ....................................
274
275 ____________________________________________________
276 Midwest Electronic One-Stop Shopping Service (MEOSS)
277 ____________________________________________________
278
279 Developed a credentialing and permitting system used by the trucking industry and state motor vehicle departments in seven Midwestern states.
280
281 - Designed and implemented the mapping between the database schema and the EDI documents, including the design of the database schema
282
283 - Developed the installation process for state and industry versions of the software.
284
285 - Lead a team of four PowerBuilder developers
286
287 __________________________________________________
288 Virginia/Maryland CVISN Pilot Credentialing System
289 __________________________________________________
290
291 Ported the MEOSS Credentialing System to the states of Virginia and Maryland
292
293 - Added client/server capabilities to the state portion of the MEOSS credentialing system
294
295 - Developed a direct-dial communications subsystem to bypass VAN charges.
296
297 - Developed a Perl script to diagnose common problems in ODBC.INI files.
298
299 ____________________________________________________
300 IFTA Clearinghouse / Quarterly Tax Submission System
301 ____________________________________________________
302
303 Developed a system for gathering fuel tax data from states.
304
305 - Implemented the mapping between the database schema and the ANSI X12 813 EDI file format.
306
307 - Developed the system for importing EDI files into a DB2 database.
308
309 - Lead a team of 2 C++ developers
310
311 - Developed the VAN communication system for sending and receiving EDI files
312
313 ______________________________________________
314 Hazardous Material Registration System (HARPS)
315 ______________________________________________
316
317 Developed a system allowing states to share hazardous material registration information.
318
319 - Gathered system requirements and wrote the technical specification document.
320
321 - Mapped database schema to the applicable ANSI X12 EDI formats.
322
323 ----
324
325 ==========
326 Education:
327 ==========
328
329 ----------------------------------------------------------------------
330 George Mason University, Information Technology and Engineering School
331 ----------------------------------------------------------------------
332 Masters of Science / Systems Engineering / Expected Graduation May 2014
333 Masters of Science / Computer Science / May 2006
334
335 ------------------------------------------
336 Cornell University, College of Engineering
337 ------------------------------------------
338 Bachelor of Science / Computer Scuience / May 1990
339
340
341 =====================
342 Open Source Projects:
343 =====================
344
345 Haskell Augeas FFI Bindings (http://trac.haskell.org/augeas/ (2009-Present)
346
347 - Provided foreign function interface bindings so Haskell users could easily use the Augeas library
348
349 python-module-for puppet (http://github.com/jude/python-module-for-puppet/tree/master) 2009
350
351 - Extended Python packaging support in Puppet to include installation of specific package versions
352
353
354 Pwan OCL Library: (http://sourceforge.net/projects/pwan) (1999-2000)
355
356 - Developed a YACC parser for the UML Object Constraint Language version 1.3
357
358 Various other patches on github (https://github.com/jude?tab=activity) (2009-Present)
359
360
361
362
363
364